Как делать аргументы в несколько слов в discord.py
У меня есть следующий отрывок кода:
@Bot.command
@commands.has_permissions(administrator = True)
async def repban(usr, time, rule):
Как сделать так, чтобы при сообщении !repban person 12h rule 17 У переменных usr, time и rule были значения, при условии, что кавычки не надо использовать
usr = "person"
time = "12h"
rule = "rule 17"
Ответы (1 шт):
Автор решения: Mr. ArtemChik
→ Ссылка
Уже сам нашёл ответ в документации. Для этого нужно перед параметром поставить *, например:
@Bot.command(pass_context=True)
@commands.has_permissions(administrator=True)
async def banrep(ctx, usr, time, *, rule):
usr = str(usr)
time = str(time)
rule = str(rule)
Emb = discord.Embed(title=f"Выдан бан игроку " + usr, colour = discord.Color.purple())
Emb.add_field(name="Срок", value=time, inline=True)
Emb.add_field(name="По причине", value=rule, inline=True)
ban_message = await ctx.send(embed=Emb)
print("Issued ban report. Report arguments: " + usr + time + rule)
ban_message_id = ban_message.id
В результате мы получаем вот это:
