Discord.js v14:如何为斜杠命令添加输入字段
在Discord.js v14中为斜杠命令添加输入字段
你提到的输入字段对应Discord.js里的命令选项(Options),通过SlashCommandBuilder提供的方法就能快速实现,以下是具体操作方式:
1. 基础示例:添加必填字符串输入字段
以创建一个让机器人重复文本的斜杠命令为例:
const { SlashCommandBuilder } = require('discord.js'); module.exports = { data: new SlashCommandBuilder() .setName('echo') .setDescription('让机器人重复你输入的内容') // 添加字符串类型的输入字段 .addStringOption(option => option.setName('content') .setDescription('要重复的文本') .setRequired(true) // 设置为必填字段 ), async execute(interaction) { // 获取用户输入的内容 const inputContent = interaction.options.getString('content'); await interaction.reply(`你输入的内容:${inputContent}`); }, };
2. 不同类型的输入字段
根据需求选择对应类型的选项方法:
- 整数输入(支持设置范围):
.addIntegerOption(option => option.setName('number') .setDescription('输入1-100之间的数字') .setMinValue(1) .setMaxValue(100) )
- 用户选择(选择服务器内的用户):
.addUserOption(option => option.setName('target') .setDescription('选择要互动的用户') )
- 频道选择(选择服务器内的频道):
.addChannelOption(option => option.setName('channel') .setDescription('选择目标频道') )
3. 添加多个输入字段
直接链式调用多个addXXXOption方法即可实现多输入字段:
data: new SlashCommandBuilder() .setName('greet') .setDescription('向指定用户发送问候') .addUserOption(option => option.setName('user') .setDescription('要问候的用户') .setRequired(true) ) .addStringOption(option => option.setName('custom_msg') .setDescription('自定义问候语(可选)') .setRequired(false) ), async execute(interaction) { const targetUser = interaction.options.getUser('user'); const customMsg = interaction.options.getString('custom_msg') || '你好呀!'; await interaction.reply(`${targetUser},${customMsg}`); }
内容的提问来源于stack exchange,提问作者Manik_TheGuru
相关产品推荐
相关产品推荐

