discord.ext.commands.errors.CommandInvokeError: Command raised an exception: InvalidArgument: target parameter must be either Member or Role
при попытке сделать канал видимым только для ролей с админкой в консоли бота появляется ошибка:
Traceback (most recent call last):
File "E:\Python\Python39\lib\site-packages\discord\client.py", line 333, in _run_event
await coro(*args, **kwargs)
File "E:\bot\bot.py", line 54, in on_command_error
raise error
File "E:\Python\Python39\lib\site-packages\discord\ext\commands\bot.py", line 903, in invoke
await ctx.command.invoke(ctx)
File "E:\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 859, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "E:\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: InvalidArgument: target parameter must be either Member or Role
сам код:
@bot.command()
async def lock(ctx):
channel = ctx.channel
author = ctx.message.author
everyone = discord.Guild.default_role
overwrite = discord.PermissionOverwrite()
overwrite.send_messages = False
overwrite.read_messages = False
overwrite.read_message_history = False
await channel.set_permissions(everyone, overwrite=overwrite)
Ответы (1 шт):
Автор решения: towerty
→ Ссылка
Компилятор вам же указал на ошибку:
InvalidArgument: target parameter must be either Member or Role
Насколько я понял вам требуется заменить строчку
everyone = discord.Guild.default_role
на
everyone = ctx.message.guild.default_role