AIOgram3 4. Эхо-бот

Telegram-бот на AIOgram3 | proDream | 28 Июль 2023 | Просмотров: 1853

В этом посте создадим простейшего эхо-бота, запустим и протестируем.


Функция echo().

Для того, что бы сделать повторяющего за нами бота, давайте создадим функцию echo.
Между импортами и функцией start() создадим функцию:

from aiogram.types import Message  


async def echo(message: Message):

 

Эхо - ответ на сообщение.

В теле функции напишем код ответа на сообщение:

    await message.answer(message.text)

 

Переменная message, переданная в функцию, является объектом класса Message. Мы, используя доступный нам метод answer, отвечаем пользователю, отправившему сообщение боту.

 

В качестве ответа пользователю, мы отправляем его же сообщение. Текст ответа получим из переменной message воспользовавшись ещё одним методом text, возвращающим текстовое представление данных.

 

Await.

Также, стоит упомянуть про await.
Ключевое слово await используется только внутри асинхронной функции и только для вызова асинхронных операций. 
Оно используется с операциями, которые могут занять некоторое время. 
Поскольку эти операции требуют времени на выполнение, программа может продолжить выполнение других задач в это время, а затем вернуться к исходной задаче только после завершения асинхронной операции.

Таким образом, await в данном случае означает, что программа должна дождаться отправки сообщения, прежде чем продолжить дальнейшее выполнение кода.

 

Регистрация функции.

Теперь нам необходимо зарегистрировать данную функцию.
В функции start(), после инициализации диспетчера, но до блока try-finally, регистрируем функцию, на приём всех сообщений:

    dp.message.register(echo)

Обратите внимание! При регистрации функции, мы пишем только её название, без круглых скобок!

 

Первый запуск.

Настало время запустить бота и проверить его работу. Запускаем файл main.py.
Поскольку у нас не инициализирован логгер и нет оповещения о запуске, то в терминале будет пусто, однако, если мы напишем боту... То он начнёт нам отвечать!

 

Для остановки бота, если он запущен в PyCharm, достаточно нажать на остановку.
Если бот запущен в терминале, то для остановки необходимо выполнить сочетание клавиш CTRL+C.

Поздравляю, бот работает.


Добавить комментарий:

Войдите чтобы добавить комментарий.

Комментарии пользователей:

Нет комментариев

Соседние посты

AIOgram3 5.1. Создание структуры
AIOgram3 4. Эхо-бот
AIOgram3 3. Основная функция

Дополнительные материалы

Для скачивания материалов необходимо войти или зарегистрироваться.

Файлы также можно получить в Telegram-боте по коду: 902691


Обсуждение

Обсудить или задать вопрос можно в комментариях к посту в Telegram


Теги

Python PyCharm Гайды Telegram AIOgram Telegram-бот AIOgram3 бот эхо-бот Message

Ссылки


Реклама