Discord.Проблемы JS с созданием встраивания

#javascript #discord.js #embed

#javascript #discord.js #Внедрить

Вопрос:

Итак, я пытался преобразовать эту команду «serverlist» в embed, но это не работает. Любой может выполнить команду, но если идентификатор совпадает с пользователем, тогда будет показано, на каких всех серверах находится бот, с количеством участников, идентификатором сервера и его ИМЕНЕМ. Текущий код (описание не работает, вот с чем мне нужна помощь):

 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)

    }}
})
  

Комментарии:

1. Какую ошибку вы получаете?

2. описание «не определено»

Ответ №1:

Имейте let равный вашему списку серверов.

В этом примере я беру все серверы и сопоставляю их в строку

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

Затем вставьте это в свое описание

 .setDescription(servers)
  

Имейте в виду, что если конечный результат превысит максимальный размер символа для встраивания, вы получите ошибку Invalid Form Body