Многофункциональный 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.