import app.telegram.database.requests as rq import logging.config from logger_helper.logger_helper import LOGGING_CONFIG from pybit import exceptions from pybit.unified_trading import HTTP logging.config.dictConfig(LOGGING_CONFIG) logger = logging.getLogger("price_symbol") async def get_price(tg_id: int, symbol: str) -> float: """ Асинхронно получает текущую цену символа пользователя на Bybit. :param tg_id: int - ID пользователя Telegram :return: float - текущая цена символа """ api_key = await rq.get_bybit_api_key(tg_id) secret_key = await rq.get_bybit_secret_key(tg_id) client = HTTP( api_key=api_key, api_secret=secret_key ) try: price = float( client.get_tickers(category='linear', symbol=symbol).get('result').get('list')[0].get('ask1Price')) return price except exceptions.InvalidRequestError as e: logger.error(f"Ошибка при получении цены: {e}") return 1.0