我写代码,如果第一次我沙命令也可以,但第二次我有错误 DiscordAPIError[10062]:未知的交互 我该如何解决它?
完整代码 - https://imgur.com/a/CsFFltD
run: async (client, interaction, message, members) => {
if (interaction.options.getSubcommand() === 'set') {
const channelsend = interaction.options.getChannel('channel')
db.query(`SELECT * FROM logssystem WHERE guildid = ('${interaction.guild.id}')`, function (err, result, fields) {
if (err) throw err;
if (result.length <= 0) {
const embedok = new EmbedBuilder()
.setDescription(`Система логирования включена в канале ${channelsend}.`)
.setColor('Green')
.setTimestamp()
.setFooter({text: "Scared system", iconURL: 'https://i.imgur.com/mO4spcx.jpeg'})
interaction.reply({embeds:[embedok], ephemeral: true})
db.query(`INSERT INTO logssystem (guildId, logsChannel) VALUES ('${interaction.guild.id}', ${channelsend.id})`);
console.log(`The guild ${interaction.guild.name} has enabled the logs system`)
} else {
const embedgived = new EmbedBuilder()
.setDescription(`Система логирования уже включена в канале ${channelsend}.`)
.setColor('Orange')
.setFooter({text: "Scared system", iconURL: 'https://i.imgur.com/mO4spcx.jpeg'})
interaction.reply({embeds:[embedgived], ephemeral: true})
}})
}
错误
DiscordAPIError[10062]: Unknown interaction
表示您响应时间过长且互动已过期。interaction.deferReply({ ephemeral: true });
然后用它代替
#reply
稍后编辑已经推迟的回复:
interaction.editReply({ embeds: [...] });
注意:您无需将
ephemeral: true
放入 #editReply
选项中,因为您已经在 #deferReply
选项中进行了设置。