Многофункциональный Discord бот с системой уровней, модерацией, автомодерацией, тикетами, временными голосовыми каналами и другими полезными функциями.
-
Система уровней - пользователи получают опыт за активность в чате
- Красивые карточки уровней
- Таблица лидеров
- Автоматическая выдача ролей за уровни
-
Модерация - команды для модерации сервера (бан, кик, мут, предупреждения)
- Базовые команды (бан, кик, мут, очистка сообщений)
- Автомодерация (фильтр слов, анти-спам, лимит упоминаний)
- Система предупреждений
-
Автомодерация - защита от спама, нецензурных слов, множественных упоминаний
-
Система тикетов - создание тикетов для общения с администрацией
-
Временные голосовые каналы - создание временных голосовых каналов пользователями
-
Системы логирования - логирование действий на сервере
- Отслеживание действий модерации
- Логи сообщений (удаление, редактирование)
- Логи участников (вход/выход, изменение ролей)
- Логи голосовых каналов
-
Приветствия - настраиваемые сообщения при входе на сервер
- Настраиваемый канал приветствий
- Красивые карточки приветствия
- Документация: docs/overview.md
- Установка: docs/setup.md
- Конфигурация: docs/configuration.md
- FAQ: docs/faq.md
- Миграция: docs/migration.md
- Python 3.10 или выше
- Redis (опционально, для кэширования)
- PostgreSQL (опционально, по умолчанию используется SQLite)
-
Клонируйте репозиторий:
git clone https://github.com/dev-leva1/discord-bot.git cd discord-bot -
Установите зависимости:
uv pip install -e .[dev] -
Создайте файл
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 -
Запустите бота:
python bot.py
-
Соберите образ:
docker build -t discord-bot . -
Запустите контейнер:
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.