我究竟做错了什么? Discord.py

机器人应该在加入时将用户添加到示例角色,但它只是给了我一个错误,请帮助 .

我的代码:

@client.event
async def on_member_join(member):
    role = discord.utils.get(member.server.roles, name='Example Role')
    await client.add_roles(member,role)

错误:

忽略on_member_join Traceback中的异常(最近一次调用最后一次):文件“C:\ Users \ Ethan \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ discord \ client.py”,第307行, in _run_event来自getattr(self,event)(* args,** kwargs)文件“C:\ Users \ Ethan \ Desktop \ Eco bot.py”,第27行,在on_member_join中等待client.add_roles(成员,角色)文件“C:\ Users \ Ethan \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ discord \ client.py”,第2905行,在add_roles中从self._replace_roles(member,new_roles)文件中获得文件“ C:\ Users \ Ethan \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ discord \ client.py“,第2876行,_replace_roles来自self.http.replace_roles(member.id,成员) .server.id,roles)文件“C:\ Users \ Ethan \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ discord \ http.py”,第133行,请求引发Forbidden(r ,data)discord.errors.Forbidden:FORBIDDEN(状态代码:403):缺少权限

回答(2)

2 years ago

机器人没有manage_roles权限,我将机器人移动到列表的顶部,以便它可以编辑任何人 . 谢谢 .

2 years ago

为机器人授予Manage_roles权限,并注意当机器人在层次结构中更高时,机器人无法更改用户 .