🤖 Telegram-бот для сообщества Android Krasnodar
androidkrdbot — это Telegram-бот-модератор для Android Краснодар сообщества.
Он проверяет новых участников группы с помощью простых (но коварных) вопросов, и удаляет тех, кто не прошёл проверку.
Создан в духе строгой, но ироничной модерации.
Во главе — товарищ Берия. Он всё видит. Он всё фиксирует. Он не даст спамерам и случайным людям войти без боя.
- ✅ Проверка новых участников по контрольному вопросу.
- 🛠 Возможность перезагрузки вопросов без перезапуска бота.
- 🔒 Только администраторы могут управлять ботом.
- 📥 Ответы обрабатываются внутри чата.
- ⏳ Таймер — если пользователь не ответил, он будет удалён.
Требуется: JDK 17+, Gradle, Telegram Bot Token
-
Клонируй репозиторий:
git clone https://github.com/i-redbyte/androidkrdbot.git cd androidkrdbot
-
Создай
.env
в корне проекта:TELEGRAM_BOT_TOKEN=123456789:ABCDEFyourTokenHere
-
Убедись, что у тебя есть файл с вопросами:
src/main/resources/questions.json
Пример:
[ { "text": "Назови любой цвет радуги.", "correctAnswers": ["красный", "red", "orange", "оранжевый"] } ]
-
Запусти бота:
./gradlew run
Чтобы бот работал в группе:
- Добавь бота в группу.
- Назначь его администратором.
- Через @BotFather:
- Открой настройки бота
Group Privacy
→Turn off
(обязательно!)
Команда | Описание |
---|---|
/startVerification |
Включить режим проверки новичков |
/stopVerification |
Выключить режим |
/verificationStatus |
Узнать статус режима |
/reload_questions |
Перезагрузить файл с вопросами |
- При включённом режиме проверки:
- Новый участник получает вопрос в чате.
- Если он отвечает правильно — остаётся.
- Если неправильно или не отвечает — удаляется.
- Ответы принимаются в чате, а не в ЛС.
- Вопросы выбираются случайно из файла
questions.json
.
Если неадмин попытается управлять ботом, он получит предупреждение, что:
🚫 Только администрация может отдавать приказы товарищу Берии. Ваше поведение записано в досье.
Буду очень рад, если вы захотите поучаствовать в развитии этого проекта!
Если вы нашли баг, хотите внести улучшение, добавить новые вопросы или поправить структуру — не стесняйтесь открыть pull request или создать issue.
Проект открыт для развития и будет только лучше с вашей помощью.
- Добавить новые вопросы в
questions.json
- Расширить функциональность (например, логирование, отчёты, фильтры)
- Обновить документацию и тексты
- Провести рефакторинг или тестирование
Пожалуйста, придерживайтесь принципов, уже использованных в проекте:
- Чистая архитектура:
data/
— репозиторииdomain/
— use cases, модели, состояниеpresentation/
— Telegram-интеграция и запуск
- Kotlin DSL + Gradle
- Логическая изоляция слоёв
- Минимум магии, максимум читаемости
- Вопросы хранятся в
resources/questions.json
🙌 Спасибо всем, кто захочет внести вклад!
Этот проект распространяется под лицензией Apache License 2.0.
Вы можете свободно использовать, изменять и распространять код, соблюдая условия этой лицензии.