(顺便说一下,这是我的第一篇文章<3)我正在制作一个discord.py机器人,我想要一个命令,它可以为用户列出警告(警告列表),清除用户的警告(清除警告),或者为命令提供帮助消息(任何不适合其他两个命令的命令)!代码如下:
@commands.command(name="warnings")
async def warnings(self, ctx, usage, user):
if usage == "clear":
f = open(user + ".txt", "w")
f.write("")
f.close()
embed = discord.Embed(title="Warnings removed", description=f"I have removed all warnings for <@!{user}>", colour=discord.Colour.green())
await ctx.channel.send(embed=embed)
elif usage == "list":
try:
f = open(user + ".txt", "r")
readResult = f.read()
if readResult.startswith("Reason: "):
embed = discord.Embed(title="Warnings for: <@!" + user + ">", description=readResult, colour=discord.Colour.red())
await ctx.channel.send(embed=embed)
else:
embed = discord.Embed(title="This user has no warnings", colour=discord.Colour.green())
await ctx.channel.send(embed=embed)
except:
embed = discord.Embed(title="This user has no warnings", colour=discord.Colour.green())
await ctx.channel.send(embed=embed)我已经尝试了一个if语句并使用@warnings.error,但是它不起作用,我也用同样的错误消息搜索了前面的问题,但它们并不完全相同!:(顺便说一下,代码本身不是问题所在:)
我期望的是:
!警告
>[Something help info.]我得到的是:
raise MissingRequiredArgument(param)
discord.ext.commands.errors.MissingRequiredArgument: usage is a required argument that is missing.发布于 2021-07-23 16:59:02
使用param=None做一个子命令,也许你可以搜索如何制作一个自定义的help,这会对你有帮助。
@commands.command(name="warnings")
async def warnings(self, ctx, usage=None, user=None):
if usage is None:
pass # do something here
elif usage == "clear":
f = open(user + ".txt", "w")
...https://stackoverflow.com/questions/68496422
复制相似问题