как добавить роль участнику через 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
→ Ссылка