Skip to content

Telegram-бот для ивентов и конкурсов на aiogram

License

Notifications You must be signed in to change notification settings

ReNothingg/Mgol3Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mgol3Bot

Telegram-бот для ивентов и конкурсов на aiogram.

Что сейчас есть

  • Проверка обязательной подписки на канал перед доступом к боту.
  • Главное меню с активными ивентами (inline-кнопки).
  • Карточка ивента с датами, описанием, призовыми местами и участием.
  • Регистрация в ивенте + уведомление админов.
  • Шаблоны ивентов:
    • отправить фото;
    • отправить файл;
    • отправить сообщение;
    • без отправки материалов (только участие, поддержан deep-link join_<id>).
  • Для формата «только участие» победители выбираются автоматически случайным образом после завершения ивента, сразу фиксируются в БД и отправляются админам в ЛС.
  • Команда /my с перечнем ивентов пользователя и статусом выигрыша.
  • Авто-уведомления участникам:
    • подтверждение участия;
    • старт ивента (если пользователь был зарегистрирован заранее);
    • напоминание за 24 часа до дедлайна;
    • сообщение о результатах после завершения.
  • Отправка работы (максимум 1) + пересылка администраторам.
  • Автоматическая отправка всех работ администраторам после завершения ивента.
  • Для формата «просто участие» победители выбираются случайно и получают отдельное уведомление в ЛС сразу после розыгрыша.
  • Админ-панель /admin:
    • создание ивента;
    • список ивентов;
    • активация/деактивация;
    • изменение дедлайна;
    • назначение победителей;
    • удаление ивента;
    • ручная выгрузка работ.

Быстрый старт

  1. Установите зависимости:
pip install -r requirements.txt
  1. Создайте .env на основе .env.example и заполните:
  • BOT_TOKEN
  • ADMIN_IDS (через запятую)
  1. Запустите бота:
python3 -m app.main

Важно

  • Бот должен быть админом канала REQUIRED_CHANNEL, иначе проверка подписки не будет работать корректно.
  • Даты в админ-панели вводятся в UTC, формат: ДД.ММ.ГГГГ ЧЧ:ММ.