Discord 消息拉取
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_75286b72/discord-fetch。
技能介绍
要解决什么问题
运维社区、开源项目或内部协作里,大量决策和上下文散落在 Discord 频道里。官方客户端适合浏览,不适合做归档、对账或与 BI/表格系统对接:单次 API 只能拿有限条记录,大频道还要自己处理翻页和 429 限流;若要把 发言人、时间、正文、附件、embed 对齐成一行一记录,手写 HTTP 很容易漏字段或重复入库。
本技能面向「只读拉取」:给定 Bot Token 与 Channel ID,把频道历史导出为结构化 JSON/CSV/Markdown,并可选择写入飞书多维表格(Bitable)。
如何工作
- 拉取:
scripts/discord_fetch.py封装翻页、限流退避与去重;支持全量(最新 N 条)、日期范围过滤,以及基于消息 ID 的--after增量同步(配合保存newest_message_id)。 - 导出:
stdout输出干净 JSON/CSV,便于管道到下游;stderr打进度与日志。 - 飞书写入:
scripts/feishu_write.py负责映射字段;多维表格中message_id作唯一键去重,可先 dry-run 预览。 - 自检:首次可用
--check验证 token、频道权限与 Message Content Intent(未开启时content常为空)。
操作约定:优先用环境变量 DISCORD_BOT_TOKEN,避免在对话里反复回显完整 token;执行现成脚本即可,不要自行重写 Discord HTTP 调用。
边界与注意点
- 仅 Discord,不涵盖发消息、搭 bot 框架,也不处理 Slack/Telegram 或对已导出数据的分析。
- Bot 需已入服、对目标频道具备 View Channel 与 Read Message History;
--max默认上限 5000,超大频道建议分批 + 增量。 - 飞书侧需应用凭证与目标表的
app_token、table_id;字段与增量编排见技能内references/文档。
使用场景
- 开源社区维护者需把 `#announcements` 频道近三个月公告导出为 CSV,供官网变更记录核对
- 客服负责人要把指定支持频道的历史消息同步到飞书表,用 `message_id` 去重并只拉新增记录
- 合规岗在服务器迁移前,按日期范围全量拉取某私密频道的聊天与附件元数据留档
- 数据分析师拿到 Bot Token 与 Channel ID 后,将频道对话批量导出 JSON 再接入自有清洗流水线
适合人员
- 负责 Discord 社区运营、需定期归档版主/公告频道原文以备纠纷追溯的社区经理
- 把用户反馈从 Discord 支持频道落到飞书多维表格做分派与跟进的客户成功或运营同学
- 在 Discord 做用户调研或事件复盘、需要按频道与时间窗导出结构化消息的研究或数据同学
- 维护内部协作机器人凭证、要为指定 Channel ID 做只读历史备份而不自行实现翻页与限流的后端工程师