如何在BetterDiscord插件中获取用户Token以更新个人简介
获取BetterDiscord插件中的用户Token方法
从Discord客户端内存提取Token
Discord基于Webpack打包,你可以通过遍历Webpack模块找到存储Token的模块,以下是可运行的代码片段:
function getToken() { return new Promise(resolve => { window.webpackChunkdiscord_app.push([ [Math.random()], {}, req => { for (const m of Object.values(req.c)) { if (m?.exports?.default?.getToken) { resolve(m.exports.default.getToken()); return; } } } ]); }); } // 使用示例 getToken().then(token => { console.log(token); // 此处可调用Discord API更新个人资料 });
这段代码通过向Webpack的chunk队列注入回调,遍历已加载模块,找到暴露getToken方法的模块,从而获取当前用户的Token。
关键风险提示
- Discord服务条款明确禁止第三方工具获取、存储或使用用户Token,使用此方法可能导致插件被平台检测,甚至用户账号被封禁。
- Token等同于账号凭证,一旦泄露会引发账号被盗风险,插件中处理Token时必须确保本地操作,绝不可将Token发送至第三方服务器。
更安全的替代方案
无需手动获取Token调用API,建议直接使用Discord客户端内置方法更新个人资料,既规避Token风险,也符合平台规则:
// 调用Discord内部方法更新"关于我"内容 window.webpackChunkdiscord_app.push([ [Math.random()], {}, req => { for (const m of Object.values(req.c)) { if (m?.exports?.default?.updateProfile) { m.exports.default.updateProfile({ bio: "你的新关于我内容" }).then(() => { console.log("资料更新成功"); }).catch(err => { console.error("更新失败", err); }); return; } } } ]);
内容的提问来源于stack exchange,提问作者Nikita
相关产品推荐
相关产品推荐

