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
}
拥有这个斜杠命令代码并将其变成 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
}