Меню выбора сообщений работает, но по-прежнему выдает «это взаимодействие не удалось»

Я делаю команду справки для своего бота с меню выбора сообщений. У меня все работает нормально, но появляется только 1 проблема: «Это взаимодействие не удалось», хотя оно работает. Я могу просто игнорировать это и использовать бота, но мне не нравится тот факт, что он показывает, что каждый раз было бы хорошо, если бы кто-то мог сказать, как это исправить. Вот код

  let menu = new Discord.MessageSelectMenu()
    .setCustomId("menu")
    .setPlaceholder("Help commands...")
    .addOptions(
      [
        {
          label: "Fun commands",
          description: "Commands to timepass",
          value: "fun",
        },
        {
          label: "Server commands",
          description: "Commands to get info about server",
          value: "serverinfo",
        },
        {

          label: "DANGEROUS COMMANDS",
          description: "Commands to be abused",
          value: "abuseanddanger",
        },
        {
          label: "User commands",
          description: "Commands to get info about user",
          value: "usercommands",
        },
        {
          label: "Bot commands",
          description: "Commands to get info about bot",
          value: "botinfo",
        }, {
          label: "Utility commands",
          description: "Commands to avoid manual work",
          value: "utility",
        },
        {
          label: "Additional commands",
          description: "Commands not for use for functionality ",
          value: "extra",
        }
      ]
    )``` 

```if (message.content.toLowerCase() === prefix + "help") {
    let row = new Discord.MessageActionRow()
      .addComponents(menu)
    let helpEmb = new Discord.MessageEmbed()
      .setTitle("Shadow Help")
      .setColor("GREEN")
      .setImage("https://i.imgur.com/MImCgPp.png")
    message.channel.send({ embeds: [helpEmb], components: [row] }).then((msg) => {
      let collector = message.channel.createMessageComponentCollector({ componentType: "SELECT_MENU", customId: "menu" });
      collector.on("collect", (collected) => {
        let value = collected.values[0]
        if (value === "fun") {
          msg.edit({ embeds: [funEmb] })
        }
        if (value === "serverinfo") {
          msg.edit({ embeds: [serverEmb] })
        }
        if (value === "abuseanddanger") {
          msg.edit({ embeds: [abuseEmb] })
        }
        if (value === "usercommands") {
          msg.edit({ embeds: [userEmb] })
        }
        if (value === "botinfo") {
          msg.edit({ embeds: [botEmb] })
        }
        if (value === "extra") {
          msg.edit({ embeds: [extraEmb] })
        }
        if (value === "utility") {
          msg.edit({ embeds: [utilityEmb] })
        }
      })
    })
    let abuseEmb = new Discord.MessageEmbed()
      .setTitle("DANGEROUS COMMANDS")
      .setColor("RED")
      .setDescription(
        "These commands are dangerous and can be abused. Use them at your own risk."
      )
    let botEmb = new Discord.MessageEmbed()
      .setTitle("Bot commands")
      .setColor("BLUE")
      .setDescription(
        "Commands of bot ."
      )
    let extraEmb = new Discord.MessageEmbed()
      .setTitle("Additional commands")
      .setColor("YELLOW")
      .setDescription(
        "Some additional commands")
    let funEmb = new Discord.MessageEmbed()
      .setTitle("Fun commands")
      .setColor("YELLOW")
      .setDescription("Fun commands")
    let serverEmb = new Discord.MessageEmbed()
      .setTitle("Server commands")
      .setColor("BLUE")
      .setDescription("General commands of server")
    let userEmb = new Discord.MessageEmbed()
      .setTitle("User commands")
      .setColor("YELLOW")
      .setDescription("User commands")
    let utilityEmb = new Discord.MessageEmbed()
      .setTitle("Utility commands")
      .setColor("ORANGE")
      .setDescription("Utility commands")
  }

})
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ошибка возникает из-за того, что когда вы нажимаете MessageSelectMenu, на него не отвечают. Итак, все, что вам нужно сделать, это изменить код на:

let menu = new Discord.MessageSelectMenu()
    .setCustomId("menu")
    .setPlaceholder("Help commands...")
    .addOptions(
      [
        {
          label: "Fun commands",
          description: "Commands to timepass",
          value: "fun",
        },
        {
          label: "Server commands",
          description: "Commands to get info about server",
          value: "serverinfo",
        },
        {

          label: "DANGEROUS COMMANDS",
          description: "Commands to be abused",
          value: "abuseanddanger",
        },
        {
          label: "User commands",
          description: "Commands to get info about user",
          value: "usercommands",
        },
        {
          label: "Bot commands",
          description: "Commands to get info about bot",
          value: "botinfo",
        }, {
          label: "Utility commands",
          description: "Commands to avoid manual work",
          value: "utility",
        },
        {
          label: "Additional commands",
          description: "Commands not for use for functionality ",
          value: "extra",
        }
      ]
    )``` 

```if (message.content.toLowerCase() === prefix + "help") {
    let row = new Discord.MessageActionRow()
      .addComponents(menu)
    let helpEmb = new Discord.MessageEmbed()
      .setTitle("Shadow Help")
      .setColor("GREEN")
      .setImage("https://i.imgur.com/MImCgPp.png")
    message.channel.send({ embeds: [helpEmb], components: [row] }).then((msg) => {
      let collector = message.channel.createMessageComponentCollector({ componentType: "SELECT_MENU", customId: "menu" });
      collector.on("collect", (collected) => {
        let value = collected.values[0]
        if (value === "fun") {
          collected.update({ embeds: [funEmb] })
        }
        if (value === "serverinfo") {
          collected.update({ embeds: [serverEmb] })
        }
        if (value === "abuseanddanger") {
          collected.update({ embeds: [abuseEmb] })
        }
        if (value === "usercommands") {
          collected.update({ embeds: [userEmb] })
        }
        if (value === "botinfo") {
          collected.update({ embeds: [botEmb] })
        }
        if (value === "extra") {
          collected.update({ embeds: [extraEmb] })
        }
        if (value === "utility") {
          collected.update({ embeds: [utilityEmb] })
        }
      })
    })
    let abuseEmb = new Discord.MessageEmbed()
      .setTitle("DANGEROUS COMMANDS")
      .setColor("RED")
      .setDescription(
        "These commands are dangerous and can be abused. Use them at your own risk."
      )
    let botEmb = new Discord.MessageEmbed()
      .setTitle("Bot commands")
      .setColor("BLUE")
      .setDescription(
        "Commands of bot ."
      )
    let extraEmb = new Discord.MessageEmbed()
      .setTitle("Additional commands")
      .setColor("YELLOW")
      .setDescription(
        "Some additional commands")
    let funEmb = new Discord.MessageEmbed()
      .setTitle("Fun commands")
      .setColor("YELLOW")
      .setDescription("Fun commands")
    let serverEmb = new Discord.MessageEmbed()
      .setTitle("Server commands")
      .setColor("BLUE")
      .setDescription("General commands of server")
    let userEmb = new Discord.MessageEmbed()
      .setTitle("User commands")
      .setColor("YELLOW")
      .setDescription("User commands")
    let utilityEmb = new Discord.MessageEmbed()
      .setTitle("Utility commands")
      .setColor("ORANGE")
      .setDescription("Utility commands")
  }

})

Да, это работает. Тысм!

JasjitBansia 21.03.2022 11:01

Другие вопросы по теме