跳至主要內容

Discord

Discord 頻道可讓 Mastra Agent 接收 Discord 互動與機器人訊息。Mastra 會處理 Agent 串接與 webhook 路由;Chat SDK Discord adapter 文件則涵蓋 Discord 應用程式設定、機器人權限與 Gateway 行為。

安裝 adapter
「安裝 adapter」的直接連結

從 Chat SDK 安裝 Discord adapter:

npm install @chat-adapter/discord

Agent 設定
「Agent 設定」的直接連結

createDiscordAdapter() 加入 Agent 的 channels.adapters 物件:

src/mastra/agents/discord-agent.ts
import { Agent } from '@mastra/core/agent'
import { createDiscordAdapter } from '@chat-adapter/discord'

export const discordAgent = new Agent({
id: 'discord-agent',
name: 'Discord Agent',
instructions: 'Answer questions and help with tasks in Discord.',
model: 'openai/gpt-5.6-sol',
channels: {
adapters: {
discord: createDiscordAdapter(),
},
},
})

在 Mastra instance 上註冊 Agent:

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { discordAgent } from './agents/discord-agent'

export const mastra = new Mastra({
agents: { discordAgent },
})

Adapter 設定
「Adapter 設定」的直接連結

請依照 Chat SDK Discord adapter 文件完成 Discord 專屬設定,包括建立應用程式、機器人 token、互動端點、權限與 Gateway 行為。

Adapter 會從下列環境變數讀取 Discord 憑證:

.env
DISCORD_BOT_TOKEN=your-discord-bot-token
DISCORD_PUBLIC_KEY=your-discord-application-public-key
DISCORD_APPLICATION_ID=your-discord-application-id

Webhook URL
「Webhook URL」的直接連結

Mastra 會根據 Agent ID 與 adapter key 產生 Discord webhook 路由:

/api/agents/discord-agent/channels/discord/webhook

使用公開 Mastra 伺服器 URL 作為基底 URL:

https://your-app.example.com/api/agents/discord-agent/channels/discord/webhook

當 Discord adapter 文件要求填入互動端點或 webhook URL 時,請使用此 URL。Discord 的一般訊息事件可能需要在產生的 webhook 路由之外設定 Gateway;請依照 Chat SDK adapter 文件完成這部分。