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

Discord.py斜杠命令如何定义接收数字输入的参数

Discord.py 斜杠命令接收数字输入的参数标注方法

根据你需要接收的数字类型,在标注位置填写对应类型即可:

  • 接收整数输入:填写int,框架会自动将选项识别为整数类型,自动校验用户输入合法性
  • 接收浮点数(小数)输入:填写float
  • 需要限制数字取值范围时,使用discord.app_commands.Range类型,可自定义最小值、最大值,非法输入会被Discord客户端直接拦截

基础整数输入的正确代码示例

@tree.command(guild = discord.Object(id=guild_id), name = 'leaderbord', description='Check leaderbord') 
async def slash3(interaction: discord.Interaction, number: int):
    # 此处number已经是转换完成的整数类型,可直接使用
    await interaction.response.send_message(f"当前查询的排行榜条目数:{number}")

带范围限制的数字输入示例

如果需要限制用户只能输入1-100之间的整数(比如排行榜最多查前100名),可以按如下写法:

from discord import app_commands

@tree.command(guild = discord.Object(id=guild_id), name = 'leaderbord', description='Check leaderbord') 
async def slash3(interaction: discord.Interaction, number: app_commands.Range[int, 1, 100]):
    await interaction.response.send_message(f"为你展示前{number}名的排行榜数据")

提示:不需要手动编写参数类型转换、非数字输入校验逻辑,Discord.py的应用命令框架会自动完成这部分工作,用户输入不符合类型要求的内容时,会直接在Discord输入侧收到错误提示,不会进入命令执行逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 21:36:21