как добавить роль участнику через Disnake?
при вводе команды i должна добавляться роль тому кто ввёл команду
import disnake
from disnake.ext import commands
import config
intends=disnake.Intents.all()
bot = commands.Bot(command_prefix='!', intents=intends)
@bot.command()
async def i(ctx, member: disnake.Member):
role = disnake.utils.get(ctx.messange.guild.roles, id = 1237477094842171482)
await ctx.author.add_roles(role)
bot.run(config.token)
но при вводе вылазит ошибка
Ignoring exception in command i:
Traceback (most recent call last):
File "C:\Users\iljar\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\disnake\ext\commands\bot_base.py", line 581, in invoke
await ctx.command.invoke(ctx)
File "C:\Users\iljar\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\disnake\ext\commands\core.py", line 904, in invoke
await self.prepare(ctx)
File "C:\Users\iljar\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\disnake\ext\commands\core.py", line 838, in prepare
await self._parse_arguments(ctx)
File "C:\Users\iljar\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\disnake\ext\commands\core.py", line 744, in _parse_arguments
transformed = await self.transform(ctx, param)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\iljar\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\disnake\ext\commands\core.py", line 568, in transform
raise MissingRequiredArgument(param)
disnake.ext.commands.errors.MissingRequiredArgument: member is a required argument that is missing.
у бота есть права администратора и роль для выдачи стоит ниже роли бота
Ответы (1 шт):
Автор решения: Zilayer
→ Ссылка
пиши вот так:
async def i(member:disnake.Member):
role = disnake.utils.get(member.guild.roles, id = 1237477094842171482)
await member.add_roles(role)
и в самом дискорде команда должна выглядеть вот так:
/i name