python - Discord Python 命令参数
问题描述
我正在尝试创建一个命令,其中第二个参数是机器人实际执行的操作
!haha kick, !haha ban, !haha test
所以我有
bot = commands.Bot(command_prefix='!')
@bot.command()
async def haha(ctx, arg):
channel = bot.get_channel(591059696622895117)
try:
if (arg == "kick"):
#kick
elif (arg == "ban"):
#ban
except:
await channel.send("Error processing your request!")
pass
但是我在运行时遇到错误,!haha
因为它缺少参数,我错过了什么?
解决方案
如果你的意思是 commands.errors.MissingRequiredArgument,它是一个特性,而不是一个错误。您可以使用 command_error 事件来处理它。
@bot.event
async def on_command_error(ctx, error):
if isinstance(error, commands.errors.MissingRequiredArgument):
await ctx.send("Your command isn't right!\n Read the help")
else:
raise error
推荐阅读
- qt - 无法自动化windeployqt,未找到
- sql - 如何将值插入列并同时引用 Oracle 表中该列的前一个值?
- minio - 迷你吧。我无法运行 minio 集群。在从节点上收到此错误
- python - 如何在网页中基于十六进制字符串模式抓取数据
- c - 赋值表达式隐含的转换
- python - 从头开始实现 numpy 协方差矩阵
- docker - 码头工人群。无法对 docker 堆栈的容器运行 exec,因为“docker 容器列表”找不到容器
- selenium - 为什么 Facebook 帖子抓取在数百个帖子被抓取后变得非常缓慢或停止?
- python - Numpy:模型的特征数量必须与输入相匹配。模型 n_features 为 2,输入 n_features 为 3
- javascript - 如何使用 jszip 和 pdfmake 在其中保存带有 pdf 的 zip?