Brief functionality:
Discord | Telegram |
---|---|
Automatic voice moderation | Quest game bot |
Ordos — многофункциональный бот. В репозиторий включен игровой квест-бот для Telegram и бот-модератор для Discord. Discord сразу запустить не получится (см. инструкцию запуска).
Telegram | Discord |
---|---|
Что делают 2 разных бота в 1 репозитории?
Изначально планировалось, что будет игровой бот, который будет поддерживать как Discord, так и Telegram, но по итогу я ограничился лишь одним ботом для игр. Соответственно, базу для обоих ботов я уже написал, но в Discord-бота попросту не успел внедрить функционал. Далее я делал ВКР по теме, связанной с модерацией голосовых чатов, и поэтому использовал Discord-базу для его создания. Выложить на GitHub всё это я решился только недавно ну и у меня не было много лишнего времени, чтобы заморачиваться над разделением репозиториев) Поэтому вот так.
Ordos (греч.) — порядок
Бот автоматически модерирует один из голосовых чатов на серверах Discord. Список запрещенных слов можно настроить индивидуально для каждого сервера. Есть функция определния токсичного поведения.
Презентация с защиты
Ссылка на эту презентацию (pdf)
Не на постоянном хосте, может быть отключен
Ссылка для добавления бота к себе на сервер
Не на постоянном хосте, может быть отключен
Telegram @the_ordos_bot
Для запуска ботов нужно создать папку config в корне и в неё поместить config.py. Что писать в конфиг читайте далее.
Получите токен от Telegram @BotFather и внесите его в config.py.
config.py | run command |
---|---|
tgbot_token (string, BotFather token) | python bot/telegram_bot.py |
Предварительно нужно реализовать интерфейс STT ресивера аналогично примеру STT_Process_examples/docker_reciever.py
STT ресивер к репозиторию не прилагается, это отдельный скрипт (могу отдельно залить на GitHub или Docker если вдруг кому-то понадобится...). Заливаю отдельно, т.к. в рамках ВКР я использовал STT Nvidia NEMO с Docker'a, соответственно у меня скрипт аж на другой системе (Docker -> Windows WSL -> Linux Docker NEMO Image), а этот интерфейс позволяет с помощью SyncManager общаться двум Python-процессам в рамках одной сети.
config.py dsbot_token | stt_connect_key | run command |
---|---|---|
(string, Discord Dev token) | bytes string b'key' for connect to stt reciever |
python bot/discord_bot.py |
config | run command |
---|---|
настроить оба | python main.py |