我正在尝试使用discord.py库制作一个机器人程序。下面的功能应该是踢用户。当用户没有传递它应该踢的用户的名字时,机器人应该发送消息:";请指定要踢的用户";。除非我输入以下代码
#kick command
@bot.command()
@has_permissions(kick_members=True)
async def kick(ctx, member : discord.Member, *, reason=None):
await member.kick(reason=reason)
await ctx.send(f'User {member.mention} has been kicked for: "{reason}".')
#this is where the error should be written
@bot.event()
async def on_command_error(ctx, errors):
if isinstance(error, commands.MissingRequiredArgument):
await ctx.send("Please specify the user you want to kick")
我得到两个错误:第一个是关于@bot.event()
行代码中的@bot
。错误是";方法调用"中的参数"coro"没有值;另一个是关于";错误";在CCD_ 3代码行中。错误为:Undefined variable 'error'
。有人知道怎么解决这个问题吗?
1-@bot.event
应该没有()
2-是commands.errors.MissingRequiredArgument
你错过了errors
3-async def on_command_error(ctx, error):
是error
而不是errors
#kick command
@bot.command()
@has_permissions(kick_members=True)
async def kick(ctx, member : discord.Member, *, reason=None):
await member.kick(reason=reason)
await ctx.send(f'User {member.mention} has been kicked for: "{reason}".')
#this is where the error should be written
@bot.event
async def on_command_error(ctx, error):
if isinstance(error, commands.errors.MissingRequiredArgument):
await ctx.send("Please specify the user you want to kick")
注意:错误消息是所有命令的常规消息。