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()