Добавить в корзинуПозвонить
Найти в Дзене
Simple Prog

Боты в телеграмм #1. Aiogram и введение

Всех приветствую, пришло время поговорить о телеграмме и его ботах. Сегодня разберем основы библиотеки aiogram и напишем своего маленького эхо-бота. Установка и получение токена Библиотека устанавливается, как стандартная. pip install aiogram Для работы бота нужен токен. Получить его можно здесь. По команде /start бот-фазер выдаст все доступные команды. Нужная нам: /newbot. Прописываем. Далее нам предлагают выбрать имя нашего бота. Назовем его Женьком. Теперь нужно выбрать юзернейм бота, короткое имя для поиска. Оно обязательно должно заканчиваться на bot. Пусть будет eugeniytopbot. Вы можете выбрать свое. Когда юзернейм был успешно выбран, вам будет предоставлен текст с нужным нам токеном. Следом за строчкой Use this token to access the HTTP API: сохраняем токен куда-нибудь, чтобы у других не было к нему доступа. Создание бота и обработка сообщений Создадим в PyCharm (или любой другой IDE) файл config.py, куда и загрузим наш токен. Далее в файле main.py импортируем наш токен. Также и
Оглавление

Всех приветствую, пришло время поговорить о телеграмме и его ботах. Сегодня разберем основы библиотеки aiogram и напишем своего маленького эхо-бота.

AIOgram
AIOgram

Установка и получение токена

Библиотека устанавливается, как стандартная.

pip install aiogram

Для работы бота нужен токен. Получить его можно здесь. По команде /start бот-фазер выдаст все доступные команды. Нужная нам: /newbot. Прописываем.

-2

Далее нам предлагают выбрать имя нашего бота. Назовем его Женьком. Теперь нужно выбрать юзернейм бота, короткое имя для поиска. Оно обязательно должно заканчиваться на bot. Пусть будет eugeniytopbot. Вы можете выбрать свое.

Когда юзернейм был успешно выбран, вам будет предоставлен текст с нужным нам токеном. Следом за строчкой Use this token to access the HTTP API: сохраняем токен куда-нибудь, чтобы у других не было к нему доступа.

-3

Создание бота и обработка сообщений

Создадим в PyCharm (или любой другой IDE) файл config.py, куда и загрузим наш токен. Далее в файле main.py импортируем наш токен. Также из библиотеки aiogram импортируем Bot, Dispatcher, executor.

Bot - класс, отвечающий за методы бота. Dispatcher - обработчик наших будущих сообщений, запросов и всего остального. executor нужен для запуска нашего бота.

Создадим экземпляр класса Bot и передадим в него наш токен. Затем создадим объект Dispatcher и уже туда передадим нашего созданного бота. Cразу заставим нашего бота работать: в конце программы вызовем метод start_polling класса executor, передав туда нашего dp.

Теперь нам нужно написать обработчик сообщений. Использую синтаксис декораторов (ссылка на урок по декораторам) вызовем метод message_handler объекта dp. Пока без фильтра на сообщений, чтобы особо не усложнять.

Создадим асинхронную функцию welcome, к примеру, которая будет принимать message, сообщение для будущей обработки:

Если вы еще здесь, значит у вас все получится.

Пока наш бот ничего не умеет, давайте посмотрим, что такое это ваше message. Напишем в функции print(message.as_json()) для вывода всей информации из message в виде словаря.

Посмотрим, что оно показывает:

-4
-5

Возвращается нам довольно длинный словарь с данными, хранящимися в message. Но мы отвлеклись.

Запишем текст нашего сообщения в переменную text.

text = message.text

Затем отправим ответное сообщение методом answer и передадим туда наш text:

await message.answer(text)

Не забывайте await перед вызовом функций внутри асинхронной функции!

Вот финальная версия кода:

Давайте запустим и посмотрим, как работает наш эхо-бот!

-6

Как видите, все прекрасно работает! Если вам понравилась статья, напишите об этом в комментариях, мы продолжим работу на Женей, сделаем из него настоящий магазин, подключим базы данных и многое многое другое!

Читайте также:

  • Что такое QT и PyQT. Знакомство
  • Сколько зарабатывают Python-разработчики в России?
  • Декораторы в Python: зачем они нужны и как их создавать
  • О структурах данных в Python — основополагающие знания
  • Полезные трюки при работе с кодом в Python