discord.js shard.broadcastEval 异步

discord.js shard.broadcastEval async

我在对我的机器人实施分片时遇到问题

这个returns正确:

await (async () => {
    return "test3";
}).call()

但是一旦我这样分片:

client.shard.broadcastEval(`
    await (async () => {
        return "test3";
    }).call()            
`)

错误 ReferenceError: await is not defined

所以这甚至可能不是做我想做的事情的正确方法..我想做的是获取用户是管理员或具有特定角色的所有公会,我已经写过脚本,我的问题是由于上面的等待问题我无法得到响应。

您的情况没有使用 async/await。你可以简单地 return 从函数中承诺。

client.shard.broadcastEval(`
    (() => {
        return Promise.resolve("test3");
    }).call()            
`)

希望对您有所帮助。

你的代码应该是这样的:

client.shard.broadcastEval(`
    (async => { 
        return "test3";
    })();
`);

从这里检查:Discord.js Guide