- Webhook’и игрового сервера
- Встроенный бот игрового сервера
- Отдельный бот
Предварительные требования
В этом руководстве часто будут упоминаться «ID» каналов Discord, серверов и т.д. Чтобы получить их, включите «Режим разработчика» в настройках Discord, после чего вы сможете щёлкать правой кнопкой мыши по объектам, чтобы получить их ID.Webhook’и игрового сервера
Самая простая форма интеграции предоставляется Discord Webhook’ами. Она позволяет игровому серверу напрямую отправлять сообщения в определённые каналы Discord с минимальной настройкой. В настоящее время это используется для следующих функций:- Автоматические уведомления о статусе раунда (завершение, начало).
- Включает пинг роли, когда раунд завершён.
- Пересылка внутриигровых сообщений adminhelp.
Встроенный бот игрового сервера
Это подразумевает, что игровой сервер размещает собственного внутреннего Discord-бота, что позволяет использовать более продвинутые функции, чем могут предоставить простые webhook’и, но опять же с относительно небольшими усилиями по настройке. В настоящее время это используется для следующих функций:- Двунаправленный мост OOC/Admin чата
- И многое другое!
Обзор
Игровой сервер способен запускать собственного Discord-бота напрямую через Discord.Net. Это означает, что вам не нужно запускать отдельную программу на вашем сервере для получения этой функциональности, вам нужно только создать бота на сайте разработчиков Discord и соответствующим образом настроить ваш сервер.Основная настройка
Создание бота
- Перейдите на сайт разработчиков Discord, чтобы зарегистрировать новое приложение.
- Дайте вашему боту подходящее имя, аватар и всё такое.
- Скорее всего, вы захотите сделать бота приватным, чтобы только вы могли добавлять его в Discord-сообщества. Для этого:
- Перейдите в «Installation» и установите «Install Link» в «None».
- Перейдите в «Bot» и отключите «Public Bot»
- В разделе «Bot» включите «Server Members Intent» и «Message Content Intent».
- Перейдите в «OAuth» и сгенерируйте URL для установки, отметив следующие флажки и нажав кнопку копирования:

- Вставьте сгенерированный URL в браузер, чтобы установить бота.
- Перейдите в «Bot», нажмите «Reset Token» и скопируйте полученный токен.
Конфигурация сервера
Добавьте следующее в конфигурационный файл сервера для настройки Discord-бота:Релей чата (OOC/Admin чат)
Discord-бот может автоматически пересылать сообщения между Discord и внутриигровыми каналами. Это поддерживается как для OOC, так и для admin чата. Для настройки создайте каналы на стороне Discord и убедитесь, что у бота есть права на чтение и отправку сообщений в них. Затем добавьте следующую конфигурацию на ваш сервер:Отдельный бот
Это подразумевает запуск отдельного Discord-бота, который работает независимо от игровых серверов. Это функциональность, которая работает на официальном боте Overseer на Discord’е, включающая:- Проверка статуса игрового сервера и автоматическое обновление канала.
- Команды для перезапуска/остановки игровых серверов.
- Автоматические ответы на сообщения.

Мы предоставляем поддержку только для официальных wizard-cogs. Поддержка самого Red или других cog’ов не предоставляется нами, обращайтесь за поддержкой на официальный Discord RedBot или к соответствующему разработчику cog.
Настройка
- Следуйте документации Red по установке и запуску базового Red-бота. Обратите внимание, что, как и сервер SS14, вам нужен компьютер, который будет оставаться включённым для работы вашего бота.
- Если вы ещё этого не сделали, прочитайте страницу Getting started для Red.
- После того как вы настроили бота и пригласили его на свой сервер, вы можете установить репозиторий wizard-cogs для вашего бота. [p] в данном случае — это префикс вашего бота, который вы выбрали во время настройки redbot.
Подсказки
Статус игрового сервера

Настройка
- Установите
[p]cog install wizard-cogs gameserverstatus - Добавьте ваш сервер
[p]statuscfg addserver ss14 <имя-сервера> <адрес-вашего-сервера> - Готово! Посмотрите результат с помощью
[p]status <имя-сервера>(Конечно, ваш сервер должен быть онлайн)
Настройка автоматического отслеживания

- После добавления сервера используйте следующую команду
[p]statuscfg addwatch <сервер> <#канал> - Пока у бота есть права на публикацию в этом канале, вы увидите, что статус сервера автоматически обновляется в сообщении примерно каждые 2 секунды.
Действия управления через SS14.Watchdog

- Установите
[p]cog install wizard-cogs poweractions - Настройте ваш сервер, выполнив
[p]poweractionscfg addи нажав зелёную кнопку добавления. Только администраторы могут выполнять эту команду. В противном случае бот не ответит. Вы увидите форму, которую нужно заполнить (Примечание: ни мы, ни разработчики RedBot не получат эту информацию. Эта информация будет храниться только ботом и не будет отображаться публично.)

- Name: Имя сервера, которое вы будете указывать боту при перезапуске сервера.
- URL: URL экземпляра watchdog, убедитесь, что URL доступен боту. Пример: если вы открываете API watchdog по адресу ‘https://example.com/watchdog’, то это то, что вам нужно ввести. Вы также можете использовать ‘localhost’, если бот работает на той же машине, что и watchdog. Порт watchdog по умолчанию —
5000 - Server ID: Имя вашего сервера в appsettings.yml вашего watchdog, где хранится конфигурация вашего сервера. Не конфиг «Name».
- API token: ApiToken из конфигурации вашего watchdog.
- После нажатия кнопки отправки, если бот сообщил об успехе, вы закончили! Повторите для других ваших серверов.
Доступные команды
Перезапустить сервер сейчас:[p]restartserver <имя>
Перезапустить все серверы, настроенные у бота:
[p]restartnetwork
Запросит подтверждение перед выполнением
Остановить сервер после завершения текущего раунда:
[p]stopserver <имя>
Сообщить watchdog’у о необходимости подготовиться к обновлению сервера:
[p]updateserver <имя>
GitHub интеграция
Ещё не портировано на redbot. Вы можете использовать github webhook в качестве временного решения.Автоответчик (WYCI, Nanotrasen Block Game, Based)

[p]cog install wizard-cogs autoresponder
Почему… (Отвечает пользователям, говорящим «Something when» — фразой «When you code it», «Tetris» — «Nanotrasen Block Game» и «Based» — «Based on what». Это внутренняя шутка в сообществах Space Station 14)