30 lines
824 B
Python
30 lines
824 B
Python
from time import sleep
|
|
from messages.DbConnector import DbConnector
|
|
from messages.Condition import Condition
|
|
from messages.Bybit import Bybit
|
|
from messages.TickerData import TickerData
|
|
|
|
def handle_tickerdata(data: TickerData, condition: Condition):
|
|
result = False
|
|
|
|
if condition.condition == "lt":
|
|
result = Condition.lower_than(condition.value, data.lastPrice)
|
|
elif condition.condition == "gt":
|
|
result = Condition.greater_than(condition.value, data.lastPrice)
|
|
|
|
if result:
|
|
DbConnector.fulfill_condition(condition.id)
|
|
|
|
print(data.symbol + ": " + data.lastPrice)
|
|
|
|
def main():
|
|
DbConnector.watch_conditions(lambda c:
|
|
Bybit.subscribe_symbol(c.symbol, lambda d:
|
|
handle_tickerdata(d, c)))
|
|
|
|
while True:
|
|
sleep(1)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|