Archived
feat(bot): add async DB and FSM state handling
This commit is contained in:
+26
-15
@@ -15,15 +15,18 @@ logger = get_logger(__name__)
|
||||
)
|
||||
async def inventory_menu(callback: CallbackQuery) -> None:
|
||||
user = describe_user(callback.from_user.id)
|
||||
bot_name = callback.data.replace("inventory_", "") # type: ignore[union-attr]
|
||||
bot_name = callback.data.replace("inventory_", "")
|
||||
logger.info("Открыто меню инвентаря: %s bot=%s", user, bot_name)
|
||||
|
||||
await callback.answer()
|
||||
await callback.message.edit_text("Проверка inventory...") # type: ignore[union-attr]
|
||||
await callback.message.edit_text("Проверка инвентаря...")
|
||||
|
||||
text, keyboard = await build_inventory_menu(bot_name)
|
||||
if "пуст" in text.lower():
|
||||
logger.info("Показано пустое меню инвентаря: %s bot=%s", user, bot_name)
|
||||
keyboard = back_keyboard(f"bot_{bot_name}")
|
||||
await callback.message.edit_text(text, reply_markup=keyboard) # type: ignore[union-attr]
|
||||
|
||||
await callback.message.edit_text(text, reply_markup=keyboard)
|
||||
|
||||
|
||||
@router.callback_query(
|
||||
@@ -31,16 +34,19 @@ async def inventory_menu(callback: CallbackQuery) -> None:
|
||||
)
|
||||
async def cs2_inventory(callback: CallbackQuery) -> None:
|
||||
user = describe_user(callback.from_user.id)
|
||||
bot_name = callback.data.replace("inv_cs2_", "") # type: ignore[union-attr]
|
||||
bot_name = callback.data.replace("inv_cs2_", "")
|
||||
logger.info("Открыт CS2-инвентарь: %s bot=%s", user, bot_name)
|
||||
|
||||
await callback.answer()
|
||||
await callback.message.edit_text("Загрузка inventory...") # type: ignore[union-attr]
|
||||
await callback.message.edit_text("Загрузка инвентаря...")
|
||||
|
||||
text, keyboard = await render_inventory_page(bot_name, "cs2", 730, 2, 0)
|
||||
if text is None:
|
||||
logger.warning("Не удалось загрузить CS2-инвентарь: %s bot=%s", user, bot_name)
|
||||
await callback.message.edit_text("Не удалось загрузить inventory") # type: ignore[union-attr]
|
||||
await callback.message.edit_text("Не удалось загрузить инвентарь")
|
||||
return
|
||||
await callback.message.edit_text(text, reply_markup=keyboard) # type: ignore[union-attr]
|
||||
|
||||
await callback.message.edit_text(text, reply_markup=keyboard)
|
||||
|
||||
|
||||
@router.callback_query(
|
||||
@@ -48,16 +54,21 @@ async def cs2_inventory(callback: CallbackQuery) -> None:
|
||||
)
|
||||
async def steam_inventory(callback: CallbackQuery) -> None:
|
||||
user = describe_user(callback.from_user.id)
|
||||
bot_name = callback.data.replace("inv_steam_", "") # type: ignore[union-attr]
|
||||
bot_name = callback.data.replace("inv_steam_", "")
|
||||
logger.info("Открыт Steam-инвентарь: %s bot=%s", user, bot_name)
|
||||
|
||||
await callback.answer()
|
||||
await callback.message.edit_text("Загрузка inventory...") # type: ignore[union-attr]
|
||||
await callback.message.edit_text("Загрузка инвентаря...")
|
||||
|
||||
text, keyboard = await render_inventory_page(bot_name, "steam", 753, 6, 0)
|
||||
if text is None:
|
||||
logger.warning("Не удалось загрузить Steam-инвентарь: %s bot=%s", user, bot_name)
|
||||
await callback.message.edit_text("Не удалось загрузить inventory") # type: ignore[union-attr]
|
||||
logger.warning(
|
||||
"Не удалось загрузить Steam-инвентарь: %s bot=%s", user, bot_name
|
||||
)
|
||||
await callback.message.edit_text("Не удалось загрузить инвентарь")
|
||||
return
|
||||
await callback.message.edit_text(text, reply_markup=keyboard) # type: ignore[union-attr]
|
||||
|
||||
await callback.message.edit_text(text, reply_markup=keyboard)
|
||||
|
||||
|
||||
@router.callback_query(
|
||||
@@ -65,7 +76,7 @@ async def steam_inventory(callback: CallbackQuery) -> None:
|
||||
)
|
||||
async def inventory_page(callback: CallbackQuery) -> None:
|
||||
user = describe_user(callback.from_user.id)
|
||||
_, inv_type, bot_name, page_value = callback.data.split("|") # type: ignore[union-attr]
|
||||
_, inv_type, bot_name, page_value = callback.data.split("|")
|
||||
logger.info(
|
||||
"Открыта страница инвентаря: %s bot=%s type=%s page=%s",
|
||||
user,
|
||||
@@ -86,6 +97,6 @@ async def inventory_page(callback: CallbackQuery) -> None:
|
||||
inv_type,
|
||||
page_value,
|
||||
)
|
||||
await callback.message.edit_text("Не удалось загрузить inventory") # type: ignore[union-attr]
|
||||
await callback.message.edit_text("Не удалось загрузить инвентарь")
|
||||
return
|
||||
await callback.message.edit_text(text, reply_markup=keyboard) # type: ignore[union-attr]
|
||||
await callback.message.edit_text(text, reply_markup=keyboard)
|
||||
|
||||
Reference in New Issue
Block a user