我正在尝试让我的Discord机器人能够添加角色。它能够创建角色,但是当我尝试将角色赋予某人时它失败了。这是我的代码:
await client.send_message(message.channel, 'Type in the name of the role you would like to have. This cannot be a role that already exists.')
roleMessage = await client.wait_for_message(author = message.author)
roleName = str(roleMessage.content)
await client.create_role(client.get_server('insertserveridhere'), name = roleName, colour = discord.Colour.orange(), hoist = True, mentionable = True)
userRole = discord.utils.get(message.server.roles, name = roleName)
await client.add_roles(message.author, userRole)
我已经尝试过查看给人角色的其他代码示例,它们看起来非常相似。我不知道问题是什么。每当我运行它时,它会说:
AttributeError:'NoneType'对象没有属性'id'
它表示在添加角色的行上。
编辑:userRole
上add_roles
似乎是问题,但我不知道原因。
编辑2:出于某种原因,将服务器ID更改为另一个,然后将其更改回来。
编辑3:出于某种原因,当我第二次在同一台服务器上再次破坏它时。我根本不明白这一点。
编辑4:我通过让机器人在创建和添加角色之间说些什么来让它正常工作。我的理论是,当它试图添加它时,它没有时间注册该角色。