与 mysql DB 的未知交互?

问题描述 投票:0回答:1

我写代码,如果第一次我沙命令也可以,但第二次我有错误 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})
            }})
    }
discord discord.js
1个回答
0
投票

错误

DiscordAPIError[10062]: Unknown interaction
表示您响应时间过长且互动已过期。
要绕过这个问题,只需将其放在命令执行的开头即可:

interaction.deferReply({ ephemeral: true });

然后用它代替

#reply
稍后编辑已经推迟的回复:

interaction.editReply({ embeds: [...] });

注意:您无需将

ephemeral: true
放入
#editReply
选项中,因为您已经在
#deferReply
选项中进行了设置。

© www.soinside.com 2019 - 2024. All rights reserved.