木偶演员+;Discord.js与自动邀请命令有关

木偶演员+;Discord.js与自动邀请命令有关,discord,discord.js,puppeteer,Discord,Discord.js,Puppeteer,我正在做一个小项目来学习木偶和不和谐机器人,我想把两者结合起来,制作一个奇怪的半机器人会很有趣,它本质上是一个机器人,但却是一个普通用户。我已经设置了命令处理程序等,并且创建了一个“invite”命令,该命令接受person提供的一个参数(服务器invite的代码),并使用它自动邀请自己 例如,输入discord:invite 78uHjkaf 这个半成品。不是真的。第一次就可以了,但再也不行了,我得重新启动。我一直在尝试添加page.close()希望它能解决问题,但它根本不起作用。我如何使这

我正在做一个小项目来学习木偶和不和谐机器人,我想把两者结合起来,制作一个奇怪的半机器人会很有趣,它本质上是一个机器人,但却是一个普通用户。我已经设置了命令处理程序等,并且创建了一个“invite”命令,该命令接受person提供的一个参数(服务器invite的代码),并使用它自动邀请自己

例如,输入discord:
invite 78uHjkaf

这个半成品。不是真的。第一次就可以了,但再也不行了,我得重新启动。我一直在尝试添加
page.close()希望它能解决问题,但它根本不起作用。我如何使这项工作始终如一且可重复使用请注意,我的命令处理程序工作正常。整个问题位于以下代码中。(我希望如此)

半可靠

    if (command === "invite") {
        const invite = async () => {
            const browser = await puppeteer.launch();
            const page = await browser.newPage();
            await page.goto('https://discordapp.com/');
            let [link] = args;
            await page.evaluate(async ({link}) => {
                const x = new XMLHttpRequest();
                x.open(`POST`, `https://discordapp.com/api/v6/invites/` + `${link}`);
                x.setRequestHeader('Authorization', 'my token');
                x.send();
            },{link});
         };
        invite();
    }
根本不起作用

    if (command === "invite") {
        const invite = async () => {
            const browser = await puppeteer.launch();
            const page = await browser.newPage();
            await page.goto('https://discordapp.com/');
            let [link] = args;
            await page.evaluate(async ({link}) => {
                const x = new XMLHttpRequest();
                x.open(`POST`, `https://discordapp.com/api/v6/invites/` + `${link}`);
                x.setRequestHeader('Authorization', 'my token');
                x.send();
            },{link});
          await page.close();
         };
        invite();
    }
我真的被难住了

更新。 由于某种原因而改变

x.open(`POST``https://discordapp.com/api/v6/invites/`+`${link}`)

x.open(`POST``https://discordapp.com/api/v6/invites/${link}`)


修复了不可靠的问题。不过,添加一个关闭页面仍然会扼杀它。我觉得应该加上这个吗?

你为什么要用木偶演员?使用Discord私有API更容易

const fetch=require('node-fetch');//npm安装节点获取
如果(命令==“邀请”){
const[code]=args;//应仅为代码,而不是完整的URL(8KqbkST,而不是https://discord.gg/8KqbkST)
取回(`https://discord.com/api/v8/invites/${code}`{
方法:“POST”,
标题:{“授权”:“您的用户令牌”},
正文:JSON.stringify({
代码,
新成员:对
})
});
}
顺便说一句,这是Discord T.O.S完全禁止的,您不应该将其用于大规模使用,例如同时加入许多服务器(因为这是禁止的,而且这种行为在Discord上非常痛苦)。

使用此100% const fetch=require('node-fetch');//npm安装节点获取

如果(命令==“邀请”){ const[code]=args;//应仅为代码,而不是完整的URL(8KqbkST,不是) 获取(
https://discord.com/api/v8/invites/${code}
{ 方法:“POST”, 标题:{“授权”:“您的用户令牌”}, 正文:JSON.stringify({ 代码, 新成员:对 }) });
}

我觉得自己很愚蠢。哈哈。嗨,乔,你能把你的答案格式化,把代码部分放在代码括号里,以获得更好的阅读体验吗。欢迎来到SO:)