Как зарегистрировать несколько обработчиков сообщений в айограммеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как зарегистрировать несколько обработчиков сообщений в айограмме

Сообщение Anonymous »

Я пытаюсь создать несколько разных обработчиков сообщений. Это приемлемый способ зарегистрировать несколько обработчиков?:

Код: Выделить всё

import asyncio

from aiogram import Bot, Dispatcher, types
from settings import BOT_TOKEN

async def start_handler(event: types.Message):
await event.answer(
f"Hello, {event.from_user.get_mention(as_html=True)} 👋!",
parse_mode=types.ParseMode.HTML,
)

async def echo_answer(event: types.Message):
await event.answer(event.text, parse_mode=types.ParseMode.HTML
)

async def main():
bot = Bot(token=BOT_TOKEN)
try:
disp = Dispatcher(bot=bot)
disp.register_message_handler(start_handler, commands={"start", "restart"})
disp.register_message_handler(echo_answer, lambda msg: msg.text)
await disp.start_polling()
finally:
await bot.close()

asyncio.run(main())
мой файл settings.py содержит

Код: Выделить всё

import os

BOT_TOKEN = os.getenv('BOT_TOKEN')
if not BOT_TOKEN:
print('You have forgot to set BOT_TOKEN')
BOT_TOKEN = 'missing'
quit()

Этот код запускается и отправляет эхо-ответы на любое сообщение и отвечает «Привет, @username 👋!» для команд запуска и перезапуска.
для воспроизведения необходимо иметь бот и иметь BOT_TOKEN в переменных окружения перед запуском кода.
Я попробовал этот код, описанный выше, посмотрел объявление https://docs.aiogram.dev/en/latest/disp ... index.html документация и измененный пример на странице исходного кода https://github.com/aiogram/aiogram#poll ... pdates-and -обработка обновлений

Подробнее здесь: https://stackoverflow.com/questions/747 ... in-aiogram
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»