如何在Discord.js的UserSelectMenuBuilder中指定特定用户
在Discord.js v14.14.1中,要让UserSelectMenu只显示特定用户,你需要使用UserSelectMenuBuilder的setOptions()方法,手动添加指定用户的选项,而非依赖默认的全服务器用户列表。
修改后的代码示例
// 确保导入所需的类 const { ActionRowBuilder, UserSelectMenuBuilder, UserSelectMenuOptionBuilder } = require('discord.js'); let select = new ActionRowBuilder().addComponents( new UserSelectMenuBuilder() .setCustomId('select') .setPlaceholder(`Select users`) // 添加指定用户的选项 .setOptions( new UserSelectMenuOptionBuilder() .setLabel('用户1') // 自定义显示的用户名 .setValue('12321') // 目标用户ID .setDescription('选择该用户'), // 可选描述文本 new UserSelectMenuOptionBuilder() .setLabel('用户2') .setValue('2222') .setDescription('选择该用户') ) );
关键说明
- 每个
UserSelectMenuOptionBuilder对应一个可选择的用户,必须通过setValue()传入目标用户的ID字符串。 setLabel()用于设置菜单中显示的用户名,你可以自定义文本,也可以通过服务器成员缓存动态获取真实用户名(比如guild.members.cache.get('用户ID')?.user.username)。- 配置完成后,菜单将仅展示你指定的这两个用户,不会显示服务器内其他用户。
内容的提问来源于stack exchange,提问作者nikkkushkaaafx
相关产品推荐
相关产品推荐

