Discord Bot 消息
Discord Bot 适合跨频道、权限控制和交互式能力。本文依据 Discord 官方 HTTP API 整理,核验日期为 2026-09-08;未执行真实服务器发送验证。
- 有权创建 Discord Application 并邀请 Bot 到目标服务器。
- 已确定目标频道 ID。
- Bot 在目标频道拥有查看频道和发送消息权限。
- 在 Developer Portal 创建 Application,并添加 Bot。
- 保存 Bot Token。
- 使用 OAuth2 URL Generator 选择
bot和最小权限,将 Bot 邀请到服务器。 - 开启开发者模式并复制目标频道 ID。
- 调用创建频道消息接口。
| 字段 | 必需 | 说明 |
|---|---|---|
DISCORD_BOT_TOKEN | 是 | Bot 的敏感令牌 |
CHANNEL_ID | 是 | 目标频道 ID |
PERMISSIONS | 是 | 查看频道、发送消息等最小权限 |
JavaScript 示例需要 Node.js 20 或更新版本;Python 示例需要安装 requests。
curl -X POST 'https://discord.com/api/v10/channels/CHANNEL_ID/messages' \ -H 'Authorization: Bot DISCORD_BOT_TOKEN' \ -H 'Content-Type: application/json' \ -d '{"content":"通知渠道连通性测试"}'const response = await fetch( `https://discord.com/api/v10/channels/${process.env.CHANNEL_ID}/messages`, { method: 'POST', headers: { Authorization: `Bot ${process.env.DISCORD_BOT_TOKEN}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ content: '通知渠道连通性测试' }), },);
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);console.log(await response.json());import osimport requests
response = requests.post( f"https://discord.com/api/v10/channels/{os.environ['CHANNEL_ID']}/messages", headers={"Authorization": f"Bot {os.environ['DISCORD_BOT_TOKEN']}"}, json={"content": "通知渠道连通性测试"}, timeout=15,)response.raise_for_status()print(response.json())成功响应包含消息对象和消息 ID;同时确认目标频道出现消息。不要仅以 Bot 在线状态判断发送权限。
- Token 只在服务端使用,泄露后在 Developer Portal 重置。
- 邀请时不要使用 Administrator,按频道配置最小权限。
- 对
429按响应中的等待时间退避。
Missing Permissions:检查服务器角色和频道覆盖权限。
Unknown Channel:频道 ID 错误,或 Bot 无权查看该频道。
认证失败:Authorization 头必须使用 Bot TOKEN 格式。