如何抓取我加入的所有Discord群聊和私信会话的ID?
抓取Discord所在服务器、私信会话ID的方法
方法1:手动单条获取(适合少量场景)
- 先开启Discord开发者模式:点击左下角用户设置齿轮图标 → 左侧边栏找到「高级」选项 → 开启「开发者模式」开关
- 开启后右键任意服务器图标、私信会话条目,选择「复制ID」即可直接拿到对应ID
方法2:批量获取所有ID(适合大量群聊/私信场景)
该方法通过Discord Web端控制台运行原生JS脚本实现,不需要额外安装工具,操作前注意不要随意运行来源不明的脚本,避免账号信息泄露
- 步骤1:浏览器打开Discord Web端,登录你的账号
- 步骤2:按
F12打开开发者工具,切换到「控制台(Console)」标签页,如果浏览器提示禁止自动粘贴,按照控制台给出的提示文字输入对应内容解锁粘贴权限 - 步骤3:运行对应脚本获取你需要的ID列表
批量获取所有加入的服务器ID脚本
粘贴到控制台回车后,会输出所有服务器的名称和对应ID
const guilds = Array.from(webpackChunkdiscord_app.push([[''],{},e=>{Object.values(e.c).find(m=>m.exports?.default?.getGuilds)!==undefined}].exports.default.getGuilds().values())); console.log('=== 所有服务器ID列表 ==='); guilds.forEach(g => console.log(`服务器名:${g.name} | ID:${g.id}`)); // 如需直接导出纯ID数组,取消注释下方代码即可 // const guildIds = guilds.map(g => g.id); // console.log(guildIds);
批量获取所有私信会话ID脚本
粘贴到控制台回车后,会输出所有私人私信、群私信的会话信息和ID
const channels = Array.from(webpackChunkdiscord_app.push([[''],{},e=>{Object.values(e.c).find(m=>m.exports?.default?.getMutablePrivateChannels)!==undefined}].exports.default.getMutablePrivateChannels().values())); console.log('=== 所有私信会话ID列表 ==='); channels.forEach(c => { const name = c.name || c.recipients?.map(u => u.username).join(', '); const type = c.type === 1 ? '私人DM' : c.type === 3 ? '群DM' : '其他'; console.log(`会话名:${name} | 类型:${type} | ID:${c.id}`); }); // 如需直接导出纯ID数组,取消注释下方代码即可 // const channelIds = channels.map(c => c.id); // console.log(channelIds);
上述脚本仅用于个人测试用途,频繁调用接口可能触发Discord的账号风控机制,使用时请自行评估风险。
内容的提问来源于stack exchange,提问作者Vasiok Tankist
相关产品推荐
相关产品推荐

