前几天看到一个好看的徽章,查了下如何获取掉宝徽章

还要下载游戏去直播,这对于我来说太麻烦了。

所以就用一段代码骗过Discord我正在运行游戏。

❗前提

❗ 你需要拥有两个账号或者一个会挂机看你直播的朋友。

❗ Discord开启DevTools

可以通过下载ptb客户端,或者在稳定版上直接启用DevTools

也可以通过插件开启DevTools,我这里演示的是靠插件开启。

关于插件可以看看我这篇文章
Discord插件与美化

🛡️插件开启DevTools

用户设置 > DETTERDISCORD > 设置 > 开发者设置 > DevTools ✅

DevTools

📑接受任务

用户设置 > 账单设置 > 礼物库 > 接受任务

❗这里最好只接受一个任务,不然有可能出错。

接受任务

🎥建群向小号直播

添加服务器 > 亲自创建 > 供俱乐部或社区使用 > 修改服务器图标与名称 > 创建

右键服刚创建务器图标 > 邀请其他人 > 复制分享链接 > “小号”通过链接加入服务器

接受任务的账户与小号一同进入刚创建服务器的语言频道。

然后共享你的屏幕,尽量保证网络稳定。

共享你的屏幕

这边建议分辨率与帧率设置为最低,比较家用百兆宽带上传是真的低。

分辨率与帧率设置为最低

“小号”建议在手机或浏览器中打开,进入语言频道查看直播是否正常无卡顿。

小号看直播

通过代码骗过Discord

代码来自aamiaa的md文件

建议给作者一个⭐星星捏。

Ctrl + Shift > i快捷键打开DevTools。

点击Console

输入allow pasting并回车(记住是输入,不要复制张贴)以允许复制粘贴。

allow pasting

将以下内容复制并粘贴过去,然后回车运行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
let wpRequire;
window.webpackChunkdiscord_app.push([[ Math.random() ], {}, (req) => { wpRequire = req; }]);

let ApplicationStreamingStore = Object.values(wpRequire.c).find(x => x?.exports?.default?.getStreamerActiveStreamMetadata).exports.default;
let QuestsStore = Object.values(wpRequire.c).find(x => x?.exports?.default?.getQuest).exports.default;
let FluxDispatcher = Object.values(wpRequire.c).find(x => x?.exports?.default?.flushWaitQueue).exports.default;

let quest = [...QuestsStore.quests.values()].find(x => x.userStatus?.enrolledAt && !x.userStatus?.completedAt && new Date(x.config.expiresAt).getTime() > Date.now())
let isApp = navigator.userAgent.includes("Electron/")
if(!isApp) {
console.log("This no longer works in browser. Use the desktop app!")
} else if(!quest) {
console.log("You don't have any uncompleted quests!")
} else {
let pid = Math.floor(Math.random() * 30000) + 1000
ApplicationStreamingStore.getStreamerActiveStreamMetadata = () => ({
id: quest.config.applicationId,
pid,
sourceName: null
})

let secondsNeeded = quest.config.streamDurationRequirementMinutes * 60
let fn = data => {
let progress = data.userStatus.streamProgressSeconds
console.log(`Quest progress: ${progress}/${secondsNeeded}`)

if(progress >= secondsNeeded) {
console.log("Quest completed!")
FluxDispatcher.unsubscribe("QUESTS_SEND_HEARTBEAT_SUCCESS", fn)
}
}
FluxDispatcher.subscribe("QUESTS_SEND_HEARTBEAT_SUCCESS", fn)

console.log(`Spoofed your stream to ${quest.config.applicationName}. Stay in vc for ${Math.ceil(quest.config.streamDurationRequirementMinutes - (quest.userStatus?.streamProgressSeconds ?? 0) / 60)} more minutes.`)
console.log("Remember that you need at least 1 other person to be in the vc!")
}

如果成功会显示xxx/900的任务进度。

等待一段时间一直没有出现,就重新直播运行代码。

再不行就去代码原帖看看

运行成功

等待任务进度完成。

任务进度完成

完成后回礼物库领取奖励,获得徽章与任务游戏中的兑换码,相信你都用这招了,想必也不玩这个游戏,可以送给你玩这个游戏并看你直播的朋友,也可以分享给其他人。