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

BotBase.add_command()遇意外关键字参数'name',求排查Slash命令代码问题

问题排查与解决

错误原因

你遇到的BotBase.add_command() 收到意外的关键字参数'name'错误,是因为当前使用的Discord机器人库(大概率是discord.py)中,slash_command装饰器内部调用的add_command方法不接受name这个关键字参数。

解决方法

方案1:直接修改函数名匹配命令名

去掉slash_command装饰器里的name参数,将函数名改为你想要的命令名(此处为methods)即可,命令名默认会使用函数名:

@bot.slash_command()
async def methods(ctx: discord.ApplicationContext):
    embed = discord.Embed(title='支付方式', description="<strong>以下列出所有支付方式</strong>", color=0x7532f0)
    embed.add_field(
        name="<strong>Paypal</strong>",
        value=f"<code>battcompras@gmail.com</code><strong>⚠️ 仅支持F&F,否则无法收到订单 ⚠️</strong>",
        inline=False
    )
    await ctx.respond(embed=embed)  # 需添加该行发送嵌入消息,否则命令执行后无反馈

方案2:确认库版本并适配参数

若你确实需要通过参数指定命令名,先确认discord.py版本是否为2.0及以上(官方从2.0版本开始内置Slash命令支持)。新版本中slash_command装饰器支持name参数,若仍报错则检查参数拼写是否有误,或尝试使用command_name参数替代(部分兼容场景下可能需要该参数)。不过方案1的兼容性更强,更推荐使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:20:28