Added API key verification for permissions
This commit is contained in:
@@ -38,6 +38,12 @@ async def start_trading(callback_query: CallbackQuery, state: FSMContext) -> Non
|
||||
deals = await get_active_positions_by_symbol(
|
||||
tg_id=callback_query.from_user.id, symbol=symbol
|
||||
)
|
||||
if deals == "Invalid API key permissions":
|
||||
await callback_query.answer(
|
||||
text="API ключ не имеет достаточных прав для запуска торговли",
|
||||
)
|
||||
return
|
||||
|
||||
position = next((d for d in deals if d.get("symbol") == symbol), None)
|
||||
|
||||
if position:
|
||||
@@ -109,7 +115,9 @@ async def start_trading(callback_query: CallbackQuery, state: FSMContext) -> Non
|
||||
"The number of contracts exceeds minimum limit allowed": "️️Лимит ставки меньше минимально допустимого",
|
||||
"Order placement failed as your position may exceed the max":
|
||||
"Не удалось разместить ордер, так как ваша позиция может превышать максимальный лимит."
|
||||
"Пожалуйста, уменьшите кредитное плечо, чтобы увеличить максимальное значение"
|
||||
"Пожалуйста, уменьшите кредитное плечо, чтобы увеличить максимальное значение",
|
||||
"Permission denied, please check your API key permissions": "API ключ не имеет достаточных прав для запуска торговли"
|
||||
|
||||
}
|
||||
|
||||
if res == "OK":
|
||||
@@ -131,7 +139,16 @@ async def start_trading(callback_query: CallbackQuery, state: FSMContext) -> Non
|
||||
await add_start_task_merged(user_id=callback_query.from_user.id, task=task)
|
||||
|
||||
except Exception as e:
|
||||
await callback_query.answer(text="Произошла ошибка при запуске торговли")
|
||||
error_text = str(e)
|
||||
known_errors = {
|
||||
"Permission denied, please check your API key permissions": "API ключ не имеет достаточных прав для запуска торговли"
|
||||
|
||||
}
|
||||
for key, msg in known_errors.items():
|
||||
if key in error_text:
|
||||
await callback_query.answer(msg)
|
||||
else:
|
||||
await callback_query.answer(text="Произошла ошибка при запуске торговли")
|
||||
logger.error(
|
||||
"Error processing command start_trading for user %s: %s",
|
||||
callback_query.from_user.id,
|
||||
|
||||
Reference in New Issue
Block a user