Skip to content

dev-leva1/discord-bot

Discord Bot

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

Preview png

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

  • Система уровней - пользователи получают опыт за активность в чате

    • Красивые карточки уровней
    • Таблица лидеров
    • Автоматическая выдача ролей за уровни
  • Модерация - команды для модерации сервера (бан, кик, мут, предупреждения)

    • Базовые команды (бан, кик, мут, очистка сообщений)
    • Автомодерация (фильтр слов, анти-спам, лимит упоминаний)
    • Система предупреждений
  • Автомодерация - защита от спама, нецензурных слов, множественных упоминаний

  • Система тикетов - создание тикетов для общения с администрацией

  • Временные голосовые каналы - создание временных голосовых каналов пользователями

  • Системы логирования - логирование действий на сервере

    • Отслеживание действий модерации
    • Логи сообщений (удаление, редактирование)
    • Логи участников (вход/выход, изменение ролей)
    • Логи голосовых каналов
  • Приветствия - настраиваемые сообщения при входе на сервер

    • Настраиваемый канал приветствий
    • Красивые карточки приветствия

Быстрые ссылки

Установка и запуск

Предварительные требования

  • Python 3.10 или выше
  • Redis (опционально, для кэширования)
  • PostgreSQL (опционально, по умолчанию используется SQLite)

Установка

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

    git clone https://github.com/dev-leva1/discord-bot.git cd discord-bot 
  2. Установите зависимости:

    uv pip install -e .[dev] 
  3. Создайте файл data/.env:

    # Discord Bot Token DISCORD_TOKEN=your_discord_token_here # Database Configuration DB_POOL_SIZE=5 REDIS_URL=redis://localhost:6379/0 # Monitoring USE_METRICS=true METRICS_PORT=8000 SENTRY_DSN=your_sentry_dsn_here ENVIRONMENT=development VERSION=1.0.0 
  4. Запустите бота:

    python bot.py 

Использование Docker (опционально)

  1. Соберите образ:

    docker build -t discord-bot . 
  2. Запустите контейнер:

    docker run -d --name discord-bot --env-file data/.env discord-bot 

Команды

Общие команды

  • /help - Список доступных команд
  • /rank [пользователь] - Показать уровень пользователя
  • /leaderboard [лимит] - Таблица лидеров по уровням
  • /ping - Проверка задержки бота
  • /serverinfo - Информация о сервере
  • /userinfo [пользователь] - Информация о пользователе

Модерация

  • /ban <пользователь> [причина] - Забанить пользователя
  • /kick <пользователь> [причина] - Выгнать пользователя
  • /mute <пользователь> <длительность> [причина] - Замутить пользователя
  • /clear <количество> - Очистить сообщения
  • /warn_add <пользователь> <причина> - Выдать предупреждение
  • /warn_remove <пользователь> <id> - Удалить предупреждение
  • /warn_list <пользователь> - Список предупреждений
  • /warn_clear <пользователь> - Очистить все предупреждения

Автомодерация

  • /automod addword - Добавить запрещенное слово
  • /automod removeword - Удалить запрещенное слово
  • /automod listwords - Список запрещенных слов
  • /automod setspam - Установить порог спама
  • /automod setinterval - Установить интервал спама
  • /automod setmentions - Установить лимит упоминаний
  • /automod setwarnings - Установить максимум предупреждений
  • /automod setmute - Установить длительность мута

Тикеты

  • /ticket create <тема> - Создать тикет
  • /ticket close [причина] - Закрыть тикет
  • /ticket setup - Настроить систему тикетов (только для администраторов)

Голосовые каналы

  • /voice name <название> - Изменить название канала
  • /voice limit <лимит> - Установить лимит пользователей
  • /voice lock - Закрыть канал
  • /voice unlock - Открыть канал
  • /voice setup - Настроить временные голосовые каналы (только для администраторов)

Настройки (только для администраторов)

  • /setwelcome <канал> - Установить канал приветствий
  • /setlogs <канал> - Установить канал для логов
  • /addrole <роль> <уровень> - Добавить роль за уровень
  • /removerole <роль> - Удалить роль за уровень
  • /listroles - Список ролей за уровни
  • /automod - Настройка автомодерации

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

mee6/ ├── .github/ # Шаблоны и CI ├── alembic/ # Миграции БД ├── assets/ # Шрифты и ресурсы ├── data/ # .env, JSON конфиги, база ├── docs/ # Документация ├── src/ # Исходный код │ ├── app/ │ ├── application/ │ ├── cogs/ │ ├── infrastructure/ │ └── ... ├── tests/ # Тесты ├── bot.py # Точка входа └── pyproject.toml # Зависимости и метаданные 

Лицензия

Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.

About

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

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages