我的机器人在20+服务器中,我希望能够向用户展示我的机器人所在的服务器。我能够自己做到这一点,但我希望服务器列表在一个嵌入,如果它通过嵌入字符限制,第2页嵌入。
代码:
if (message.content === 'zservers'){
bot.guilds.cache.forEach((guild) => {
const serverlist = new Discord.MessageEmbed()
.setTitle(` .`)
.addField(guild)
.setFooter(`Invite lovell <$`)
message.channel.send(serverlist)
})
}结果:

我想要能够列出所有服务器在一个单一的嵌入!
发布于 2020-09-29 10:38:37
这应该能行
if (message.content === 'zservers'){
let serverlist = ''
bot.guilds.cache.forEach((guild) => {
serverlist = serverlist.concat(" - " + guild.name + ": ID: " + guild.id + "\n")
})
const embed = new MessageEmbed()
.setColor("RANDOM")
.setTitle("Servers that have Naruse Jun Bot", '')
.setDescription(serverlist)
message.channel.send({embed});
}发布于 2020-09-27 14:36:48
制作一个普通字符串,然后将行会附加到这个字符串中。
if (message.content === 'zservers'){
let guilds = '';
bot.guilds.cache.forEach((guild) => {
guilds = guilds.concat(guild).concat("\n"); // concatenate the guild and add a new line in the end.
})
const serverlist = new Discord.MessageEmbed()
.setTitle(` .`)
.addField(guilds) // use the general 'guilds' string.
.setFooter(`Invite lovell <$`)
message.channel.send(serverlist)
}发布于 2020-09-29 10:49:19
工作?
编辑:更新!现在应该能用了。
if (message.content === 'zservers'){
let guilds = bot.guilds.cache.array().join('\n')
const serverlist = new Discord.MessageEmbed()
.setTitle(` .`)
.setDescription(guilds)
.setFooter(`Invite lovell <$`)
message.channel.send(serverlist)
}编辑2:类似的问题和完全正确的答案-> https://stackoverflow.com/a/60693028/7090121
https://stackoverflow.com/questions/64089528
复制相似问题