img

Погружение в aiogram (#2 ЭХО БОТ)

 

 

Введение

Ну вот наконец-то и начинается цикл статей по непосредственному написанию логики работы Telegram бота. Начнём погружение с достаточно тривиальной задачи ( примерно как “Hello, World!” на новом языке программирования), написание эхо бота.

Но для начала немного теории! 

 

Немного теории

Эхо-бот представляет из себя простого бота, задача которого возвращать пользователю все отправленные им сообщения.

На этом с теорией всё, переходим к практике!

Установка библиотеки

Для написания нашего первого серьёзного проекта будем использовать, как уже догадались, библиотеку aiogram версией 2.25.1 

(Note: здесь и в дальнейших статьях я буду все примеры кода запускать в IDE PyCharm и использовать версию Python 3.9)

 

Профессионалы могут в своей любимой IDE в терминале ввести команду pip install aiogram==2.25.1

А для тех, кто только учится, необходимо: 

  • Нажать сочетание клавиш Ctrl+Alt+S
  • Найти меню Project: “ИмяПроекта” и нажать на Python Interpreter
  • Следуем подсказкам 1-2-3

И теперь можно приступать к работе!

Set up конфигурация бота

Давай напишем самое минимальное, что необходимо будет абсолютно в каждом проекте.

  1. Импортируем необходимые файлы из библиотеки aiogram
  2. Создаём переменную и присваиваем ей значение токена бота (Токен это индивидуальный API ключ,  который присваивается каждому боту и необходим для взаимодействия программы с ботом)
  3. Создаём объекты бота и диспетчера. Объекту bot передается в качестве аргумента токен бота, а объекту dp в качестве аргумента передается объект bot.
  4. Используем конструкцию if __name__ == “__main__”: для запуска текущего файла напрямую. Это так называемая точка входа работы бота. Для запуска постоянного опроса входящих данных со стороны пользователя, используем операцию выполнения: executor.start_polling(dispatcher=dp). В качестве аргумента передаем нашего диспетчера.
  5. Теперь подошли к самому интересному. Обработка хэндлера сообщений. По своей сути это очередь сообщений, которые бот получает от пользователя. Для их создания будем использовать декоратор. Если не знаешь, что это за страшное слово, то самое время пройти курс Python с нуля , где сможешь узнать это и многое другое! Хэндлер сообщений пишется следующим образом -> @dp.message_handler(). За ним в обязательном порядке будет следовать асинхронная функция, в которой будет описан непосредственно функционал, который будет выполняться, после вызова текущего хэндлера
    async def echo_message(message: types.Message): Функция должна принимать аргумент с аннотацией типов types.Message, чтобы мы могли взаимодействовать со входящей информацией от пользователя. Для ответа ботом на сообщения напишим конструкцию: 
    await message.answer(text=message.text) Метод answer отвечает пользователю текстом, который был указан в аргументе text
    message.text содержит в себе сообщение, отправленное пользователем боту.

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

В итоге должна получится следующая программа

Бежим проверять как она работает.

Запускаем скрипт, переходим в диалоговое окно с ботом.

Видим, что при отправке сообщения, в ответ нам приходит тоже самое. Это и есть эхо бот!

Заключение

Вот и положено начало пути разработки ботов.  Дальше нас ждёт много увлекательной и интересной информации. 

Исходники скрипта я загружу на свой GitHub, откуда без проблем можно будет скачать и проверить как работает бот, только не забудь добавить свой API токен.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Проджект-менеджер в IT — это динамичная и востребованная профессия. Здесь важно владеть управленческими навыками и разбираться в
img
Онлайн-обучение стало популярным инструментом для того, чтобы освоить новую профессию. Но далеко не каждый курс оправдывает свои
img
Когда-то способность машин понимать и обрабатывать человеческий язык была научной фантастикой. Теперь это возможно благодаря NLP
img
  Введение На сегодняшний день боты стали неотъемлемой частью нашей жизни. Они помогают в автоматизации процессов, экономии чело
img
  За последнее время каждый из нас слышал, что искусственный интеллект внедряется повсеместно, давайте же разберемся; как и где
img
Когда вы начинаете свой путь в программировании, легко потеряться среди незнакомых терминов и информации. Кажется, что опытные п
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59