#python #discord #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.
Комментарии:
1. Вы не передаете arg через команду, не используете
!warnings clear [user_id]
в своем discord или не используете другое [использование] для его проверки.2. Проблема не в этом :/ Как я уже сказал, я хочу, чтобы он включал !предупреждения — вместо того, чтобы выдавать мне ошибку, — дайте мне для этого сообщение о помощи.
3. Теперь я понимаю, что ответил вам ниже 🙂
Ответ №1:
используйте 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")
...
Комментарии:
1. Это прекрасно работает! Я применил его только тогда, и все хорошо 😛