Skip to main content

Обзор

Доступ к вашему инстансу Yahont можно получить через бота для Discord.
Нужно создать собственное приложение Discord в Developer Portal.

Конфигурация

Бот для Discord с самостоятельным размещением

Если вы хотите развернуть собственного бота для Discord со своим инстансом Yahont с самостоятельным размещением, вам нужно создать собственное приложение Discord.
В Developer Portal вы увидите упоминания «Guilds». Так в Discord внутренне называются серверы.
1

Создайте новое приложение Discord

Откройте Discord Developer Portal и нажмите New Application.Задайте приложению имя и нажмите Create.Создание нового приложения Discord
2

Настройте разрешения и параметры установки

Откройте вкладку Installation.Снимите флажок User Install. Приложение Discord нельзя устанавливать для личного использования. Его нужно устанавливать только на серверы.Добавьте следующие области:
Добавьте следующие разрешения:
Конфигурация установки Discord
3

Включите Privileged Gateway Intents

На вкладке Bot прокрутите до раздела Privileged Gateway Intents и включите все 3 переключателя:
  • Presence Intent
  • Server Members Intent
  • Message Content Intent
Privileged gateway intents Discord
4

Установите приложение на ваш сервер Discord

Используйте Install Link на вкладке Installation, чтобы установить приложение на ваш сервер Discord.
5

Разрешите приложению доступ к приватному текстовому каналу

Откройте настройки канала и перейдите на вкладку «Разрешения».Добавьте своё приложение в список «Разрешённые пользователи».Доступ YahontBot к приватному текстовому каналу
6

Получите токен бота

В Developer Portal откройте вкладку Bot и найдите раздел Token.Нажмите Reset Token и скопируйте токен бота.Настройка токена бота Discord
7

Настройте приложение в Yahont

Откройте панель администратора Yahont > Боты Discord.Вставьте токен бота в поле Токен бота и нажмите Создать!Токен бота Discord
8

Создайте ключ регистрации в Yahont

Нажмите кнопку Добавить сервер и скопируйте ключ регистрации.
Ключ регистрации показывается только один раз. Если вы его потеряете, удалите конфигурацию сервера и создайте новую.Ключ становится недействительным сразу после использования и не даёт никакого другого доступа к вашему инстансу Yahont.
9

Зарегистрируйте сервер в Yahont

Отправьте ключ регистрации в приватном канале, к которому вы разрешили доступ своему приложению.Ваш бот Yahont должен ответить сообщением, подтверждающим регистрацию сервера.YahontBot зарегистрирован в YahontВ Yahont вы должны увидеть статус сервера Зарегистрирован.YahontBot зарегистрирован в Yahont
10

Настройте поведение в каналах

Нажмите значок карандаша рядом с названием сервера, чтобы настроить поведение бота.
По умолчанию бот не отвечает ни в каких каналах. Нужно выбрать каналы, в которых бот должен отвечать.Настоятельно рекомендуем настроить для бота пользовательского агента с определённым доступом к данным. Иначе он может отвечать на основе приватно проиндексированных данных.
Можно настроить:
  • Агента по умолчанию, который формирует ответы бота
  • Переопределения агента для отдельных каналов
  • Должен ли бот отвечать на все сообщения или только на сообщения с упоминанием @OnyxBot
  • Отвечает ли бот в ответах или в ветках
Настройка поведения в каналах

FAQ

Почему я не вижу все свои каналы в Yahont?

Если вы добавили или удалили каналы на сервере Discord, их нужно синхронизировать с Yahont. Выполните !sync-channels в любом текстовом канале, к которому у YahontBot есть доступ.

! уже занят другой командой!

!sync-channels — пока единственная команда, поддерживаемая YahontBot. При самостоятельном размещении можно изменить префикс команд, задав переменную окружения DISCORD_BOT_INVOKE_CHAR. Если вы используете официального YahontBot, к сожалению, мы не можем изменить префикс. Однако вы всё равно можете выполнить команду, создав приватный канал, к которому есть доступ только у YahontBot.

Мой бот для Discord подключён, но не отвечает ни на какие сообщения

Если вы наблюдаете такое поведение, возможно, вы столкнулись со следующей ошибкой (в фоновом контейнере):
Чтобы это исправить, убедитесь, что у вас последние файлы docker-compose.yml, выполнив git pull в вашем репозитории Yahont. Убедитесь, что API_SERVER_PROTOCOL и API_SERVER_HOST есть в вашем compose-файле.