#python #discord #discord.py
#python #Discord #discord.py
Вопрос:
Привет, я хотел сделать так, чтобы при выполнении команды она отправляла сообщение «Похоже, у вас отсутствуют некоторые разрешения — {разрешение здесь}», но это не работает. Вот мой код:
@client.event
async def on_command_error(ctx, error):
if isinstance(error,commands.MissingPermissions):
print(error.missing_perms)
await ctx.send(f' It looks like your missing some permissions - `{" amp; ".join(error.missing_perms)}`')
Комментарии:
1. в чем ошибка?
Ответ №1:
Вот хороший способ сделать это :
async def on_command_error(self, ctx, error):
# get the original exception
error = getattr(error, 'original', error)
if isinstance(error, commands.MissingPermissions):
missing = [perm.replace('_', ' ').replace('guild', 'server').title() for perm in error.missing_perms]
if len(missing) > 2:
fmt = '{}, and {}'.format("**, **".join(missing[:-1]), missing[-1])
else:
fmt = ' and '.join(missing)
_message = 'You need the **{}** permission(s) to use this command.'.format(fmt)
await ctx.send(_message)
return