Как написать телеграм-бота на Python: курс от первого ответа до сервера
Bot API и токен, aiogram и async, фильтры, кнопки, диалог с состояниями, база SQLite, ошибки и лимиты, запуск бота на сервере.
На платформе новый курс — «Телеграм-боты на Python». Он о том, как устроен бот: от токена и первого ответа до программы, которая круглые сутки работает на сервере и не теряет заявки. Курс для тех, кто знает основы Python и хочет первый настоящий проект, для тех, кому нужен бот для дела — запись, заказы, напоминания, — и для разработчиков, которые пишут на другом языке и хотят разобраться в устройстве ботов.
Не «бот за вечер», а бот, который работает
Бота на двадцать строк пишут за вечер по любой статье. Трудности начинаются потом: бот забывает всё после перезапуска, путает диалоги двух людей, падает от одного стикера, замирает у всех сразу и перестаёт отвечать, когда закрыт ноутбук. Курс разбирает именно эти места — почему они ломаются и как сделать, чтобы не ломались.
Код пишется на Python с библиотекой aiogram третьей версии, но главное в курсе — устройство: как Телеграм передаёт боту сообщения, зачем обработчики асинхронные, как бот помнит шаг анкеты, где хранить заявки и что делать, когда Телеграм отвечает «слишком много запросов».
Что внутри
- устройство бота — Bot API, токен, обновления, опрос и вебхук;
- первый бот — окружение, обработчики, async и await;
- фильтры — команды, текст, фото, кто и где написал;
- ответы — оформление, пределы длины, фото;
- кнопки — меню, встроенные клавиатуры, данные кнопок;
- диалог — анкета с состояниями, проверка ответов, выход;
- проект — роутеры, файлы, токен вне кода;
- данные — SQLite, безопасные запросы, копии;
- ошибки и лимиты — рассылка, обработчик ошибок, журнал;
- сервер — перенос, systemd, обновление и присмотр.
Три подачи
Курс можно проходить в подаче «Знаю основы Python», «Бот для дела» или «Разработчик»: устройство одно, а взгляд разный — как написать, как заказать и принять у подрядчика, как устроено под капотом. В каждом уроке — практика в тексте, домашняя работа и возвращения через 2, 7 и 30 дней; в конце уровня — контрольная и сертификат. Курс с погружением бесплатный целиком, а первый урок открыт без регистрации.