ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

DiscordChatExporter 完整教程:3 分钟拿到任意 Discord 频道的备份

DiscordChatExporter 完整教程:3 分钟拿到任意 Discord 频道的备份

DiscordChatExporter 完整教程:3 分钟拿到任意 Discord 频道的备份

【免费下载链接】DiscordChatExporterSaves Discord chat logs to a file项目地址: https://gitcode.com/gh_mirrors/di/DiscordChatExporter

想把某个 Discord 频道的消息完整留下来,以后随时能翻查、做数据分析或归档?DiscordChatExporter 是一款免费开源工具,能把 Discord 聊天记录导出为 HTML、CSV、JSON、TXT 文件。本文带你走通整个备份流程。

项目速览

说白了,这就是个"Discord 聊天存档器":它通过 Discord API 读取你有权限访问的频道消息,然后写成本地文件。服务器频道、私聊、群聊都支持,导出出的 HTML 页面保留 Discord 原始样式,附件、表情、嵌入内容原样保留。无论是社区管理员要归档,还是你想把个人聊天记录留下来,甚至拿数据做二次加工,都适用。

能力能做什么
输出格式HTML(深色/浅色)、TXT、CSV、JSON 共 5 种
两种界面GUI 桌面版 + CLI 终端版,覆盖 Windows、macOS、Linux
认证方式用户令牌、机器人令牌均可
内容覆盖Markdown、附件、嵌入、表情、回复关系
进阶选项日期范围、消息过滤、文件拆分、线程包含、离线自包含查看

安装与部署

第一次用建议从 GUI 版入手,解压即用;CLI 版则适合 Linux 和服务器用户。

Windows:从 Release 页面下载 GUI 包DiscordChatExporter.*.zip,解压后直接运行里面的 exe;也可以用winget install Tyrrrz.DiscordChatExporter.GUI一键安装。

macOS:解压 zip 后如果提示应用无法打开,那是系统隔离属性在拦你,终端里执行一次下面这条命令就能解决:

xattr -rd com.apple.quarantine DiscordChatExporter.app

Linux:GUI 可以装 AUR 包(如yay -S discord-chat-exporter-gui),省事的做法是直接下载 CLI 包运行。

Docker:适合跑在服务端。拉取 CLI 镜像,用环境变量注入令牌,导出文件统一落在容器内的/out,把它挂载到本地目录即可:

docker run -it -e DISCORD_TOKEN=你的令牌 \ -v $(pwd)/out:/out tyrrrz/discordchatexporter exportall

第一次完整导出

下面走一遍最短完整路径:拿令牌 → 选频道 → 配参数 → 看结果。

3 步拿到访问令牌

令牌是工具访问你 Discord 身份的唯一钥匙,有两种拿法:

  • 用户令牌(导出你账号能看到的频道):在网页版 Discord 登录后按 F12,切到 Network 面板刷新页面,点开任意一条发往 discord.com 的请求,请求头里Authorization的值就是令牌。
  • 机器人令牌(推荐长期使用):在开发者门户创建应用,到 Bot 页复制令牌,并且一定要勾选Message Content Intent,否则拉不到消息正文。

⚠️ 令牌等于密码:别贴到聊天群或公开仓库,脚本里用环境变量传递。

选定目标频道

GUI 里粘贴令牌后,界面会列出"服务器 → 频道"的完整树,点选要导出的频道,按住 Ctrl 可以多选:

走 CLI 的话,先在 Discord 设置里开启"开发者模式",右键频道"复制 ID",然后这样传参:

./DiscordChatExporter.Cli export --token 你的令牌 \ --channel 频道ID --output ./backup/

配置格式与过滤

  • 格式:默认 HTML(深色),肉眼查看最舒服;要进 Excel 就选 CSV,要进程序就选 JSON。
  • 日期范围:--after/--before可填日期或消息 ID,只取最近一个月的话很好用。
  • 过滤:--filter支持表达式,空格默认是"且",比如has:image from:Alice就只留 Alice 发过的图片消息。
  • 附件:勾选"下载媒体"(CLI 为--media),图片文件会一并下载,导出内容可以完全离线打开。
  • 拆分:--partition 100每 100 条消息切一个文件,--partition 10mb按大小切,避免单文件过大。

打开导出文件验证

每个频道生成一个文件(开启拆分则是一组),文件名按频道命名。HTML 直接用浏览器打开,头像、时间戳、回复、附件和客户端里看到的一致,CSV 可以拖进 Excel 核对字段。

进阶用法

跑熟之后,这三招会让效率上一个台阶。

整服一次导出:GUI 支持多选后一次性导出;CLI 用exportall可以拉取全部可访问频道,--include-dm/--include-vc控制是否包含私聊和语音频道,再配--parallel 4并行提速。

定时增量备份:--after接收消息 ID 是关键——第一次全量导出时记下最新那条消息的 ID,之后每次只传这个 ID,就能只拉新增内容。配合 cron 和DISCORD_TOKEN环境变量:

0 2 * * * /opt/dce export --channel 123456 --after $LAST_ID --output /backup/

改 HTML 模板:页面结构在 MessageGroupTemplate.cshtml 以及同目录的 Preamble / Postamble 模板里。fork 一份仓库改样式重新编译,导出页面就变成你喜欢的样子。

排坑指南

出问题时先对照这张表:

症状最可能原因处理方式
文件是空的或没有消息机器人没开 Message Content Intent;或频道 ID 抄错开发者门户勾选意图;重新复制频道 ID
导出很慢消息量大、触发速率限制用日期范围分批;调小--parallel;--no-respect-rate-limits可更快但有一定风险,慎用
附件缺失没启用媒体下载加上--media或勾选"下载媒体"
macOS 打不开 GUI系统隔离属性执行安装节里的xattr命令
令牌突然失效令牌已被撤销或修改过密码重新获取令牌

⚠️ 三条安全原则记牢:令牌只走环境变量,不写死在脚本里;优先用机器人令牌且只给必要权限;自动化用户账号违反 Discord 服务条款,可能被封号——长期任务务必走机器人。

到这里,Discord 聊天记录导出与备份就全部走通了。遇到问题先翻 Readme.md,再不行就去项目 Issue 提问;想改源码或参与贡献,用下面命令把仓库克隆下来即可:

git clone https://gitcode.com/gh_mirrors/di/DiscordChatExporter

【免费下载链接】DiscordChatExporterSaves Discord chat logs to a file项目地址: https://gitcode.com/gh_mirrors/di/DiscordChatExporter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进