Простой бот для модерации Discord-серверов от Pterohost! Это open-source проект распространяемый под лицензией MIT. Исходный код доступен на GitHub.
Guardian Luxfurd - это мощный инструмент для автоматической модерации и защиты Discord-серверов. Вот его ключевые фичи:
- Модерация на автомате: Ловит спам, повторяющиеся сообщения, подозрительные ссылки, тонны эмодзи и чрезмерные упоминания. Нарушители получают предупреждения, а при упорстве - тайм-аут, кик или бан.
- Проверка новичков: Проверяет новых участников по возрасту аккаунта, наличию аватара.
- Защита от ботов и вебхуков: Блокирует несанкционированных ботов и вебхуки, чтобы сервер не превратился в хаос если недобросовестный админ начнет шалить.
- Логи и статистика: Ведёт подробный журнал всех инцидентов и алертов в консоле, и в каналах.
- Гибкая настройка: Всё настраивается через YAML-файлы, можно изменить пороги срабатываний.
- Анализ блоков и сообщений: Бот может проверять код, отправленный в чат, на наличие подозрительных элементов (например, вредоносных ссылок или спама). Это помогает защитить сервер от потенциальных угроз, замаскированных под "код".
Бот сканирует сообщения с кодом (например, в блоках python
) и проверяет их на:
- Ссылки: Ловит подозрительные URL, которые могут вести на фишинговые сайты.
- Спам: Определяет, не пытается ли кто-то зафлудить чат повторяющимся кодом.
- Ключевые слова: Может искать определённые паттерны (например, попытки внедрить скрипты или команды). Настраивается через конфиг. Если что-то не так, бот выдаёт предупреждение, удаляет сообщение или применяет наказание, в зависимости от настроек.
- Простота: Установить и вписать токен бота - готово.
- Мощность: Справляется с большими серверами, где сотни участников и куча активности.
- Гибкость: Настрой всё под себя через YAML, от лимитов до наказаний.
- Open-source: Полный доступ к коду. Хочешь доработать? Делай форк, вноси свой вклад :)
- Безопасность: Защищает от типичных угроз вроде спама, ботов и подозрительных ссылок в коде.
- Поддержка сообщества: Открытый исходный код, ты можешь внести свой вклад через GitHub.
Поставить бота на свой сервер - дело пары минут. Вот пошаговая инструкция:
-
Склонируй репозиторий:
git clone https://github.com/Pterohost/Luxfurd.git cd Luxfurd
-
Установи зависимости:
Убедись, что у тебя установлен Python 3.8+ (Origin: 3.12). Затем установи нужные библиотеки:
pip install -r requirements.txt
Зависимости:
discord.py
,pyyaml
,schema
,Pillow
. -
Настрой config.yaml:
Открой файл
config.yaml
и добавь:- Токен бота (получишь на Discord Developer Portal).
- Твой Discord ID в поле
owner_id
(нужно для админ команд). Пример:
token: "твой-токен-бота" owner_id: 123456789012345678 log_level: INFO
-
Запусти бота:
python src/bot.py
-
Добавь бота на сервер:
- Создай приглашение для бота через Discord Developer Portal.
- Убедись, что у бота есть права на чтение/отправку сообщений, кик/бан и управление вебхуками.
src/
- Каталог бота:bot.py
- Главный файл бота.config_manager.py
- Управление конфигурацией.utils.py
- Утилиты и логирование.warning_manager.py
- Система предупреждений.violation_history.py
- История нарушений.cogs/
- Модули (cogs) для модерации, верификации, логов и админ-команд.
guilds/
- Конфигурации для каждого сервера (создаются автоматически).logs/
- Логи работы бота.violations.json
- История нарушений.config.yaml
- Глобальная конфигурация.
discord.py
- для работы с Discord API.pyyaml
- для работы с YAML-конфигами.schema
- для валидации конфигураций.Pillow
- для генерации капчи (режим image).
Установить всё разом:
pip install discord.py pyyaml schema Pillow
- Глобальная конфигурация (
config.yaml
): Задай токен, ID владельца и уровень логов (INFO
по умолчанию). - Конфигурация сервера (
guilds/<guild_id>.yaml
): Настраивай лимиты спама, капчу, действия (warn, timeout, kick, ban) и каналы для логов. - Логирование: Логи пишутся в
logs/
с датой в имени файла. Полезно для отладки. - Капча: Поддерживает режимы
none
,image
(генерирует картинку с кодом) иreaction
(реакция на эмодзи).
- После запуска бот появится онлайн и начнёт следить за сервером.
- Используй слэш-команды (
/lock_bots
,/set_threshold
,/show_config
и др.) для управления. Они доступны админам и владельцу. - Настрой игнорируемые роли и пользователей через
/ignore_role
и/ignore_user
, чтобы бот не трогал модераторов или других спец. пользователей. - Проверяй статистику инцидентов через
/stats
или логи в указанном канале.
Хочешь улучшить бота? Мы рады любому вкладу! Сделай PR/Fork на GitHub, делай изменения и отправляй пулл-реквест :)
- Captcha, наброски уже добавлены осталось собрать.
- Адаптация под мультисервер
- Поддержка redis/sqlite для инцидентов
- Команда [/setup] дабы настроить бота интерактивно
MIT License. Copyright (c) 2025 Pterohost.