我在 discord.js 中制作一个 discord bot,我有 2 个选择菜单,当 discord bot 启动时发送,如果我从第一个选择菜单中选择任何东西,它会给我
DiscordAPIError[10062]: Unknown interaction
错误,但从第二个选择项目一个正常工作
这是制作选择菜单的代码
const windows_row = new djs.ActionRowBuilder()
.addComponents(new djs.StringSelectMenuBuilder()
.setCustomId('select_windows_error_menu')
.setPlaceholder('Windows errors')
.addOptions([
{ label: 'Example', value: 'ex' },
])
)
const android_row = new djs.ActionRowBuilder()
.addComponents(new djs.StringSelectMenuBuilder()
.setCustomId('select_android_error_menu')
.setPlaceholder('Android errors')
.setDisabled(false)
.addOptions([
{ label: 'Example', value: 'ex2' },
])
)
创建选择菜单的作品很好
这是处理选择菜单的代码
client.on(djs.Events.InteractionCreate, async (interaction) => {
if (!interaction.isStringSelectMenu()) return
console.log(interaction.customId)
const selected = interaction.values[0]
switch (selected) {
case 'ex':
interaction.deferReply({
embeds: [
new djs.EmbedBuilder()
.setColor(djs.Colors.Green)
.setTitle('Example')
.setDescription('Test')
.setImage('attachment://example.png')
.setFooter({
text: 'test'
})
],
files: [{
attachment: ./examples/example1.png,
name: 'example.png'
}],
ephemeral: true
})
break
case 'ex2':
interaction.deferReply({
embeds: [
new djs.EmbedBuilder()
.setColor(djs.Colors.Green)
.setTitle('Example 2')
.setDescription('Test 2')
.setImage('attachment://example.png')
.setFooter({
text: 'test'
})
],
files: [{
attachment: './examples/example2.png',
name: 'example.png'
}],
ephemeral: true
})
break
default:
console.log('what')
}
})
但是在“ex1”的情况下,它是第一个选择菜单中项目的 ID,它只是给了我我正在谈论的错误,而且奇怪的是,在它崩溃之后,甚至在我关闭 vscode 之后,机器人仍然在线并且工作正常但是任何与 discord.js 无关的代码都不会运行,这就是我需要它不会崩溃的原因,否则如果我不需要其他代码我可以像这样离开它并运行它每天早上关闭一次 vscode,它将在用户不知情的情况下完美地运行一天的剩余时间,所以我真的需要解决这个问题。
似乎出于某种原因现在可以使用了..