The entire database has been changed to PostgresSQL. The entire code has been updated.
This commit is contained in:
35
app/bybit/get_functions/get_tickers.py
Normal file
35
app/bybit/get_functions/get_tickers.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import logging.config
|
||||
|
||||
from app.bybit import get_bybit_client
|
||||
from app.bybit.logger_bybit.logger_bybit import LOGGING_CONFIG
|
||||
|
||||
logging.config.dictConfig(LOGGING_CONFIG)
|
||||
logger = logging.getLogger("get_tickers")
|
||||
|
||||
|
||||
async def get_tickers(tg_id: int, symbol: str) -> dict | None:
|
||||
"""
|
||||
Get tickers
|
||||
:param tg_id: int Telegram ID
|
||||
:param symbol: str Symbol
|
||||
:return: dict
|
||||
"""
|
||||
try:
|
||||
client = await get_bybit_client(tg_id=tg_id)
|
||||
response = client.get_tickers(category="linear", symbol=symbol)
|
||||
if response["retCode"] == 0:
|
||||
tickers = response["result"]["list"]
|
||||
# USDT quoteCoin
|
||||
usdt_tickers = [t for t in tickers if t.get("symbol", "").endswith("USDT")]
|
||||
if usdt_tickers:
|
||||
logger.info("USDT tickers for user: %s", tg_id)
|
||||
return usdt_tickers[0]
|
||||
else:
|
||||
logger.warning("No USDT tickers found for user: %s", tg_id)
|
||||
return None
|
||||
else:
|
||||
logger.error("Error getting price: %s", tg_id)
|
||||
return None
|
||||
except Exception as e:
|
||||
logger.error("Error connecting to Bybit for user %s: %s", tg_id, e)
|
||||
return None
|
Reference in New Issue
Block a user