Как перехватывать не нужные сообщения пользователя в бот? Aiogram 3
Всем, привет! Как начинающий бото-строитель прошу помощи. Весь диалог пользователя с ботом построен на кнопках ReplyKeyboard, InlineKeyboard. Естественно все кнопки отрабатывают хендлеры @dp.message и @dp.callback_query. А как поймать 'рандомное' сообщение от пользователя и ответить, например, - 'Моя твоя не понимать. Нажми кнопу'. Благодарю за ответ.
Ответы (1 шт):
Автор решения: diasporx
→ Ссылка
@dp.message_handler(content_types=types.ContentType.TEXT), который будет реагировать на текстовые сообщения пользователя, не соответствующие другим обработчикам.
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from aiogram.types import Message, CallbackQuery
from aiogram import executor
import logging
# Устанавливаем уровень логгирования
logging.basicConfig(level=logging.INFO)
# Инициализируем бота и диспетчера
bot = Bot(token="YOUR_TELEGRAM_BOT_TOKEN")
dp = Dispatcher(bot)
dp.middleware.setup(LoggingMiddleware())
# Обработчик для случайных текстовых сообщений
@dp.message_handler(content_types=types.ContentType.TEXT)
async def handle_random_message(message: Message):
await message.answer("Моя твоя не понимать. Нажми на кнопку.")
# Обработчик для Inline кнопок
@dp.callback_query_handler()
async def handle_callback_query(callback_query: CallbackQuery):
# Ваш код обработки Inline кнопок здесь
await callback_query.answer()
# Запускаем бота
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)