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

如何在Nextcord中为Slash命令添加多个SlashOption?

可以为Slash命令添加多个SlashOption,具体实现方法如下

当然可以添加多个SlashOption,只需要在命令函数的参数列表中依次定义每个选项即可。以下是基于你的代码修改后的完整实现:

修改后的代码

async def announce(interaction: Interaction, 
                   buysell: str = SlashOption(
                       name="bto-stc",
                       description="选择交易类型",
                       choices={"BTO": "BTO", "STC": "STC"}),
                   stock: str = SlashOption(
                       name="stock",
                       description="输入股票代码"),
                   price: float = SlashOption(
                       name="price",
                       description="输入交易价格"),
                   quantity: int = SlashOption(
                       name="quantity",
                       description="输入合约数量"),
                   expiry: str = SlashOption(
                       name="expiry",
                       description="选择到期月份",
                       choices={"Jan": "January", "Feb": "February", "Mar": "March"})):
    # 创建Embed并添加所有选项字段
    embed = nextcord.Embed(description=f"**Options Entry**", color=0x00FF00)
    embed.add_field(name="** [🎟️] Contract:**", value=f"*{buysell}* *{stock}*", inline=False)
    embed.add_field(name="** [💰] Price:**", value=f"*{price}*", inline=False)
    embed.add_field(name="** [📦] Quantity:**", value=f"*{quantity}*", inline=False)
    embed.add_field(name="** [📅] Expiry:**", value=f"*{expiry}*", inline=False)

    await interaction.response.send_message(embed=embed, ephemeral=False)

关键说明

  • 每个SlashOption对应Discord命令中的一个输入项,可根据需求定义不同类型的参数(字符串、整数、浮点数等)
  • 建议为每个SlashOption添加description参数,用户输入命令时能看到每个选项的提示说明
  • 如果需要固定选项,像buysell和expiry一样,通过choices参数设置键值对,键是用户看到的选项,值是代码中接收的实际值
  • 在Embed中依次添加每个选项对应的字段,即可把用户输入的所有内容展示出来

修改后用户调用/announce命令时,会依次看到所有定义的选项,输入完成后Embed会完整显示所有选择内容,和你期望的效果一致。

内容的提问来源于stack exchange,提问作者Jinxed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:30:42