使用 Minara客戶端與界面消息平臺
Discord
單頻道 Bot Token 配置,支持流式傳輸的網關,2000 字符限制,適合社區服務器。
🟢 運行時就緒:網關通過消息編輯接口支持流式傳輸編輯(暫無生產端調用,詳見下文)。僅支持 Bot 模式;Discord Webhook 不提供流式傳輸所需的編輯 API。
功能概覽
- 流式傳輸編輯:通過
PATCH /channels/{channel}/messages/{id}實現(限速 1 秒,以保持在每頻道 5 次 / 5 秒的速率限制內)。由createStreamSink驅動;send_message本身為單次發送。 - 附件支持:通過單個 multipart
POST /channels/{cid}/messages接口發送圖片、文件和音頻,使用payload_json+files[n]格式。語音附件顯示為帶播放器的音頻文件(原生語音消息波形 UI 為後續功能)。 - 2000 字符限制:
send_message在工具邊界處拒絕超長文本;流式傳輸截斷時附加… (truncated)標記。 - 每網關單頻道:如需在多個頻道發送,在
send_message中使用channel參數覆蓋目標頻道。
配置步驟
1. 創建 Bot 應用
- 打開 Discord Developer Portal,點擊 New Application
- 進入 Bot → Reset Token,複製 token(僅顯示一次)
- 在 Privileged Gateway Intents 下,將 Message Content 保持關閉。Minara 只發送消息,不讀取消息
- 從 OAuth2 → URL Generator 複製 Bot 的安裝鏈接:在 Scopes 中勾選
bot,在 Bot Permissions 中勾選Send Messages,將鏈接粘貼到瀏覽器中,把 Bot 添加到服務器
2. 獲取目標頻道 ID
在 Discord 客戶端中:用戶設置 → 高級 → 開發者模式 = 開啟,然後右鍵點擊頻道 → 複製頻道 ID。格式為純數字雪花 ID,例如 1234567890123456789。
3. 配置 Minara
快捷方式:
"set up Discord notifications in channel 1234567890"
手動方式:
minara auth messaging add discord或直接編輯項目根目錄的 .env 文件:
DISCORD_BOT_TOKEN=<bot token>
DISCORD_CHANNEL_ID=12345678901234567894. 測試
minara auth messaging test discord流式傳輸行為
Discord 的消息編輯接口每頻道限速 5 次編輯 / 5 秒。DiscordGateway 將 streamDefaultIntervalMs 聲明為 1000,因此 createStreamSink 在前五秒內最多觸發約 5 次編輯,之後以 1 Hz 頻率繼續。調用方可通過 createStreamSink(gw, msg, { intervalMs: 1500 }) 放寬限速。這是調用方側選項,不是 send_message 工具參數。流式傳輸本身已具備接入條件,尚未被任何生產代碼路徑調用。
超過 2000 字符的響應會直接截斷,而非分段發送。Discord 將每個 chat.postMessage 視為原子操作,流式編輯鏈的分段拼接會導致閱讀混亂。
覆蓋目標頻道
send_message({
provider: "discord",
channel: "9876543210987654321",
text: "Critical: position liquidation imminent",
})常見問題
"Missing Access (50001)"
- Bot 不在服務器中,或無權查看該頻道。請重新檢查 OAuth 安裝鏈接及頻道角色權限
"Missing Permissions (50013)"
- Bot 已在服務器中,但無法在該頻道執行
Send Messages或Embed Links。請編輯頻道權限,為 Bot 角色授予Send Messages
"Cannot send empty message (50006)"
- 消息內容在內容審核階段被清空。Discord 會屏蔽部分看起來像標記語言的純文本格式;可嘗試稍微修改標點後重新發送
"Stream feels choppy"
- 默認限速為 1000 毫秒。Discord 的 5/5 速率限制是上限,超出此限速會觸發臨時 429 錯誤。接受當前節奏,或改用 Telegram 進行實時流式傳輸