Руководство по настройке Discord
Это руководство проведёт вас через процесс создания Discord-бота с нуля, настройки его разрешений и подключения к Elftia, чтобы ваш AI Agent работал внутри вашего сервера Discord.
Предварительные требования
- Аккаунт Discord
- Сервер Discord, на котором у вас есть права администратора (или создайте новый тестовый сервер)
- Установленная Elftia с настроенным хотя бы одним LLM-провайдером
Шаг 1: Создание приложения Discord
- Откройте Discord Developer Portal
- Нажмите New Application в правом верхнем углу
- Введите название приложения (например,
Elftia Bot) и нажмите Create - Нажмите Bot в левом меню
- Запишите имя пользователя бота, отображённое на странице
Шаг 2: Получение токена бота
- На странице Bot найдите раздел Token
- Нажмите Reset Token (если это первый раз, токен будет показан напрямую)
- Скопируйте токен и сохраните его в надёжном месте
:::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: Создание ссылки-приглашения
- Нажмите OAuth2 → URL Generator в левом меню
- Установите флажок
botв разделе SCOPES - Установите следующие флажки в разделе BOT PERMISSIONS:
| Разрешение | Описание |
|---|---|
| Send Messages | Отправка сообщений |
| Read Message History | Чтение истории сообщений |
| View Channels | Просмотр каналов |
| Embed Links | Отправка встроенных ссылок |
| Attach Files | Отправка прикреплённых файлов |
| Add Reactions | Добавление реакций эмодзи |
| Use External Emojis | Использование внешних эмодзи |
- Скопируйте GENERATED URL в нижней части страницы
Шаг 5: Приглашение бота на сервер
- Откройте ссылку-приглашение, скопированную на предыдущем шаге, в браузере
- Выберите целевой сервер (у вас должно быть разрешение Manage Server на этом сервере)
- Просмотрите список разрешений
- Нажмите Authorize и пройдите проверку CAPTCHA
После успешного приглашения вы увидите бота в списке участников сервера (отображается как offline, поскольку он ещё не подключён).
Шаг 6: Настройка в Elftia
- Откройте Elftia и перейдите в Настройки → Channel
- Нажмите Добавить канал
- Выберите Discord (если плагин не установлен, он будет автоматически загружен из Marketplace)
- Заполните форму конфигурации:
| Поле | Значение |
|---|---|
| Отображаемое имя | Название этого экземпляра (например, Мой Discord Bot) |
| Токен бота | Вставьте токен, полученный на шаге 2 |
- Нажмите Проверить соединение, чтобы убедиться в валидности токена
- Нажмите Сохранить, чтобы создать экземпляр Channel
Шаг 7: Настройка правил триггеров
После создания экземпляра рекомендуется настроить соответствующие правила триггеров:
| Режим | Рекомендуется для | Конфигурация |
|---|---|---|
mention | Серверы с несколькими пользователями | Agent отвечает только при упоминании через @. Установите mentionName на имя пользователя бота |
all | Выделенные/тестовые серверы | Agent отвечает на все сообщения; подходит для личного использования |
keyword | Каналы по конкретной теме | Задайте список ключевых слов-триггеров; без учёта регистра |
dm_only | Публичные серверы | Agent отвечает только на личные сообщения; полностью молчит в группах |
Выберите режим триггера и настройте соответствующие параметры в настройках Channel.
Шаг 8: Запуск соединения
- Найдите только что созданный экземпляр Discord на странице Channel
- Нажмите кнопку Подключить (или включите Автоподключение)
- Подождите, пока статус не изменится на Подключено (зелёный индикатор)
- Отправьте сообщение боту в 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, каждый с разным токеном бота и подключённый к разному серверу. Каждый экземпляр может иметь независимые правила триггеров и политики безопасности.
Следующие шаги
- Правила триггеров и безопасность — подробнее о режимах триггеров и настройке системы безопасности
- Обзор мультиплатформенных каналов — изучите другие поддерживаемые платформы