fix: INSTRUCT_MAIN_MENU_TEXT вызывается без EMOJI_DIGITS аргумента
- Заменено INSTRUCT_MAIN_MENU_TEXT = instruct_main_menu_text на INSTRUCT_MAIN_MENU_TEXT = instruct_main_menu_text(EMOJI_DIGITS) - Функция instruct_main_menu_text(emojis: dict) требует обязательный параметр emojis - Без вызова функции переменная содержит имя функции, а не строку текста - TrueConf dispatcher выдаёт "str object is not callable" при попытке вызвать фильтр - Также исправлено: меню теперь видят пользователи
This commit is contained in:
+7
-31
@@ -14,7 +14,7 @@ from utils.texts import (
|
|||||||
)
|
)
|
||||||
from utils.menu import MENU_TEXT
|
from utils.menu import MENU_TEXT
|
||||||
|
|
||||||
INSTRUCT_MAIN_MENU_TEXT = instruct_main_menu_text
|
INSTRUCT_MAIN_MENU_TEXT = instruct_main_menu_text(EMOJI_DIGITS)
|
||||||
|
|
||||||
# ========================================
|
# ========================================
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ instruct_sessions = {}
|
|||||||
# ОБРАБОТЧИКИ
|
# ОБРАБОТЧИКИ
|
||||||
# ========================================
|
# ========================================
|
||||||
|
|
||||||
@router.message("0")
|
@router.message()
|
||||||
async def instruct_main_handler(msg: Message):
|
async def instruct_main_handler(msg: Message):
|
||||||
"""Обработчик главного меню модуля Instruct."""
|
"""Обработчик главного меню модуля Instruct."""
|
||||||
user_id = msg.from_user.id
|
user_id = msg.from_user.id
|
||||||
@@ -57,18 +57,10 @@ async def instruct_main_handler(msg: Message):
|
|||||||
return
|
return
|
||||||
|
|
||||||
# Цифра 0 — возврат в главное меню
|
# Цифра 0 — возврат в главное меню
|
||||||
clear_state(user_id)
|
if msg.text and msg.text.strip() == "0":
|
||||||
setattr(msg, "handled", True)
|
clear_state(user_id)
|
||||||
await msg.answer(MENU_TEXT, parse_mode="html")
|
await msg.answer(MENU_TEXT, parse_mode="html")
|
||||||
instruct_logger.info(f"User {user_id} returned to main menu via 0")
|
instruct_logger.info(f"User {user_id} returned to main menu via 0")
|
||||||
return
|
|
||||||
|
|
||||||
@router.message()
|
|
||||||
async def instruct_main_menu_handler(msg: Message):
|
|
||||||
"""Обработчик открытия меню инструкций."""
|
|
||||||
user_id = msg.from_user.id
|
|
||||||
|
|
||||||
if get_state(user_id) != "INSTRUCT_MODE":
|
|
||||||
return
|
return
|
||||||
|
|
||||||
# Очистка состояния
|
# Очистка состояния
|
||||||
@@ -85,6 +77,7 @@ async def instruct_main_menu_handler(msg: Message):
|
|||||||
await msg.answer(instruct_main_menu_text(EMOJI_DIGITS), parse_mode="html")
|
await msg.answer(instruct_main_menu_text(EMOJI_DIGITS), parse_mode="html")
|
||||||
instruct_logger.info(f"Instruct main menu shown for user {user_id}")
|
instruct_logger.info(f"Instruct main menu shown for user {user_id}")
|
||||||
|
|
||||||
|
|
||||||
@router.message()
|
@router.message()
|
||||||
async def instruct_tc_handler(msg: Message):
|
async def instruct_tc_handler(msg: Message):
|
||||||
"""Обработчик выбора: Приложение TrueConf."""
|
"""Обработчик выбора: Приложение TrueConf."""
|
||||||
@@ -102,23 +95,6 @@ async def instruct_tc_handler(msg: Message):
|
|||||||
await msg.answer(instruct_tc_text(), parse_mode="html")
|
await msg.answer(instruct_tc_text(), parse_mode="html")
|
||||||
instruct_logger.info(f"User {user_id} selected TrueConf instructions")
|
instruct_logger.info(f"User {user_id} selected TrueConf instructions")
|
||||||
|
|
||||||
@router.message()
|
|
||||||
async def instruct_back_to_main_handler(msg: Message):
|
|
||||||
"""Обработчик возврата в главное меню."""
|
|
||||||
user_id = msg.from_user.id
|
|
||||||
|
|
||||||
if get_state(user_id) != "INSTRUCT_MODE":
|
|
||||||
return
|
|
||||||
|
|
||||||
# Очистка состояния
|
|
||||||
clear_state(user_id)
|
|
||||||
|
|
||||||
# Убираем обработанность, чтобы сообщение не дублировалось
|
|
||||||
setattr(msg, "handled", True)
|
|
||||||
|
|
||||||
await msg.answer(MENU_TEXT, parse_mode="html")
|
|
||||||
instruct_logger.info(f"User {user_id} returned to main menu")
|
|
||||||
|
|
||||||
@router.message()
|
@router.message()
|
||||||
async def instruct_email_handler(msg: Message):
|
async def instruct_email_handler(msg: Message):
|
||||||
"""Обработчик выбора: Почта на мобильном устройстве."""
|
"""Обработчик выбора: Почта на мобильном устройстве."""
|
||||||
|
|||||||
Reference in New Issue
Block a user