forked from kodorvan/stcs
Added API key verification for permissions
This commit is contained in:
@@ -38,7 +38,7 @@ async def get_active_positions(tg_id: int) -> list | None:
|
||||
return None
|
||||
|
||||
|
||||
async def get_active_positions_by_symbol(tg_id: int, symbol: str) -> dict | None:
|
||||
async def get_active_positions_by_symbol(tg_id: int, symbol: str):
|
||||
"""
|
||||
Get active positions for a user by symbol
|
||||
"""
|
||||
@@ -62,8 +62,12 @@ async def get_active_positions_by_symbol(tg_id: int, symbol: str) -> dict | None
|
||||
)
|
||||
return None
|
||||
except Exception as e:
|
||||
logger.error("Error getting active positions for user %s: %s", tg_id, e)
|
||||
return None
|
||||
errors = str(e)
|
||||
if errors.startswith("Permission denied, please check your API key permissions"):
|
||||
return "Invalid API key permissions"
|
||||
else:
|
||||
logger.error("Error getting active positions for user %s: %s", tg_id, e)
|
||||
return None
|
||||
|
||||
|
||||
async def get_active_orders(tg_id: int) -> list | None:
|
||||
|
||||
@@ -109,6 +109,7 @@ async def start_trading_cycle(
|
||||
"The number of contracts exceeds maximum limit allowed",
|
||||
"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"
|
||||
}
|
||||
else None
|
||||
)
|
||||
@@ -371,6 +372,7 @@ async def open_positions(
|
||||
"The number of contracts exceeds maximum limit allowed": "The number of contracts exceeds maximum limit allowed",
|
||||
"The number of contracts exceeds minimum limit allowed": "The number of contracts exceeds minimum limit allowed",
|
||||
"Order placement failed as your position may exceed the max": "Order placement failed as your position may exceed the max",
|
||||
"Permission denied, please check your API key permissions": "Permission denied, please check your API key permissions"
|
||||
}
|
||||
for key, msg in known_errors.items():
|
||||
if key in error_text:
|
||||
|
||||
@@ -37,7 +37,7 @@ async def user_profile_bybit(tg_id: int, message: Message, state: FSMContext) ->
|
||||
)
|
||||
else:
|
||||
await message.answer(
|
||||
text="Ошибка при подключении к платформе. Проверьте ключи и повторите попытку.",
|
||||
text="Ошибка при подключении к платформе. Проверьте корректность и разрешения API ключа и добавьте повторно.",
|
||||
reply_markup=kbi.connect_the_platform,
|
||||
)
|
||||
logger.error("Error processing user profile for user %s", tg_id)
|
||||
|
||||
Reference in New Issue
Block a user