хотел сделать команду для выдачи определённой роли и смене никнейма на выбранную пользователем
@client.command()
async def reg (ctx, member: discord.Member, *, nick):
await ctx.message.delete()
member = ctx.message.author
role = discord.utils.get(ctx.message.guild.roles, id = 'my_id_role')
await member.add_roles(role)
await member.edit(nick= nick)
у меня вроде получилось сделать это, но я хотел бы чтобы не надо было указывать себя самого через @, а чтобы учитывался автор сообщения с командой, а также чтобы команда работала только в одном канале дискорд. И можно ли сделать это через ивент захода человека на сервер после приветствия. Думаю по коду видно что я явный новичок
@client.event
async def on_member_join(member):
channel = client.get_channel('id')
role = discord.utils.get(member.guild.roles, id = 'id')
await member.add_roles(role)
emb = discord.Embed(title= f'гражданин ``{member.name}`` въехал в республику', color = 0x14efff )
await channel.send( embed = emb)
new_channel = client.get_channel('id')
await new_channel.send('введите команду [rp!reg], затем укажите себя с помощью[@имя автора], а затем имя и фамилию своего персонажа с большой буквы')