[英]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.