Telegram Giveaway Bot for WaveLead

Прикладное ПО
18 просмотров
26.05.2026
telegram-1.png
telegram-2.png

Разработал Telegram-бота для проведения giveaway/розыгрыша с полной автоматизацией регистрации участников и администрирования. Проект реализован на Python с использованием Django, PostgreSQL и aiogram FSM.

Что реализовано

  • Пошаговая регистрация участников через FSM

  • Проверка корректности email

  • Inline-кнопки и удобный UX внутри Telegram

  • Генерация уникального giveaway number для каждого участника

  • Защита от повторной регистрации по Telegram ID

  • Проверка подписки на Telegram-канал

  • Сохранение данных участников в PostgreSQL

  • Экспорт участников в CSV

  • Админ-бот с командами:

    • просмотр количества участников

    • список последних регистраций

    • случайный выбор победителя

    • экспорт данных

  • Уведомления администраторам о новых участниках

  • Docker + Docker Compose deployment

  • Логирование и обработка ошибок

  • GitHub Container Registry для хранения Docker-образов

Технологии

  • Python

  • Django

  • Aiogram 3

  • PostgreSQL

  • Docker / Docker Compose

  • GitHub Actions

  • AsyncIO

Особенности проекта

Бот рассчитан на работу в production и поддерживает одновременную регистрацию большого количества пользователей. Архитектура разделена на отдельные сервисы для клиентского и административного ботов, что упрощает поддержку и масштабирование проекта.

Ссылка на бот