Перейти к основному содержимому

Руководство по настройке Discord

Это руководство проведёт вас через процесс создания Discord-бота с нуля, настройки его разрешений и подключения к Elftia, чтобы ваш AI Agent работал внутри вашего сервера Discord.

Предварительные требования

  • Аккаунт Discord
  • Сервер Discord, на котором у вас есть права администратора (или создайте новый тестовый сервер)
  • Установленная Elftia с настроенным хотя бы одним LLM-провайдером

Шаг 1: Создание приложения Discord

  1. Откройте Discord Developer Portal
  2. Нажмите New Application в правом верхнем углу
  3. Введите название приложения (например, Elftia Bot) и нажмите Create
  4. Нажмите Bot в левом меню
  5. Запишите имя пользователя бота, отображённое на странице

Шаг 2: Получение токена бота

  1. На странице Bot найдите раздел Token
  2. Нажмите Reset Token (если это первый раз, токен будет показан напрямую)
  3. Скопируйте токен и сохраните его в надёжном месте

:::danger Предупреждение безопасности Токен бота эквивалентен паролю бота. Никогда не публикуйте его публично и не добавляйте в репозиторий. Если токен был скомпрометирован, немедленно сбросьте его в Developer Portal. :::

Шаг 3: Настройка разрешений бота

На странице Bot найдите раздел Privileged Gateway Intents и включите следующие два параметра:

  • MESSAGE CONTENT INTENT — позволяет боту читать содержимое сообщений (необходимо включить)
  • SERVER MEMBERS INTENT — позволяет получать информацию об участниках сервера (рекомендуется)

Нажмите Save Changes в нижней части страницы.

:::info Зачем нужен Message Content Intent? С 2022 года Discord требует, чтобы все боты явно включали Message Content Intent для чтения содержимого сообщений. Без него бот получает только пустые сообщения. :::

Шаг 4: Создание ссылки-приглашения

  1. Нажмите OAuth2 → URL Generator в левом меню
  2. Установите флажок bot в разделе SCOPES
  3. Установите следующие флажки в разделе BOT PERMISSIONS:
РазрешениеОписание
Send MessagesОтправка сообщений
Read Message HistoryЧтение истории сообщений
View ChannelsПросмотр каналов
Embed LinksОтправка встроенных ссылок
Attach FilesОтправка прикреплённых файлов
Add ReactionsДобавление реакций эмодзи
Use External EmojisИспользование внешних эмодзи
  1. Скопируйте GENERATED URL в нижней части страницы

Шаг 5: Приглашение бота на сервер

  1. Откройте ссылку-приглашение, скопированную на предыдущем шаге, в браузере
  2. Выберите целевой сервер (у вас должно быть разрешение Manage Server на этом сервере)
  3. Просмотрите список разрешений
  4. Нажмите Authorize и пройдите проверку CAPTCHA

После успешного приглашения вы увидите бота в списке участников сервера (отображается как offline, поскольку он ещё не подключён).

Шаг 6: Настройка в Elftia

  1. Откройте Elftia и перейдите в Настройки → Channel
  2. Нажмите Добавить канал
  3. Выберите Discord (если плагин не установлен, он будет автоматически загружен из Marketplace)
  4. Заполните форму конфигурации:
ПолеЗначение
Отображаемое имяНазвание этого экземпляра (например, Мой Discord Bot)
Токен ботаВставьте токен, полученный на шаге 2
  1. Нажмите Проверить соединение, чтобы убедиться в валидности токена
  2. Нажмите Сохранить, чтобы создать экземпляр Channel

Шаг 7: Настройка правил триггеров

После создания экземпляра рекомендуется настроить соответствующие правила триггеров:

РежимРекомендуется дляКонфигурация
mentionСерверы с несколькими пользователямиAgent отвечает только при упоминании через @. Установите mentionName на имя пользователя бота
allВыделенные/тестовые серверыAgent отвечает на все сообщения; подходит для личного использования
keywordКаналы по конкретной темеЗадайте список ключевых слов-триггеров; без учёта регистра
dm_onlyПубличные серверыAgent отвечает только на личные сообщения; полностью молчит в группах

Выберите режим триггера и настройте соответствующие параметры в настройках Channel.

Шаг 8: Запуск соединения

  1. Найдите только что созданный экземпляр Discord на странице Channel
  2. Нажмите кнопку Подключить (или включите Автоподключение)
  3. Подождите, пока статус не изменится на Подключено (зелёный индикатор)
  4. Отправьте сообщение боту в Discord для тестирования

При использовании режима mention не забудьте упомянуть бота через @ в сообщении:

@Elftia Bot Привет, расскажи о себе

Особенности платформы Discord

ФункцияПоддержка
Групповой чатПоддерживается
Личные сообщения (DM)Поддерживаются
Прикреплённые файлыПоддерживаются
Индикатор набора текстаПоддерживается
Реакции эмодзиПоддерживаются
Треды/форумыЧастичная поддержка
Ограничение длины сообщения2 000 символов

Когда ответ Agent превышает 2 000 символов, система автоматически разбивает его на несколько сообщений. Разбивка выполняется предпочтительно по переносам строк, затем по пробелам и в крайнем случае — жёсткое обрезание.

Часто задаваемые вопросы

Бот отображается как offline

  • Проверьте, отображает ли статус экземпляра Channel в Elftia «Подключено»
  • Убедитесь, что токен бота указан верно
  • Убедитесь, что приложение Elftia запущено (плагины Channel работают в основном процессе; бот уходит в offline при закрытии приложения)

Бот в сети, но не отвечает

  • Проверьте, правильно ли настроено правило триггера. При использовании режима mention убедитесь, что mentionName соответствует фактическому имени пользователя бота
  • Убедитесь, что MESSAGE CONTENT INTENT включён в Developer Portal
  • Проверьте логи Elftia на наличие записей о перехватах со стороны системы безопасности (RateLimiter, PromptGuardian и т.д.)
  • Убедитесь, что у Agent правильно настроены LLM-провайдер и модель

Сообщения обрезаются

Ограничение одного сообщения Discord составляет 2 000 символов. Если ответ Agent слишком длинный, система разбивает его и отправляет несколькими сообщениями. Если ответ кажется неполным, проверьте наличие последующих сообщений.

Ошибки разрешений (Missing Permissions)

  • Убедитесь, что бот имеет разрешения Send Messages и View Channel в целевом канале
  • Проверьте, не ограничивают ли правила переопределения в настройках ролей сервера права бота
  • Повторно сгенерируйте ссылку-приглашение в Developer Portal и убедитесь, что все необходимые разрешения отмечены

Несколько экземпляров Discord

Вы можете создать несколько экземпляров Discord Channel в Elftia, каждый с разным токеном бота и подключённый к разному серверу. Каждый экземпляр может иметь независимые правила триггеров и политики безопасности.

Следующие шаги