首页 > 解决方案 > Discord.JS 嵌入问题

问题描述

因此,我一直在尝试将这个“serverlist”命令嵌入其中,但它不起作用。任何人都可以执行该命令,但如果 ID 与用户匹配,那么它将显示机器人所在的所有服务器,以及成员计数、服务器 ID 和服务器名称。当前代码(描述不起作用,这就是我需要帮助的):

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)

    }}
})

标签: javascriptdiscord.jsembed

解决方案


有一个let等于你的服务器列表。

在这个例子中,我把所有的服务器都映射成一个字符串

let servers = client.guilds.cache.map((server) => {
  return `**${server.name}** - \`${server.memberCount}\` : *${server.id}*`
})

然后将其注入您的描述中

.setDescription(servers)

请记住,如果最终结果通过嵌入的最大字符大小,您将收到错误Invalid Form Body


推荐阅读