Функция 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