data-rh=”true”>Telegram Bot и отчётность по проекту – ToBe – Medium – Telegram Group

Telegram Bot и отчётность по проекту

Не так давно я закончил свой небольшой учебный проект на Django (https://github.com/kazeichev/autopark). Смысл данного проекта это отслеживать местоположение автомобиля, сохранять все его передвижения, давать возможность взаимодействовать с системой по api и генерировать отчёты по передвижениям (для конкретного автомобиля за определённый период).

После реализации основной системы, мне была поставлена задача реализовать telegram-бота, при помощи которого можно было бы залогиниться в системе и сгенерировать отчёт для конкретного автомобиля не выходя из чата.

Для реализации поставленной задачи я выбрал готовую библиотеку Python Telegram-bot и начал создавать бота.

Для начала, при помощи BotFather, я создал самого бота и получил токен для управления им.

Далее я создал команду в Django, которая в бесконечном цикле, до момента прерывания выполнения команды, поддерживает работоспособность сервера для бота.

В 28 строке из примера выше вы могли заметить что я добавляю собственные обработчики команд бота (далее — handler). Мне не очень понравился подход, описанный в куче how-to-do, слепить бота в одном файле-портянке, и я решил прибегнуть к ООП.

Мною был создан интерфейс для всех handler-ов, который обязывал все классы-наследники имплементировать метод get_handler(). Данный метод отвечает за генерацию handler-a, необходимого для работы библиотеки, но с необходимыми нам настройками.

Вот так выглядит самый просто handler, который реагирует на команду /start

Благодаря такому разделению кода, у меня получилось написать аккуратные обработчики команд и не вырвать все волосы на голове 😉

P.S. Комментарии и подсказки по улучшению кода всегда приветствуются!

P.P.S. Картинка взята с https://journal.tinkoff.ru/guide/otchety-ooo/

Ten articles before and after

Делаем бота для учета личных расходов на Python используя Google Spreadsheets (часть 2) – Telegram Group

Controlling Light using Telegram Bot – Telegram Group

Telegram’da Benim de Bir Tuzum Olsun – Telegram Group

How to send photos to Telegram in Ruby – Telegram Group

data-rh=”true”>Explainer: UK News Quiz, a Telegram Bot – Dror Kessler – Medium – Telegram Group

Делаем бота для учета личных расходов на Python используя Google Spreadsheets – Telegram Group

[BEST] Tricks To Rank #1 Your Telegram Channel (2022) – Telegram Group

data-rh=”true”>Telegram channel – KYC COIN – Medium – Telegram Group

Telegram Marketing: How to Promote a Startup Channel – Telegram Group

Emprendedores. Usa Telegram para promocionar tu contenido. – Telegram Group