Многофункциональный Discord бот с системой уровней, модерацией, автомодерацией, тикетами, временными голосовыми каналами и другими полезными функциями.
-
Система уровней - пользователи получают опыт за активность в чате
- Красивые карточки уровней
- Таблица лидеров
- Автоматическая выдача ролей за уровни
-
Модерация - команды для модерации сервера (бан, кик, мут, предупреждения)
- Базовые команды (бан, кик, мут, очистка сообщений)
- Автомодерация (фильтр слов, анти-спам, лимит упоминаний)
- Система предупреждений
-
Автомодерация - защита от спама, нецензурных слов, множественных упоминаний
-
Система тикетов - создание тикетов для общения с администрацией
-
Временные голосовые каналы - создание временных голосовых каналов пользователями
-
Системы логирования - логирование действий на сервере
- Отслеживание действий модерации
- Логи сообщений (удаление, редактирование)
- Логи участников (вход/выход, изменение ролей)
- Логи голосовых каналов
-
Приветствия - настраиваемые сообщения при входе на сервер
- Настраиваемый канал приветствий
- Красивые карточки приветствия
- Python 3.10 или выше
- Redis (опционально, для кэширования)
- PostgreSQL (опционально, по умолчанию используется SQLite)
-
Клонируйте репозиторий:
git clone https://github.com/dev-leva1/discord-bot.git cd discord-bot -
Установите зависимости:
pip install -r requirements.txt -
Создайте файл
.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 .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/
├── alembic/ # Миграции базы данных
├── cogs/ # Модули команд и событий
│ ├── admin.py
│ ├── commands.py
│ ├── events.py
│ ├── moderation.py
│ ├── tickets.py
│ └── voice.py
├── database/ # Работа с базой данных
│ └── db.py
├── utils/ # Утилиты
│ ├── monitoring.py
│ └── ...
├── .env # Переменные окружения
├── bot.py # Основной файл бота
├── leveling_system.py # Система уровней
├── moderation.py # Система модерации
└── ...
Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.
