Discord
Discord 頻道可讓 Mastra Agent 接收 Discord 互動與機器人訊息。Mastra 會處理 Agent 串接與 webhook 路由;Chat SDK Discord adapter 文件則涵蓋 Discord 應用程式設定、機器人權限與 Gateway 行為。
安裝 adapter「安裝 adapter」的直接連結
從 Chat SDK 安裝 Discord adapter:
- npm
- pnpm
- Yarn
- Bun
npm install @chat-adapter/discord
pnpm add @chat-adapter/discord
yarn add @chat-adapter/discord
bun add @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 文件完成這部分。