从本质上讲,当用户将带有特定关键字的DM作为DM发送给机器人时,我试图构建一个赋予用户特定角色的机器人。关键字的东西,一切都很好。服务器解析正确,但是我认为在获取角色或添加角色时,有时会犯错。这是我的代码中用于角色扮演的特定部分:
server = client.get_guild(<my server id here>)
role = discord.utils.get(server.roles, name="Member")
await user.add_roles(ctx.message.author, role)
答案 0 :(得分:1)
DM中的用户没有角色,行会中的Member具有角色,因此您需要从该服务器的用户ID中获取成员。
此外,add_roles方法仅具有角色,而不具有User / Member对象
server = client.get_guild(<your server id here>)
role = discord.utils.get(server.roles, name="Member")
member = server.get_member(user.id)
await member.add_roles(role)
答案 1 :(得分:0)
您需要检索member
对象而不是user
对象,因为user
对象没有与公会链接。
server = client.get_guild(server_id)
role = discord.utils.get(server.roles, name="Member")
member = server.get_member(ctx.message.author.id)
await member.add_roles(role)