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

Телеграмм-бот на AIOGram. От простого, к сложному. Часть 1

В самом начале изучения языка Python, я писал телеграмм бота. Без использования асинхронных фрэймворков. Когда искал инфу по работе телеграмм ботов часто натыкался на использование aiogram, тогда я специально не стал углубляться в эту тему. Сейчас же, пришло время, изучить для себя, в общих чертах данное творение программистов. Начал с того что зарегистрировал нового бота в BotFather, получил токен, токен закинул в .env. Получение токена сделал через config.py. Нужно установить pip install aiogram python-dotenv. Сразу же зафиксировал изменения в virtual environment путём pip freeze > requirements.txt: Итак, бот-токен есть, минимально необходимые зависимости тоже, можно написать простейший код бота, который будет реагировать на /start А что происходит в консоли?! Все работает, усложним слегка конструкцию, можно добавить Comand, F, среагировать на определенный текст и даже вставить картинку: Теперь бот может реагировать на команды /help /list. Так же, если ввести слово "флюгегехаймен", т
Фото для карточки. Северодвинск, май 2021 Фото автора.
Фото для карточки. Северодвинск, май 2021 Фото автора.

В самом начале изучения языка Python, я писал телеграмм бота. Без использования асинхронных фрэймворков. Когда искал инфу по работе телеграмм ботов часто натыкался на использование aiogram, тогда я специально не стал углубляться в эту тему. Сейчас же, пришло время, изучить для себя, в общих чертах данное творение программистов.

Начал с того что зарегистрировал нового бота в BotFather, получил токен, токен закинул в .env. Получение токена сделал через config.py.

-2

Нужно установить pip install aiogram python-dotenv. Сразу же зафиксировал изменения в virtual environment путём pip freeze > requirements.txt:

-3

Итак, бот-токен есть, минимально необходимые зависимости тоже, можно написать простейший код бота, который будет реагировать на /start

-4
-5

А что происходит в консоли?!

-6

Все работает, усложним слегка конструкцию, можно добавить Comand, F, среагировать на определенный текст и даже вставить картинку:

-7

Теперь бот может реагировать на команды /help /list. Так же, если ввести слово "флюгегехаймен", то он выдаст текст к этому слову и картинку. Ещё мы можем загрузить на сервер телеграмма картинку и получить её id.

-8

Итак, всё это прикольно, но файл main.py начинает разрастаться как не в себя, нужно бы сделать так чтобы обработчики событий были в отдельном файле, пусть будет - handlers.py. Чтобы этот файл соединить с main.py используется Router:

-9

Теперь осталось только "приинклюдить" в main.py:

-10

Ну вот, таким образом можно разделять обработчики собыитий из главного кода.

На этом пожалуй на сегодня всё. Завтра я продолжу. Познакомимся с Inline и Reply-кнопками.