discord-bot/FEATURES.md

8.1 KiB
Raw Blame History

🤖 Loki Discord Bot - Функции

📋 Описание

Многофункциональный Discord бот с системой уровней, личными голосовыми каналами, модерацией и развлекательными командами.

Технологии:

  • Java 21
  • JDA 5.0.0
  • SQLite + автомиграция
  • Google Guice (DI)

⭐ Основные функции

🎯 Система уровней и опыта

  • Формула: 200 XP × уровень
  • Получение XP:
    • 10 XP за сообщение (cooldown 60 сек)
    • 1 XP за минуту в войсе
  • Команды:
    • /rank [@user] - карточка ранга
    • /leaderboard - топ по уровням/сообщениям/войсу
  • Уведомления: Красивые embed при повышении уровня
  • Награды: Роли за достижение уровней (5, 10, 20, 30, 50)

🎤 Личные голосовые каналы

  • Автосоздание: Зайди в канал-триггер → создастся личный канал
  • Управление через кнопки:
    • 🔒 Закрыть/Открыть
    • 👥 Лимит пользователей
    • ✏️ Переименовать
    • 🎨 Битрейт
    • 🚫 Удалить
  • Автоудаление: Пустые каналы удаляются автоматически
  • Настройка: /voice-setup

📊 Счетчик участников

  • Автообновление: Название канала с количеством участников
  • Формат: 【👥】Участники: 123
  • Статистика: Присоединения/выходы за день
  • История: 30 дней
  • Настройка: /counter-setup

📝 Логи модерации

  • Что логируется:
    • 🗑️ Удаление сообщений
    • 🔨 Баны/разбаны
    • 👢 Кики
    • 🔇 Муты/размуты
    • 🎤 Отключение микрофона/звука
  • Настройка: /log-setup moderation

🎮 Развлекательные команды

Игры:

  • /coin - подбросить монетку
  • /dice - бросить кубик
  • /8ball - магический шар
  • /ship @user1 @user2 - совместимость
  • /rate - оценить что-то
  • /gay/@fat/@iq/@pp - процентомеры

Взаимодействия:

  • /hug/@kiss/@pat/@poke - обнять/поцеловать/погладить/ткнуть
  • /slap/@tickle/@cuddle - шлепнуть/пощекотать/обнять
  • /compliment/@roast - комплимент/жарка
  • /feed - покормить

🛡️ Модерация

  • /ban/@kick - бан/кик пользователя
  • /clear <amount> - очистить сообщения
  • Автологирование всех действий

🎨 Кастомные роли

  • /createrole - создать роль
  • /deleterole - удалить роль
  • /editrole - редактировать роль
  • /myroles - мои роли

📈 Статистика

  • /stats [@user] - статистика пользователя
  • /rep/@minusrep - репутация
  • /reptop - топ по репутации
  • /serverstats - статистика сервера

🔧 Утилиты

  • /avatar [@user] - аватар пользователя
  • /info [@user] - информация о пользователе
  • /poll - создать голосование
  • /ping - пинг бота
  • /help - справка
  • /tts <text> - озвучить текст

⚙️ Команды настройки (только админы)

Личные войс-каналы

/voice-setup trigger <channel>      - канал-триггер
/voice-setup category <category>    - категория для каналов
/voice-setup text-channel <channel> - текстовый канал для панелей
/voice-setup info                   - показать настройки

Счетчик участников

/counter-setup channel <channel>  - установить канал
/counter-setup format <format>    - формат ({count})
/counter-setup info               - показать настройки

Логирование

/log-setup moderation <channel>  - канал логов модерации
/log-setup levelup <channel>     - канал уведомлений level up
/log-setup info                  - показать настройки

🗄️ База данных

SQLite с автоматической миграцией из JSON:

  • config - конфигурация
  • user_stats - статистика пользователей
  • reputation - репутация
  • ship_pairs - ship пары
  • custom_roles - кастомные роли
  • voice_channels - личные каналы
  • counter_stats - статистика счетчика

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

  1. Запуск:
gradle run
  1. Настройка:
/voice-setup trigger #создать-канал
/voice-setup category Личные каналы
/voice-setup text-channel #управление

/counter-setup channel #счетчик
/counter-setup format 【👥】Участники: {count}

/log-setup moderation #логи
/log-setup levelup #level-up
  1. Готово! Зайди в канал-триггер → создастся личный канал

📦 Структура проекта

src/main/java/creator/loki/
├── audio/          # TTS и аудио
├── command/        # Команды
│   └── impl/
│       ├── entertainment/  # Игры и взаимодействия
│       ├── moderation/     # Модерация
│       ├── roles/          # Кастомные роли
│       ├── setup/          # Настройка
│       ├── stats/          # Статистика
│       └── utility/        # Утилиты
├── config/         # Конфигурация
├── core/           # Ядро бота
├── counter/        # Счетчик участников
├── data/           # JSON хранилище
├── database/       # SQLite + миграция
├── level/          # Система уровней
├── listener/       # Event listeners
├── voice/          # Личные каналы
└── util/           # Утилиты

🎯 Особенности

✅ Dependency Injection (Google Guice)
✅ SQLite с автомиграцией из JSON
✅ Graceful shutdown всех компонентов
✅ Логирование (SLF4J + Logback)
✅ Кэширование (Caffeine)
✅ Rate limiting и cooldowns
✅ Метрики производительности
✅ Модульная архитектура


📝 Права бота

Необходимые права:

  • ✅ MANAGE_CHANNELS - создание/удаление каналов
  • ✅ MOVE_MEMBERS - перемещение пользователей
  • ✅ MANAGE_PERMISSIONS - выдача прав
  • ✅ MANAGE_ROLES - управление ролями
  • ✅ BAN_MEMBERS - баны
  • ✅ KICK_MEMBERS - кики
  • ✅ MANAGE_MESSAGES - удаление сообщений
  • ✅ VIEW_AUDIT_LOG - просмотр логов

🔄 Обновления

v2.0 (2026-05-11)

  • ✅ SQLite база данных
  • ✅ Автомиграция из JSON
  • ✅ Личные голосовые каналы
  • ✅ Счетчик участников
  • ✅ Логи модерации
  • ✅ Уведомления level up
  • ✅ Обработчик кнопок для войс-каналов

v1.0

  • Базовая система уровней
  • Команды развлечений
  • Модерация
  • Кастомные роли

Версия: 2.0
Дата: 2026-05-11
Автор: Loki Bot Team