使用 discord.js 获得公会机器人邀请

时间:2021-02-27 19:09:42

标签: javascript discord.js es6-promise

我正在尝试使用邀请创建命令列表服务器。我想要的是该命令输出服务器邀请数组。
所以,第一件事是我不能在 .push() 块内 .then() ,因为数组返回空并且与回调有关。我会尝试使用 Promise,特别是 Promise.all.map,以便机器人可以返回公会列表,但是如果我尝试向服务器发出邀请,它只会输出 {{ 1}}。也许是因为我没有指定要返回的内容,或者我做错了?

代码如下:

[undefined, undefined]

也许在 // headers, client.on and switch statement... case "getservers": var ServersEmbed = new discord.MessageEmbed() .setColor(theme.theme.embedColours[0]) .setAuthor("Getting server list...") ; var m = await msg.channel.send(ServersEmbed); var l = await Promise.all(client.guilds.cache.map(guild => { var inv = guild.channels.cache.filter(i => i.type != "category").random().createInvite(); return inv.url; })); console.log(l); // m.edit(... break; // more cases and fun... 块内使用 return 是错误的。另外 Promise.all 在我的源代码中是异步的。

1 个答案:

答案 0 :(得分:0)

你不必在地图上使用 Promise.all() ,如果你在地图函数中没有等待的东西,并且你没有在函数上使用异步,所以你甚至不能如果您愿意,请使用 await。