Назад на сайт-визитку

учебный проект · telegram bot · python

HelperBot — Telegram-бот для поиска материалов по программированию

HelperBot — это учебный pet-проект на Python, созданный для закрепления навыков работы с Telegram API, обработкой команд, inline-кнопок, выбором категорий и динамическим выводом информации. Бот помогает пользователю найти нужные учебные материалы: книги, курсы, документацию и практические упражнения по Python, C++, Web и Java.

Python python-telegram-bot AsyncIO Telegram API
Скриншот Telegram-бота

Цель проекта

Основная цель HelperBot — практическое освоение работы с Telegram API: отправка сообщений, обработка inline-кнопок, callback-запросов, структура команд и организация простого меню. Проект использует реальные принципы обработки событий, но остаётся лёгким для обучения.

Бот помогает пользователю:

  • выбрать язык программирования;
  • получить подборку учебных материалов;
  • читать документацию, статьи, книги;
  • находить практические задания по выбранному языку.

С технической точки зрения проект тренирует:

  • работу с python-telegram-bot (v20+);
  • обработку команд /start, /help;
  • callback-кнопки и inline-меню;
  • асинхронную структуру приложений.

Функциональность

Команды

  • /start — запуск бота и меню выбора языка;
  • /help — помощь и объяснение работы;
  • автоматическое меню через inline-кнопки.

Материалы

  • Основы языка (Python, C++, Web, Java);
  • Книги и методички;
  • Курсы и интерактивные тренажёры;
  • Официальная документация;
  • Практические задачи (Codewars, LeetCode и др.).

Взаимодействие

  • Inline-кнопки для выбора языка;
  • Callback-кнопки для выбора категорий;
  • Обновление сообщений без спама;
  • Асинхронный Event-Loop.

Архитектура проекта

Структура файлов

  • main.py — основной файл бота;
  • materials — словарь материалов;
  • keyboards — inline-кнопки;
  • handlers — обработчики команд;
  • /img — превью.

Техническая логика

  • Асинхронный ApplicationBuilder;
  • Разделение логики CallbackQuery и Message;
  • Статические словари материалов;
  • Обновление сообщений через edit_message_text.

Почему такая структура?

  • минимальная сложность — идеально для обучения;
  • легко расширить новыми разделами;
  • код читаемый и чистый;
  • подходит как маленький pet-проект в портфолио.

Моя роль

Я полностью разработал архитектуру и логику бота:

Ссылки и код

GitHub-репозиторий проекта

github.com/MorFusti/Helper-Pr.Study
Открыть код →

Telegram-бот

@Helper_ProgramSrudybot — временно недоступен