Discord.js v13.12.0中ActionRowBuilder非构造函数报错求助
问题原因
你使用的discord.js v13.12.0中不存在ActionRowBuilder和SelectMenuBuilder类——这两个是discord.js v14才新增的组件构建器。v13版本对应的组件类是MessageActionRow(用于创建行容器)和MessageSelectMenu(用于创建下拉菜单)。
解决步骤
- 修正导入语句
把原代码中的导入行:
const { ActionRowBuilder, Events, SelectMenuBuilder } = require('discord.js');
替换为:
const { MessageActionRow, MessageSelectMenu } = require('discord.js');
(你的代码里没用到Events,直接删除即可)
- 替换组件实例化代码
在информация命令的逻辑中,将构建组件的类名替换为v13对应版本:
else if (interaction.commandName === 'информация'){ const row = new MessageActionRow() .addComponents( new MessageSelectMenu() .setCustomId('select') .setPlaceholder('Nothing selected') .addOptions( { label: 'Select me', description: 'This is a description', value: 'first_option', }, { label: 'You can select me too', description: 'This is also a description', value: 'second_option', }, ), ); await interaction.reply({ content: 'Pong!', components: [row] }); }
修改完成后,代码就能在discord.js v13.12.0环境下正常运行,下拉菜单也能正确渲染。
内容的提问来源于stack exchange,提问作者ART0022VI
相关产品推荐
相关产品推荐

