Files
new_lottery_bot/src/handlers/input_fallback.py
Trevor1985 a9af9cb010
Some checks failed
continuous-integration/drone/push Build is failing
Fix account enrollment and operator callback flows with Redis scenarios
2026-09-14 21:01:56 +09:00

25 lines
1.4 KiB
Python

"""Explain unmatched input instead of silently dropping it or broadcasting it."""
from aiogram import F, Router
from aiogram.fsm.context import FSMContext
from aiogram.types import Message, CallbackQuery
input_fallback_router = Router(name="input_fallback")
@input_fallback_router.callback_query()
async def unmatched_button(callback: CallbackQuery):
await callback.answer("Кнопка устарела или недоступна. Откройте меню заново через /start.", show_alert=True)
@input_fallback_router.message(F.text.lstrip().startswith("/"))
async def unknown_command(message: Message):
await message.answer("Команда не распознана или недоступна на этом шаге. /help — справка, /cancel — отменить текущий ввод.")
@input_fallback_router.message()
async def unmatched_input(message: Message, state: FSMContext):
if await state.get_state():
await message.answer("Этот ввод не подходит для текущего шага. Отправьте данные в формате из подсказки или используйте предложенные кнопки. /cancel — отмена.")
else:
await message.answer("Сейчас бот не ожидает эти данные. /start — главное меню, /register — регистрация. Для переписки сначала откройте чат.")