AIOgram3 4. Эхо-бот
В этом посте создадим простейшего эхо-бота, запустим и протестируем.
Все статьи
- 08 Август 2024 AIOgram3 19. Капча для вступающих в чат Комментарии к посту
- 13 Июнь 2024 AIOgram3 18. Подключаем оплату Telegram Stars Комментарии к посту
- 22 Май 2024 Бот-автоответчик с ChatGPT для Бизнес-аккаунта в Telegram на Aiogram 3 Комментарии к посту
- 06 Февраль 2024 AIOgram3 17. Подготовка к разворачиванию на сервере Комментарии к посту
- 30 Январь 2024 AIOgram3 16. Перевод голосовых сообщений в текст Комментарии к посту
- 07 Октябрь 2023 AIOgram3 15. Обработка события вступления или покидания чата Комментарии к посту
- 05 Октябрь 2023 AIOgram3 14. Фильтруем запрещённые слова Комментарии к посту
- 03 Октябрь 2023 AIOgram3 13. Прогноз погоды в боте - OpenWeatherMap Комментарии к посту
- 01 Октябрь 2023 AIOgram3 12. Добавление бота в чат Комментарии к посту
- 06 Сентябрь 2023 AIOgram3 11. Обновление для команды get_file Комментарии к посту
- 05 Сентябрь 2023 AIOgram3 10. Пара простых команд Комментарии к посту
- 05 Сентябрь 2023 AIOgram3 9. Команда start Комментарии к посту
- 15 Август 2023 AIOgram3 8.2 Команда отправки файла, продолжение Комментарии к посту
- 15 Август 2023 AIOgram3 8.1 Команда отправки файла Комментарии к посту
- 10 Август 2023 AIOgram3 7. Получение пути до файла по API Комментарии к посту
- 08 Август 2023 AIOgram3 6. Информирование администратора Комментарии к посту
- 08 Август 2023 AIOgram3 5.2. Создание структуры, продолжение Комментарии к посту
- 03 Август 2023 AIOgram3 5.1. Создание структуры Комментарии к посту
- 28 Июль 2023 AIOgram3 4. Эхо-бот Комментарии к посту
- 27 Июль 2023 AIOgram3 3. Основная функция Комментарии к посту
- 27 Июль 2023 AIOgram3 2. Точка входа Комментарии к посту
- 27 Июль 2023 AIOgram3 1.5. Регистрация бота Комментарии к посту
- 27 Июль 2023 AIOgram3 1. Начинаем создавать Telegram-бота Комментарии к посту
Дополнительные материалы
Для скачивания материалов необходимо войти или зарегистрироваться
Файлы также можно получить в Telegram-боте по коду: 902691
Реклама
Функция 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
.
Поздравляю, бот работает.
Комментарии
-
-
14 августа 2024 г. 17:42
если он запущен в PyCharm(c) - лучше написать если он запущен в IDE, а то не у всех же юзеров PyCharm в качестве IDE
proDream
14 августа 2024 г. 19:52
Всё остальные IDE запускают в консоли, а у PyCharm своя консоль для запущенных. Так что тут всё верно. Если запущен бот в PyCharm, то останавливаем кнопкой остановки, а если в терминале (другой IDE), то CTRL+C.
Войдите чтобы добавить комментарий.