You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:25:21