Из за чего диспетчер aiogram не может зарегистрировать хендлеры?
Почему-то aiogram не ловит сообщения, все хендлеры, которые я пытаюсь зарегистрировать не работают
Однако если раскомментировать к примеру пятую строку, то хендлер работает.С чем это может быть связано?До этого писал ботов, все было нормально, начал проект с нуля и тут такая проблема
from aiogram import types, Dispatcher
from create_bot import dp, bot
from aiogram.dispatcher.filters import Text
#@dp.message_handler(commands=['start','help'])
async def commands_start(message : types.Message):
await bot.send_message(message.from_user.id,'Hello')
await message.delete()
def register_handlers_client(dp : Dispatcher):
dp.register_message_handler(commands_start, commands=['start','help'])
Ответы (1 шт):
Автор решения: ZxNuClear
→ Ссылка
Видимо вы не вызываете функцию register_handlers_client при запуске. Это должно решить проблему:
if __name__ == "__main__":
register_handlers_client(dp)
executor.start_polling(dp, skip_updates=True)
Вот минимальный работоспособный код:
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
TOKEN = 'ТВОЙ ТОКЕН'
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
async def commands_start(message: types.Message):
await bot.send_message(message.from_user.id, 'Hello')
await message.delete()
def register_handlers_client(dp: Dispatcher):
dp.register_message_handler(commands_start, commands=['start', 'help'])
if __name__ == "__main__":
register_handlers_client(dp)
executor.start_polling(dp, skip_updates=True)