forked from kodorvan/stcs
Added documentation
This commit is contained in:
@@ -1,24 +1,33 @@
|
||||
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
|
||||
|
||||
client = HTTP()
|
||||
logging.config.dictConfig(LOGGING_CONFIG)
|
||||
logger = logging.getLogger("price_symbol")
|
||||
|
||||
async def get_price(tg_id, message):
|
||||
|
||||
async def get_price(tg_id: int) -> 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)
|
||||
SYMBOL = await rq.get_symbol(tg_id)
|
||||
symbol = await rq.get_symbol(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'))
|
||||
|
||||
try:
|
||||
price = float(
|
||||
client.get_tickers(category='linear', symbol=symbol).get('result').get('list')[0].get('ask1Price'))
|
||||
return price
|
||||
except exceptions.InvalidRequestError as e:
|
||||
await message.answer('Неверно указана торговая пара')
|
||||
return 1.0
|
||||
logger.error(f"Ошибка при получении цены: {e}")
|
||||
return 1.0
|
||||
|
Reference in New Issue
Block a user