Telegram Giveaway Bot for WaveLead


Разработал 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 и поддерживает одновременную регистрацию большого количества пользователей. Архитектура разделена на отдельные сервисы для клиентского и административного ботов, что упрощает поддержку и масштабирование проекта.