问题描述
因此,我一直试图将这个“服务器列表”命令嵌入到其中,但是它不起作用。任何人都可以执行该命令,但是如果ID与用户匹配,则会显示该机器人所在的所有服务器,以及成员数,服务器ID和服务器NAME。 当前代码(说明不起作用,这就是我需要帮助的地方):
client.on('message',message => {
if(message.content.startsWith(prefix + "serverlist")) {
message.channel.send(`__Total servers: ${client.guilds.cache.size}__`)
if(message.author.id === '211180841693347840') {
let embed = new Discord.MessageEmbed()
.setTitle('The bot is in these servers:')
.setDescription(client.guilds.cache.forEach((guild) => {
(`**${guild.name}** with ${guild.memberCount} members. ID: \`${guild.id}\``)
}))
message.channel.send(embed)
}}
})
解决方法
具有一个let
等于您的服务器列表。
在此示例中,我将所有服务器都映射到字符串中
let servers = client.guilds.cache.map((server) => {
return `**${server.name}** - \`${server.memberCount}\` : *${server.id}*`
})
然后将其插入您的描述
.setDescription(servers)
请注意,如果最终结果超过了嵌入的最大字符大小,则会出现Invalid Form Body