finfree-bybit-ticker/app.py

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