Discord
Подключение PRX к Discord с помощью бот-приложения через Gateway WebSocket для обмена сообщениями в реальном времени на серверах и в ЛС.
Предварительные требования
- Аккаунт Discord
- Приложение Discord с пользователем-ботом, созданное в Developer Portal
- Бот, приглашённый на ваш сервер с соответствующими разрешениями
Быстрая настройка
1. Создание бот-приложения
- Перейдите в Discord Developer Portal
- Нажмите «New Application» и дайте имя
- Перейдите в раздел «Bot» и нажмите «Add Bot»
- Скопируйте токен бота
- В разделе «Privileged Gateway Intents» включите Message Content Intent
2. Приглашение бота
Сгенерируйте URL приглашения в «OAuth2 > URL Generator»:
- Scopes:
bot - Permissions:
Send Messages,Read Message History,Add Reactions,Attach Files
3. Конфигурация
toml
[channels_config.discord]
bot_token = "MTIzNDU2Nzg5.XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
allowed_users = ["123456789012345678"]4. Проверка
bash
prx channel doctor discordСправочник конфигурации
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
bot_token | String | обязательный | Токен Discord-бота из Developer Portal |
guild_id | String | null | Необязательный ID сервера (гильдии) для ограничения бота одним сервером |
allowed_users | [String] | [] | Discord user ID. Пусто = запрещено всем. "*" = разрешить всем |
listen_to_bots | bool | false | Если true, обрабатывать сообщения от других ботов (собственные сообщения всегда игнорируются) |
mention_only | bool | false | Если true, отвечать только на сообщения с @-упоминанием бота |
Возможности
- Gateway WebSocket — доставка сообщений в реальном времени через Gateway API Discord
- Поддержка серверов и ЛС — отвечает в каналах серверов и личных сообщениях
- Обработка текстовых вложений — автоматически загружает и встраивает вложения
text/* - Ограничение по серверу — можно ограничить бота одним сервером с помощью
guild_id - Взаимодействие бот-бот — включите
listen_to_botsдля мультиботовых сценариев - Индикаторы набора — показывает статус набора при генерации ответов
Ограничения
- Сообщения Discord ограничены 2000 символами (PRX автоматически разбивает более длинные ответы)
- Загружаются и встраиваются только вложения с MIME-типом
text/*; другие типы файлов пропускаются - Для чтения текста сообщений ботом должен быть включён «Message Content Intent»
- Требуется стабильное WebSocket-подключение к Gateway Discord
Устранение неполадок
Бот онлайн, но не отвечает
- Убедитесь, что «Message Content Intent» включён в Developer Portal в настройках бота
- Проверьте, что Discord user ID отправителя указан в
allowed_users - Убедитесь, что бот имеет разрешения
Send MessagesиRead Message Historyв канале
Бот работает только в некоторых каналах
- Если установлен
guild_id, бот отвечает только на этом конкретном сервере - Убедитесь, что бот приглашён с корректными разрешениями для каждого канала
Сообщения от других ботов игнорируются
- Установите
listen_to_bots = trueдля обработки сообщений от других ботов - Бот всегда игнорирует собственные сообщения для предотвращения циклов