Skip to content

Pterohost/Luxfurd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Luxfurd v1

Простой бот для модерации Discord-серверов от Pterohost! Это open-source проект распространяемый под лицензией MIT. Исходный код доступен на GitHub.

Что умеет бот?

Guardian Luxfurd - это мощный инструмент для автоматической модерации и защиты Discord-серверов. Вот его ключевые фичи:

  • Модерация на автомате: Ловит спам, повторяющиеся сообщения, подозрительные ссылки, тонны эмодзи и чрезмерные упоминания. Нарушители получают предупреждения, а при упорстве - тайм-аут, кик или бан.
  • Проверка новичков: Проверяет новых участников по возрасту аккаунта, наличию аватара.
  • Защита от ботов и вебхуков: Блокирует несанкционированных ботов и вебхуки, чтобы сервер не превратился в хаос если недобросовестный админ начнет шалить.
  • Логи и статистика: Ведёт подробный журнал всех инцидентов и алертов в консоле, и в каналах.
  • Гибкая настройка: Всё настраивается через YAML-файлы, можно изменить пороги срабатываний.
  • Анализ блоков и сообщений: Бот может проверять код, отправленный в чат, на наличие подозрительных элементов (например, вредоносных ссылок или спама). Это помогает защитить сервер от потенциальных угроз, замаскированных под "код".

Анализ блоков: как это работает?

Бот сканирует сообщения с кодом (например, в блоках python) и проверяет их на:

  • Ссылки: Ловит подозрительные URL, которые могут вести на фишинговые сайты.
  • Спам: Определяет, не пытается ли кто-то зафлудить чат повторяющимся кодом.
  • Ключевые слова: Может искать определённые паттерны (например, попытки внедрить скрипты или команды). Настраивается через конфиг. Если что-то не так, бот выдаёт предупреждение, удаляет сообщение или применяет наказание, в зависимости от настроек.

Почему Guardian Bot?

  • Простота: Установить и вписать токен бота - готово.
  • Мощность: Справляется с большими серверами, где сотни участников и куча активности.
  • Гибкость: Настрой всё под себя через YAML, от лимитов до наказаний.
  • Open-source: Полный доступ к коду. Хочешь доработать? Делай форк, вноси свой вклад :)
  • Безопасность: Защищает от типичных угроз вроде спама, ботов и подозрительных ссылок в коде.
  • Поддержка сообщества: Открытый исходный код, ты можешь внести свой вклад через GitHub.

Установка

Поставить бота на свой сервер - дело пары минут. Вот пошаговая инструкция:

  1. Склонируй репозиторий:

    git clone https://github.com/Pterohost/Luxfurd.git
    cd Luxfurd
  2. Установи зависимости:

    Убедись, что у тебя установлен Python 3.8+ (Origin: 3.12). Затем установи нужные библиотеки:

    pip install -r requirements.txt

    Зависимости: discord.py, pyyaml, schema, Pillow.

  3. Настрой config.yaml:

    Открой файл config.yaml и добавь:

    • Токен бота (получишь на Discord Developer Portal).
    • Твой Discord ID в поле owner_id (нужно для админ команд). Пример:
    token: "твой-токен-бота"
    owner_id: 123456789012345678
    log_level: INFO
  4. Запусти бота:

    python src/bot.py
  5. Добавь бота на сервер:

    • Создай приглашение для бота через 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 (реакция на эмодзи).

Как использовать?

  1. После запуска бот появится онлайн и начнёт следить за сервером.
  2. Используй слэш-команды (/lock_bots, /set_threshold, /show_config и др.) для управления. Они доступны админам и владельцу.
  3. Настрой игнорируемые роли и пользователей через /ignore_role и /ignore_user, чтобы бот не трогал модераторов или других спец. пользователей.
  4. Проверяй статистику инцидентов через /stats или логи в указанном канале.

Вклад в проект

Хочешь улучшить бота? Мы рады любому вкладу! Сделай PR/Fork на GitHub, делай изменения и отправляй пулл-реквест :)

WIP (Work In Progress)

  • Captcha, наброски уже добавлены осталось собрать.
  • Адаптация под мультисервер
  • Поддержка redis/sqlite для инцидентов
  • Команда [/setup] дабы настроить бота интерактивно

Лицензия

MIT License. Copyright (c) 2025 Pterohost.