Discord 为玩家分配角色不协调Python

Discord 为玩家分配角色不协调Python,discord,discord.py,Discord,Discord.py,我在使用我创建的bot为服务器中的不协调用户分配角色时遇到问题 我编写的代码是用于与FaceIT交互的,它工作得很好,但我希望能够根据一个用户进行了多少次匹配来分配角色 通过我的代码,我知道discord用户的ID,因为它们存储在配置文件中,配置被加载到一个名为server\u config的数组中 运行代码时,出现以下错误: discord.ext.commands.errors.CommandInvokeError:命令引发异常:AttributeError:“Guild”对象没有属性“ad

我在使用我创建的bot为服务器中的不协调用户分配角色时遇到问题

我编写的代码是用于与FaceIT交互的,它工作得很好,但我希望能够根据一个用户进行了多少次匹配来分配角色

通过我的代码,我知道discord用户的ID,因为它们存储在配置文件中,配置被加载到一个名为server\u config的数组中

运行代码时,出现以下错误:

discord.ext.commands.errors.CommandInvokeError:命令引发异常:AttributeError:“Guild”对象没有属性“add_roles”

下面是我的代码片段

@client.command(aliases=["lvl"])
async def assignLvl(ctx):
    global server_config 

    players = server_config[str(ctx.guild.id)]['players']

    # Making sure the server is registered
    check_server(ctx)
    .
    .
    .      this part gets FACEIT data and works
    .
    .
    .
    gzk_srvr = ctx.guild
    for item in hub_data:

        for key in players: 
            if players[key] == item['nickname']:
                if int(item['stats']['Matches']) >= 1 and int(item['stats']['Matches']) < 5:
                    role = get(gzk_srvr.roles, name="First Scrim Attendee")
                    user = gzk_srvr.get_member(int(key))
                    await gzk_srvr.add_roles(players[key], role)

                if int(item['stats']['Matches']) >= 5 and int(item['stats']['Matches']) < 15:
                     role = get(gzk_srvr.roles, name="Lvl 1 Scrimmer")
                     user = gzk_srvr.get_member(int(key))
                     await gzk_srvr.add_roles(players[key], role)

                if int(item['stats']['Matches']) >= 15 and int(item['stats']['Matches']) < 30:
                     role = get(gzk_srvr.roles, name="Lvl 2 Scrimmer")
                     user = gzk_srvr.get_member(int(key))
                     await gzk_srvr.add_roles(players[key], role)

                if int(item['stats']['Matches']) >= 30:
                    role = get(gzk_srvr.roles, name="Lvl 3 Scrimmer")
                    user = gzk_srvr.get_member(int(key))
                    await gzk_srvr.add_roles(players[key], role)
我已经看到了一些关于这方面的问题和答案,并尝试实现它们,例如OP的答案是使用Wait client.add_角色。。。。。但我也会抛出类似的异常 像Bot一样,没有属性add\u角色


我非常感谢任何能为我指明正确方向的帮助。

您需要将角色添加到成员中。要获得公会的角色,您可以使用


让我更新我的代码,我现在能够获得用户,在一瞬间检查我的更新。这对我来说很有效,我必须首先获得用户,这是我所缺少的。我已经知道了成员id,但是大多数代码没有告诉您使用什么方法来获取成员值
await member.add_roles(discord.utils.get(gzk_srvr.roles, name="Role Name"))