Перейти к содержанию

172 уроков, 13 библиотек и челлендж «Что выведет код?» — бесплатно, код прямо в браузере

Начать обучение

Телеграм-бот на Python: интерактивный курс aiogram с практикой в браузере

Свой телеграм-бот на Python: от первого токена в BotFather до бота с базой данных

Редакция Питоники

10 уроков ≈ 10–14 часов Начальный уровень Бесплатно и без регистрации
aiogram: интерактивные уроки с запуском кода в браузере

Телеграм-бот — самая частая первая «настоящая» программа на Python: он живой, отвечает вам и вашим друзьям за секунды, и им правда пользуются. На русскоязычном Python стандарт де-факто — асинхронный фреймворк aiogram, на нём написано большинство ботов, которые вы видели.

Десять уроков ведут от регистрации бота в BotFather до сквозного проекта: команды и обработчики, reply- и inline-клавиатуры, машина состояний для диалогов, файлы, база данных SQLite, middleware и обработка ошибок. Каждый урок — теория с кодом, который запускается прямо на странице: механику бота показывает живой тренажёр сообщений, а настоящий код с токеном идёт рядом, готовый для вашего компьютера.

Мы пишем честно: сеть из браузерной песочницы недоступна, поэтому в уроках видно и упрощённую механику, и настоящий aiogram-код — разница объясняется, а не прячется. Подводные камни (порядок хендлеров, блокирующий sleep, лимиты Telegram) разобраны там, где новички чаще всего спотыкаются.

Чему научитесь

  • Зарегистрировать бота в BotFather и запустить его на своём компьютере
  • Писать обработчики сообщений и команды, понимать порядок их срабатывания
  • Строить reply- и inline-клавиатуры и ловить callback-запросы
  • Вести пошаговые диалоги через машину состояний (FSM) и MemoryStorage
  • Отправлять и принимать файлы и медиа
  • Хранить пользователей и их данные в SQLite из бота
  • Понимать асинхронность aiogram: async/await и почему бот замирает
  • Защищать бота middleware-троттлингом и обработкой ошибок
  • Собрать сквозной проект: бот-трекер расходов с базой и отчётами

Для кого: Тем, кто знает основы Python (переменные, функции, словари) и хочет написать первую программу, которой будут пользоваться другие.

Программа раздела
10 уроков
  1. Урок 1. Как создать телеграм-бота на Python: от BotFather до первого эхо-ответаРегистрируем бота в BotFather, разбираемся, что такое токен и long polling, и собираем эхо-бота на aiogram — механику проверяем прямо в браузере, без токена.
  2. Урок 2. Обработчики сообщений в aiogram: команды, текст и фильтрыУчим бота различать сообщения: Router, команды Command и CommandStart, аргументы через CommandObject и магический фильтр F — и главное правило, что порядок хендлеров решает всё.
  3. Урок 3. Клавиатуры в телеграм-боте: reply и inline кнопки в aiogramСтроим кнопки, которыми приятно пользоваться: ReplyKeyboardMarkup против InlineKeyboardMarkup, ряды, callback_data и обработка нажатий в aiogram 3.
  4. Урок 4. FSM в aiogram: машина состояний для пошаговых диалоговУчим бот вести диалог по шагам: состояния как таблица переходов, анкета «имя — возраст — город» на тренажёре, а потом по-настоящему — StatesGroup, MemoryStorage и FSMContext.
  5. Урок 5. Фото и файлы в aiogram: отправка и приём медиаОтправляем ботом фото с диска и из памяти, разбираемся с file_id, принимаем файлы от пользователя и не упираемся в лимиты Telegram.
  6. Урок 6. База данных в телеграм-боте: SQLite от первого лицаДаём боту настоящую память: таблица пользователей с chat_id, запись через INSERT OR IGNORE, чтение по chat_id и параметр ? против SQL-инъекций.
  7. Урок 7. Асинхронность в aiogram: asyncio для бота без страхаРазбираем на живом коде, зачем aiogram асинхронный: async и await, asyncio.sleep против time.sleep и gather для параллельных чатов.
  8. Урок 8. Middleware в aiogram: антиспам, логирование и общие данныеПишем middleware в aiogram: антиспам-троттлинг, логирование всех апдейтов и передачу общих данных в хендлеры — механику запускаем прямо на странице.
  9. Урок 9. Обработка ошибок в телеграм-боте: try/except, лимиты и логиУчим бот переживать ошибки: try/except в хендлерах, лимиты Telegram с RetryAfter, модуль logging вместо print и перезапуск polling после падения.
  10. Урок 10. Проект: телеграм-бот трекер расходов на aiogram с базой данныхСквозной проект курса: бот-трекер расходов с inline-кнопками, FSM-диалогом, SQLite-хранилищем и отчётом за месяц. Рабочая версия в песочнице, полный код на aiogram и чек-лист запуска.