Discord Bot как вы играете роль кого-то из dms? Python

#python #discord #discord.py

#python #Discord #discord.py

Вопрос:

Вот мой код

 @client.command()
async def roledm(ctx):
    member = ctx.message.author
  

Когда вы создаете бот с помощью !roledm получает ваше имя, но как оно попадет на мой сервер discord и сыграет их роль? как мне распределять роли людей без использования discord.utils.get (member.server.roles) , я просто хочу использовать свой идентификатор сервера для их роли.

Комментарии:

1. У пользователей нет ролей в канале DM. Вам придется использовать get .

2. хм, я просто хотел, чтобы он перешел на мой сервер и распределил их роли

3. Взгляните на мой ответ, вам все равно нужно использовать get , чтобы ваш бот знал, какие роли есть на вашем сервере.

Ответ №1:

Вам нужно использовать get для возврата ролей в вашей гильдии.

 @client.command()
async def roledm(ctx):
    guild = client.get_guild(id=0000000000000000000000) # Guild ID
    role = discord.utils.get(guild.roles, id=0000000000000000000000)  # Role ID
    member = guild.get_member(ctx.message.author.id)
    await member.add_roles(role)
  

Комментарии:

1. Имейте в виду, что вы можете использовать имя роли role = discord.utils.get(guild.roles,name="NAME HERE")

2. больше не работает, могу ли я получить обновленную версию?

3. @Flaried, этот ответ все еще работает. вы помещаете правильные идентификаторы в функции get()?