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

如何将Discord命令中的멘션: discord.User参数设为可选参数?

如何将Discord.py命令参数设为可选?

要把「멘션: discord.User」改成可选参数,只需两步操作:

  1. 给参数设置默认值None,同时用Optional标记参数类型(需先导入typing模块的Optional)
  2. 在函数内添加判断逻辑:若未传入用户,就使用发起命令的用户自身ID

修改后的完整代码如下:

from typing import Optional
import discord
# 假设bee是你已初始化完成的Bot实例

@bee.command(name="돈얼마", description="지갑 지갑을 보자!")
async def 돈얼마(interaction: discord.Interaction, 멘션: Optional[discord.User] = None):
    # 判断是否传入目标用户,未传入则使用当前发起命令的用户ID
    userid = 멘션.id if 멘션 else interaction.user.id
    embed=discord.Embed(title="돈 지급", description=f"잔액 : {money[userid]}원\n이정도 밖에 없는건 아니죠? 에이", color=0x5cff67)
    await interaction.response.send_message(embed=embed)

关键细节说明:

  • Optional[discord.User]明确标注该参数可以是discord.User类型或None
  • 默认值= None让命令执行时可以省略这个参数
  • 新增的判断逻辑确保无论是否传入用户,都能获取到有效的userid,避免触发报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 23:28:14