discord.py出现CommandRegistrationError: kil命令已存在报错求助
错误原因
使用@bot.command()装饰器修饰命令函数时,discord.py 会自动完成命令注册流程,不需要额外调用bot.add_command()方法手动注册。你同时使用了两种注册方式,导致kil命令被重复注册,因此触发了命令已存在的报错。
另外你提供的代码还存在两个可预见的运行错误:
await ctx.send行缺少必要缩进,不符合Python语法规范ctx.send()不支持多参数直接传入,你传入的username和"was killed"需要拼接为单个字符串再传入
解决方案
你可以任选以下一种方案修改代码即可解决报错:
- 方案一:删除手动注册命令的代码,仅保留装饰器注册逻辑,同时修正原有代码的缩进和传参问题,修改后代码如下:
@bot.command() async def kil(ctx, username: discord.User): await ctx.send(f"{username} was killed")
- 方案二:删除
@bot.command()装饰器,仅保留手动注册逻辑,同时修正原有代码的缩进和传参问题,修改后代码如下:
async def kil(ctx, username: discord.User): await ctx.send(f"{username} was killed") bot.add_command(kil)
内容的提问来源于stack exchange,提问作者vp cume
相关产品推荐
相关产品推荐

