Javascript 显示当前discord服务器discord.js中的所有Webhook

Javascript 显示当前discord服务器discord.js中的所有Webhook,javascript,discord,discord.js,Javascript,Discord,Discord.js,我正在尝试制作一个命令来显示特定公会中制作的每个webhook,我认为这会起作用: let allwebhooks = ""; message.guilds.cache.forEach(webhook => { allwebhooks += `${hook.name}, `; }); let webhookembed = new Discord.MessageEmbed() .setColor("#8f82ff")

我正在尝试制作一个命令来显示特定公会中制作的每个webhook,我认为这会起作用:

let allwebhooks = "";
  
  message.guilds.cache.forEach(webhook => {
    allwebhooks += `${hook.name}, `;
  });
  let webhookembed = new Discord.MessageEmbed()
  .setColor("#8f82ff")
  .setTitle(`There are ${hook.size} webhooks in: **${message.guild.name}**:`)
  .setDescription(
    `Webhooks: \n **${allwebhooks.slice(
    0,
      allwebhooks.length - 2
    )}**`
    );
    message.channel.send(webhookembed)
但我得到了这个错误:

TypeError:无法读取未定义的属性“缓存”

第二行(forEach前面的一行)应该是这样的:

message.guild.fetchWebhooks()。然后(webhooks=>{
并将
forEach
行修改为以下代码:

webhook.forEach(webhook=>{
消息
没有
公会
属性,但是
公会
。 而且,
guild
fetchWebhooks()
,它会返回一个关于该公会所有webhooks的承诺。所以你可以使用
fetchWebhooks()
来实现这一点


编辑:附加
})
在所有其他代码之后。否则它将抛出
语法错误

哦,这很有效!你如何获得它们的所有名称,我尝试了
${webhooks.name}
但它只返回unfinedtry
webhook。name
webhook
是webhook的集合,
webhook
是单个webhook。它现在工作得很好!tysm