您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
quick and easy script to swap the username and pfp of your alt account in a dm to that of a person who's profile you can load to fabricate a dm conversation
// ==UserScript== // @name Discord DM Fabricator // @description quick and easy script to swap the username and pfp of your alt account in a dm to that of a person who's profile you can load to fabricate a dm conversation // @license MIT // @version 1.0. // @namespace nololxd // @match https://discord.com/* // @run-at document-start // ==/UserScript== const origionalSend = XMLHttpRequest.prototype.send; async function getUserData(token, id) { let user = await fetch(`https://discord.com/api/v10/users/${id}`, { headers: { "Authorization": `${token}` } }); user = await user.json(); return { username: user.global_name, avatar: user.avatar }; }; function changeAvatar(oldurl, newurl) { var all = document.getElementsByTagName("*"); for (var i = 0, max = all.length; i < max; i++) { if (all[i].tagName == "IMG" && all[i].src.includes(oldurl)) { size = all[i].src.split("?")[1]; all[i].src = newurl + "?" + size; } } } function changeName(oldname, newname) { var all = document.getElementsByTagName("*"); for (var i = 0, max = all.length; i < max; i++) { if (all[i].tagName == "SPAN" && all[i].innerHTML === (oldname)) { all[i].innerHTML = newname; } } } async function fabricate(oldid, newid) { let token = (webpackChunkdiscord_app.push([[''], {}, e => { m = []; for (let c in e.c) m.push(e.c[c]) }]), m).find(m => m?.exports?.default?.getToken !== void 0).exports.default.getToken(); let oldAvatar = await getUserData(token, '747031537727569971'); let newAvatar = await getUserData(token, '1154619346715422730'); let oldurl = `https://cdn.discordapp.com/avatars/${oldid}/${oldAvatar.avatar}`; let newurl = `https://cdn.discordapp.com/avatars/${newid}/${newAvatar.avatar}.webp`; changeAvatar(oldurl, newurl); changeName(oldAvatar.username, newAvatar.username); } XMLHttpRequest.prototype.send = function () { if (this.__sentry_xhr_v2__?.url?.includes("/messages") && this.__sentry_xhr_v2__?.method === "POST") { let json = JSON.parse(arguments[0]); if (json.content.startsWith("!fabricate")) { origionalSend.apply(this, undefined); console.log("fabricating") fabricate(json.content.split(" ")[1], json.content.split(" ")[2]); setTimeout(() => { var all = document.getElementsByTagName("*"); for (var i = 0, max = all.length; i < max; i++) { if (all[i].innerHTML.includes("!fabricate") && all[i].tagName == "SPAN") { parent = all[i].parentNode.parentNode.parentNode all[i].innerHTML = "Conversation Fabricated 😈" all[i].parentNode.style.backgroundColor = "green" setTimeout(() => { parent.remove() }, 1300) }; }; // get rid of clyde for (var i = 0, max = all.length; i < max; i++) { if (all[i].role == "button" && all[i].innerHTML.includes("Dismiss message")) { all[i].click() }; }; }, 300); return; }; }; return origionalSend.apply(this, arguments); };