Discord.js 最大 webhook 数错误

Discord.js maximum number of webhooks error

拥有这个斜杠命令代码并将其变成 webhook。当我使用它一次时它起作用了,但在那之后它就停止了。我收到此错误 DiscordAPIError: Maximum number of webhooks reached (10)。有人知道如何解决这个问题吗?

代码:

    run: async (client, interaction, args) => {

      if(!interaction.member.permissions.has('MANAGE_CHANNELS')) {
        return interaction.followUp({content: 'You don\'t have the required permission!', ephemeral: true})
      }
      
        const [subcommand] = args;

  const embedevent = new MessageEmbed()

        if(subcommand === 'create'){
        
            const eventname = args[1]

            const prize = args[2]

            const sponsor = args[3]
            
            embedevent.setDescription(`__**Event**__ <a:w_right_arrow:945334672987127869> ${eventname}\n__**Prize**__ <a:w_right_arrow:945334672987127869> ${prize}\n__**Donor**__ <a:w_right_arrow:945334672987127869> ${sponsor}`)
            embedevent.setFooter(`${interaction.guild.name}`, `${interaction.guild.iconURL({ format: 'png', dynamic: true })}`)
            embedevent.setTimestamp()

        }
        
        await interaction.followUp({content: `Event started!`}).then(msg => {
    setTimeout(() => {
  msg.delete()
}, 5000)    
  })    

        interaction.channel.createWebhook(interaction.user.username, {
     avatar: interaction.user.displayAvatarURL({dynamic: true})
 }).then(webhook => {    
webhook.send({content: `<@&821578337075200000>`, embeds: [embedevent]})
  })

    }
}

您无法修复该错误,discord 限制每个通道的 webhooks(每个通道 10 个 webhooks)。

但是,如果您不希望您的代码 return 出错,您可以将该代码塞入 try catch 或添加 .catch

下面是一个如何处理错误的例子:

try {
    interaction.channel.createWebhook(interaction.user.username, {
        avatar: interaction.user.displayAvatarURL({dynamic: true})
    }).then(webhook => {    
        webhook.send({content: `<@&821578337075200000>`, embeds: [embedevent]})
    })
} catch(e) {
    return // do here something if there is an error
}