Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

Discord

Подключение PRX к Discord с помощью бот-приложения через Gateway WebSocket для обмена сообщениями в реальном времени на серверах и в ЛС.

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

  • Аккаунт Discord
  • Приложение Discord с пользователем-ботом, созданное в Developer Portal
  • Бот, приглашённый на ваш сервер с соответствующими разрешениями

Быстрая настройка

1. Создание бот-приложения

  1. Перейдите в Discord Developer Portal
  2. Нажмите «New Application» и дайте имя
  3. Перейдите в раздел «Bot» и нажмите «Add Bot»
  4. Скопируйте токен бота
  5. В разделе «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_tokenStringобязательныйТокен Discord-бота из Developer Portal
guild_idStringnullНеобязательный ID сервера (гильдии) для ограничения бота одним сервером
allowed_users[String][]Discord user ID. Пусто = запрещено всем. "*" = разрешить всем
listen_to_botsboolfalseЕсли true, обрабатывать сообщения от других ботов (собственные сообщения всегда игнорируются)
mention_onlyboolfalseЕсли 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 для обработки сообщений от других ботов
  • Бот всегда игнорирует собственные сообщения для предотвращения циклов

Released under the Apache-2.0 License.