← К проектам

Мой проект

Геймифицированные ежедневные задания в Telegram

это Telegram-бот на Python 3.11 (aiogram 3.x) для ежедневных челленджей с проверкой пользовательского текста через LLM (OpenRouter) и выдачей награды по дням

Звезды: 0 Форки: 0 Обновлен: 01.03.2026

Партнерский блок

О проекте

Изначально проект задуман как адвент-календарь со стихами, но архитектура подходит для любых последовательных кампаний, где нужно:

  1. Получать текстовый ответ от пользователя каждый день.
  2. Проверять ответ автоматически по правилам.
  3. Выдавать контент-награду.
  4. Напоминать тем, кто пропустил день

Ссылка на ГитХаб

Для каких задач подходит бот

Бот можно использовать не только для новогоднего формата:

  1. Адвент/марафон в сообществе с ежедневными заданиями.
  2. Корпоративный onboarding на 7/14/30 дней.
  3. Обучающий микрокурс с ежедневной сдачей мини-ответа.
  4. Писательский челлендж с выдачей новых материалов по дням.
  5. Языковой тренажер (ежедневная фраза/мини-эссе).
  6. Wellness/habit трекер с простыми ежедневными отчетами.
  7. Промо-кампания, где доступ к бонусам открывается по расписанию.

Когда бот может не подойти

  1. Если требуется сложная ручная модерация каждого ответа.
  2. Если у вас нет Telegram как основного канала.
  3. Если нужен heavy-load real-time сценарий на сотни тысяч событий в минуту.

Что умеет проект

  1. Подключение пользователя через /start, управление статусом /pause/resume/stop/status.
  2. Прием текстов и LLM-проверка через OpenRouter /chat/completions с response_format: json_schema.
  3. Решения по ответу: ACCEPTRETRYREJECT.
  4. Лимит попыток в день и уникальная фиксация успешной сдачи на день.
  5. Подарки разных типов: texturlphotovideoaudiopayload.
  6. Планировщик напоминаний и уведомлений о пропуске (APScheduler).
  7. Идемпотентность отправок через notifications_log.
  8. Админ-инструменты для диагностики (/admin_stats/admin_errors/admin_health и другие).
  9. Логи ошибок + heartbeat сервисов для мониторинга.

Архитектура (кратко)

  1. bot — Telegram polling и пользовательские/админ-команды.
  2. scheduler — периодические задачи напоминаний и служебные проверки.
  3. db — PostgreSQL для пользователей, сабмишенов, попыток, подарков, логов.
  4. migrate — запуск Alembic миграций перед стартом bot и scheduler