Простой бот для модерации 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.