= r"/location:" + LOCATION_REGEXP
def register_handlers_filter_get_location(dp: Dispatcher): # Регистрация хендлеров
@dp.message_handler(filters.RegexpCommandsFilter([COMMAND_LOCATION_REGEXP]))
async def command_regexp_example(msg: types.Message):
await msg.answer('По идее должен вернуть это сообщение')
Ведь дикость подобное писать? Как более адекватно доставить dp: Dispatcher в функцию, register_handlers_filter_get_location запускаю в init
А для чего тебе это? Напиши месседж_хендер и всё Зачем регистер_..... Объясни что хочешь реализовать
пример
Спасибо, видимо незачем мне к декораторам возвращаться.
Разве с декораторами не удобнее? Хотя с другой стороны если регать их через диспатчер, то сразу видно какие команды есть, тоже удобно...
переходи на тройку, там можно делать красиво с роутерами и декораторами https://t.me/aiogram_ru/1006805
есть же dp.message_handlers показывающий это
Если честно у меня голова сейчас вообще не варит, я пол часа тупил в ошибку пока не понял что def при определении функции пропустил, сегодня мало спал, много работал по другим задачам
глобальная суть роутера разделить апдейты и сразу навесить нужные фильтры типа админского? я пользуюсь одним dp, вешая на него по ситуации что нужно, не могу понять чем роутер кому-то удобнее
Закончат пилить, будет дока, перепишу все
Из примера я понимаю что есть некие роутеры, в который мы добавляем фильтр по id пользователя, сразу с условием. Далее декоратор нужного роутера + команда дело в шляпе?
еще фишка роутеров в том, что ты можешь создавать роутер на каждый файл, потом через его декораторы регать хэндлеры, а в мейне уже импортировать этот роутер и добавлять в диспетчер, все по красоте
Это ещё хуйня, у меня к ним обвязка есть
LOCATION_REGEXP = r'/^\d+$/' COMMAND_LOCATION_REGEXP = r"/location:" + LOCATION_REGEXP async def test_send(msg: types.Message): await msg.answer("xxxxx") def register_handlers_filter_get_location(dp: Dispatcher): # Регистрация хендлеров dp.register_message_handler(test_send, regexp=COMMAND_LOCATION_REGEXP) Что я делаю не так то?) )
Обсуждают сегодня