用途:通过 Discord API v10 的 GET /channels/{channel.id}/messages 接口读取指定 Discord 频道的消息,适合读取近期消息、获取历史记录用于分析、搜索特定消息、按消息 ID 前后取数以及导出频道对话历史。
主要能力:支持 limit(默认 50,最大 100)、before、after、around 等查询参数;返回消息按时间倒序(最新在前),每条包含 id、content、author、timestamp、attachments、embeds 等字段;可结合 jq 按作者、关键词或消息类型过滤。
使用方式:需先设置环境变量 DISCORD_BOT_TOKEN,机器人须为目标服务器成员并在目标频道拥有“Read Message History”权限,且需提供 18-19 位的频道 ID。基本请求为:curl -X GET "https://discord.com/api/v10/channels/{CHANNEL_ID}/messages?limit=50" -H "Authorization: Bot ${DISCORD_BOT_TOKEN}"。超过 100 条时用分页:先取 limit=100,再从响应中取最旧消息 ID,用 ?before={oldest_id}&limit=100 继续拉取。
限制与注意:Discord 每频道限速约 5 请求/5 秒,分页时建议间隔约 1 秒;常见错误包括 401(令牌无效)、403(缺少权限)、404(频道不存在或不可见)、400(limit 或消息 ID 格式非法)。不要泄露机器人令牌,注意用户隐私与数据留存,遵守 Discord 服务条款。
适用场景:频道消息读取、历史分析、关键词检索、对话导出等。官方文档见 https://discord.com/developers/docs/resources/channel#get-channel-messages。