簡體   English   中英

DISCORD JS:執行命令時出現未知交互錯誤

[英]DISCORD JS: Unknown interaction error when command is executed

這是一個幫助命令,它使用 discord.js v13 中的菜單。 我在 select 一個菜單時遇到了這個問題。 它沒有顯示我選擇的菜單的內容,而是在控制台中給我帶來了一個錯誤:

DiscordAPIError: Unknown interaction at RequestHandler.execute (/home/runner/scarlett-stone-1/node_modules/discord.js/src/rest/RequestHandler.js:350:13)

它以前工作得很好,我最近沒有做任何改變。 代碼如下。

|----------------- CODE -----------------|


const config = require("../../botconfig/main")
module.exports = {
  name: "help",
  description: "Shows commands and commands info.",

  run: async (client, message, args) => {
    const row = new MessageActionRow()
      .addComponents(
        new MessageSelectMenu()
          .setCustomId('select')
          .setPlaceholder('Nothing selected')

          .addOptions([
            {
              label: 'Main Menu',
              description: 'Shows the main menu',
              emoji: "909758706290417714",
              value: '0',
            },
            {
              label: 'Config Commands',
              description: 'Shows all the config commands',
              emoji: "888347974944571392",
              value: '1',
            },


            {
              label: 'Economy Commands',
              description: 'Shows all the economy commands',
              emoji: "910512217168941126",
              value: '2',
            },


            {
              label: 'Fun Commands',
              description: 'Shows all the fun commands',
              emoji: "920258063703879700",
              value: '3',
            },
            {
              label: 'Games Commands',
              description: 'Shows all the game commands',
              emoji: "922464211240632330",
              value: '4',
            },


            {
              label: 'Information Commands',
              description: 'Shows all the information commands',
              emoji: "911535908518527018",
              value: '5',
            },
            {
              label: 'Moderation Commands',
              description: 'Shows all the moderation commands',
              emoji: "908346330412355605",
              value: '6',
            },
            {
              label: 'Utility Commands',
              description: 'Shows all the utility commands',
              emoji: "922461948535271425",
              value: '7',
            },
            {
              label: 'Owner Commands',
              description: 'This is for the BOT OWNER only',
              emoji: "925024469720915990",
              value: '8',
            },
          ]),
      );
    const row2 = new MessageActionRow()
      .addComponents(
        new MessageButton()
          .setLabel("Invite me")

          .setStyle("LINK")
          .setEmoji("909758706290417714")
          .setURL("https://discord.com/oauth2/authorize?client_id=879000376274219048&scope=bot&permissions=2684354568"),
        new MessageButton()
          .setLabel("Support Server")

          .setStyle("LINK")
          .setEmoji("911535908518527018")
          .setURL("https://discord.gg/5hphccNxTD"),
        new MessageButton()
          .setLabel("Upvote me")

          .setStyle("LINK")
          .setEmoji("911545788608430111")
          .setURL("https://dblist.ddns.net/bots/like/879000376274219048")
      )

    const embed = new MessageEmbed()
      .setTitle("**HELP MENU**")
      .setDescription(`Pls select a category to see more commands.\n\n> \<:57291theqts:925020896840806460> \`\Prefix\`\: ${config.prefix}\n> <:67322theqts:925020897587396638> \`\Total Commands\`\: ${client.commands.size}\n> <:84733theqts:925020897813885019> \`\Total Servers\`\: ${client.guilds.cache.size}\n\n For info on bot commands use \`.cmd <command>\`\n To report bugs, use \`/report\`\nTo make suggestions, use \`/suggest\``)
      .setImage("https://cdn.discordapp.com/attachments/925026772544782366/925064779289227324/b68f7d0b-903b-42cc-9770-f37e49941bdd-preview.png")
      .setColor("#f4c2c2")


    let sendmsg = message.channel.send({ embeds: [embed], components: [row, row2] })

    let embed1 = new MessageEmbed()
      .setColor('#FFFFFF')
      .setTitle('**HELP MENU**')
      .addFields(
        { name: "**CONFIG COMMANDS**", value: "`setchatchannel`,`setautorole`, `set-countingchannel`, `setwelcomechannel`, `setleavechannel`" })
      .setImage("https://cdn.discordapp.com/attachments/925037840977526896/925057005335511101/b68f7d0b-903b-42cc-9770-f37e49941bdd-preview.png")
      .setColor("#f4c2c2")
      .setFooter('Page 1')



    let embed2 = new MessageEmbed()

      .setTitle('**Help Menu**')
      .setColor('#FFFFFF')
      .addFields(
        { name: "**ECONOMY COMMANDS**", value: "`balance`, `deposit`, `withdraw`, `search`, `shop`, `inv`, `pet`, `adopt`, `buy`, `sell`, `use`, `gamble`, `multi`, `beg`, `daily`, `fish`, `hunt`, `rob`, `rich` `postmeme`" })
      .setColor("#f4c2c2")
      .setImage("https://cdn.discordapp.com/attachments/925037840977526896/925057005335511101/b68f7d0b-903b-42cc-9770-f37e49941bdd-preview.png")
      .setFooter('Page 2')




    let embed3 = new MessageEmbed()
      .setTitle('**Help Menu**')
      .setColor('#FFFFFF')
      .addFields(
        { name: "**FUN COMMANDS**", value: "`8ball`, `activity`, `pixelize`, `meme`, `changemymind`,`clyde`, `slap`, `nitro`, `wasted`, `say`, `quote`, `punch`, `owo`, `lovecalc`, `smug`, `eject`, `emojify`" })
      .setColor("#f4c2c2")
      .setImage("https://cdn.discordapp.com/attachments/925037840977526896/925057005335511101/b68f7d0b-903b-42cc-9770-f37e49941bdd-preview.png")
      .setFooter('Page 3')

    let embed4 = new MessageEmbed()

      .setTitle('**Help Menu**')
      .setColor('#FFFFFF')
      .addFields(
        { name: "**GAMES COMMANDS**", value: "`c4`, `tictactoe`, `roadrace`, `snake`, `football`, `quickclick`, `catchthefish`, `akinator`, `trivia`, " })
      .setImage("https://cdn.discordapp.com/attachments/925037840977526896/925057005335511101/b68f7d0b-903b-42cc-9770-f37e49941bdd-preview.png")
      .setColor("#f4c2c2")
      .setFooter('Page 4')

    let embed5 = new MessageEmbed()
      .setTitle('**Help Menu**')
      .setColor('#FFFFFF')
      .addFields(
        { name: "**INFO COMMANDS**", value: "`help`, `cmd`, `botinfo`, `ping`, `invite`, `embed`, `ticket-panel`" })
      .setImage("https://cdn.discordapp.com/attachments/925037840977526896/925057005335511101/b68f7d0b-903b-42cc-9770-f37e49941bdd-preview.png")
      .setColor("#f4c2c2")
      .setFooter('Page 5')

    let embed6 = new MessageEmbed()
      .setTitle('**Help Menu**')
      .setColor('#FFFFFF')
      .addFields(
        { name: "**MOD COMMANDS**", value: "`ban`, `addroleall`, `removeroleall`, `softban`, `purge`, `mute`, `kick`, `tempmute`, `nuke` `stealemoji`, `resetwarns`, `warnings`, `warn`, `rmvwarn`" })
      .setFooter('Page 6')
      .setImage("https://cdn.discordapp.com/attachments/925037840977526896/925057005335511101/b68f7d0b-903b-42cc-9770-f37e49941bdd-preview.png")
      .setColor("#f4c2c2")
    let embed7 = new MessageEmbed()
      .setTitle('**Help Menu**')
      .setColor('#FFFFFF')
      .addFields({ name: "**UTILITY COMMANDS**", value: "`addtag`, `edittag`, `removetag`, `afk`, `rolelist`, `snipe`, `timer`, `calculator`, `avatar`, `serverinfo`, `ss`, `dump`" })
      .setImage("https://cdn.discordapp.com/attachments/925037840977526896/925057005335511101/b68f7d0b-903b-42cc-9770-f37e49941bdd-preview.png")
      .setColor("#f4c2c2")
      .setFooter('Page 7')
    let embed8 = new MessageEmbed()
      .setTitle('**Help Menu**')
      .setColor('#FFFFFF')
      .addFields({ name: "**OWNER COMMANDS**", value: "`addpremium`, `eval`, `reload`, `remove-premium`, `slt`, `terminal` " })
      .addFields({ name: "**OWNER ECONOMY COMMANDS**", value: "`addcoins`, `addbank`, `rmvcoins`, `rmvbank`, `resetcoins`, `resetbank`, `deluser`" })
      .setImage("https://cdn.discordapp.com/attachments/925037840977526896/925057005335511101/b68f7d0b-903b-42cc-9770-f37e49941bdd-preview.png")
      .setColor("#f4c2c2")
      .setFooter('Page 8')

    const filter = i => i.user.id === message.author.id;
    const collector = message.channel.createMessageComponentCollector({
      filter,
      time: 90000,
      componentType: "SELECT_MENU"
    });

    collector.on("collect", async (collected) => {
      const value = collected.values[0]
      if (value === "0") {
        collected.update({ embeds: [embed], components: [row, row2] })
      }
      if (value === "1") {
        collected.update({ embeds: [embed1], components: [row, row2] })
      }
      if (value === "2") {
        collected.update({ embeds: [embed2], components: [row, row2] })
      }
      if (value === "3") {
        collected.update({ embeds: [embed3], components: [row, row2] })
      }
      if (value === "4") {
        collected.update({ embeds: [embed4], components: [row, row2] })
      }
      if (value === "5") {
        collected.update({ embeds: [embed5], components: [row, row2] })
      }
      if (value === "6") {
        collected.update({ embeds: [embed6], components: [row, row2] })
      }
      if (value === "7") {
        collected.update({ embeds: [embed7], components: [row, row2] })
      }
      if (value === "8") {
        collected.update({ embeds: [embed8], components: [row, row2] })
      }


    })


  }
}

當您嘗試同時發送 2 個嵌入時會發生這種情況,您應該使用

message/interaction.editReply({embeds: [embed]})

在 Discord 第 13 版中,他們將 message.channel.send 更改為 message/interaction.reply 或 followUp,我閱讀了您的代碼,您只是在定義消息,例如

let sendmsg = message.channel.send({ embeds: [embed], components: [row, row2] })

你應該使用

message.reply({embeds: [embed], components: [row, row2]});

編輯:首先像這樣向用戶發送回復 message.reply({embeds: [], components: []}); 然后在那個收集器 function 上做 editReply(/////); 相反 update() 是希望所以它會工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM