Функция 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.
Комментарии
Оставить комментарийВойдите, чтобы оставить комментарий.
Всё остальные IDE запускают в консоли, а у PyCharm своя консоль для запущенных. Так что тут всё верно. Если запущен бот в PyCharm, то останавливаем кнопкой остановки, а если в терминале (другой IDE), то CTRL+C.
если он запущен в PyCharm(c) - лучше написать если он запущен в IDE, а то не у всех же юзеров PyCharm в качестве IDE