Discord.py дать роли на сервере в личном сообщении - PullRequest
0 голосов
/ 05 января 2020

Я бы хотел предоставить пользователю, который присылает сообщения боту определенную c роль на указанном c сервере. Как я могу это сделать, я не могу найти ничего в inte rnet. Код у меня сейчас (не работает и устарел):

        target_server_id = "623597980175433749"
        target_role_id   = "656158110179655701"


        #if not ctx.message.channel.is_private:
            #await client.say("Private command only")
        server = await client.get_guild(target_server_id)
        role = discord.utils.get(guild.roles, id=target_role_id)
        member = guild.get_member(ctx.message.author.id)
        if member:
            await client.add_roles(member, role)
        else:
            await client.say("You are not a member")

1 Ответ

1 голос
/ 06 января 2020

Я думаю, что единственные изменения, которые вам нужно сделать, это использовать целые числа для идентификаторов, изменить client.add_roles на member.add_roles и использовать ctx.send

target_server_id = 623597980175433749
target_role_id   = 656158110179655701

if not ctx.guild is not None:
    await ctx.send("Private command only")
server = await client.get_guild(target_server_id)
role = discord.utils.get(guild.roles, id=target_role_id)
member = guild.get_member(ctx.message.author.id)
if member:
    await member.add_roles(role)
else:
    await ctx.send("You are not a member")
...