discord.py rewrite | Making errors for my commands(discord.py 重写 |为我的命令出错)
问题描述
现在我完成了我的审核命令 [大部分],我正在尝试添加错误.我已经犯了请指定一个成员"错误,但我无法让机器人说这个成员不存在"输入无效名称时.
Now that I finished my moderation commands [mostly], I am trying to add errors in. I already made the "please specify a member" error, but I cannot manage to make the bot say "this member does not exist" when an invalid name is input.
@client.command(name='kick',
brief='Kicks user',
aliases=['Kick'],
pass_context=True)
async def kick(context, member:discord.Member=None):
# Errors
if not member:
await context.send('Please specify a member.')
return
# Actual Kicking
if context.author.guild_permissions.kick_members == True:
await member.kick()
await context.send(f"{member.mention} was kicked ")
else:
await context.send(context.message.author.mention + ", you don't have permission")
这是我的命令之一,一切正常.如果该成员显然不存在,我想要一个显示找不到用户"的错误.例如,k!kick ijhguiserb 会让机器人说未找到成员",而不是在 shell 中给我一个错误.
This is one of my commands, where everything is working. I would like an error which says "User not found" if the member, obviously, doesn't exist. For example, k!kick ijhguiserb would make the bot say, "Member not found," rather than giving me an error in the shell.
我们将不胜感激,谢谢!
Help would be appreciated, thanks!
推荐答案
你必须定义一个 错误处理程序来处理ConversionError
You'll have to define an error handler to handle the ConversionError
from discord.ext.commands import ConversionError
@kick.error
async def kick_error(ctx, error):
if isinstance(error, (ConversionError, BadArgument)):
await ctx.send("Member not found")
else:
raise error
这篇关于discord.py 重写 |为我的命令出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:discord.py 重写 |为我的命令出错
基础教程推荐
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
