在我的程序中,我尝试向公会的(新)成员添加一个角色。但是,当我试图将角色添加到成员时,我会收到一个错误消息:“缺少权限”。令人困惑的是,机器人已经拥有了管理角色的权限。在我授予机器人管理员权限之后,错误还是出现了。
Role studentRole = getRole(STUDENT_ROLE_NAME, tempMem.getGuild().block());
if(studentRole == null){
tempMem.getPrivateChannel().block().createMessage("Sorry the Server doesn't have a \"Student\" Role contact admins for help!");
return;
}
tempMem.addRole(studentRole.getId()).block();
tempMem.getPrivateChannel().block().createMessage("Successfully added you as a Student! Have fun :smile:");对代码的进一步解释:成员tempMem:是应该接收学生角色的成员。 getRole(String name,Guild guild):是一种方法,它只查看行会中的角色列表,并返回以正确的名称作为参数的角色。这个机器人上的每个公会都应该有一个名为STUDENT_ROLE_NAME的角色。如果一切正常,这段代码片段应该只需要获得“学生角色”,并将其分配给tempMem。
发布于 2020-08-19 10:16:22
如前所述,我尝试给予机器人比学生角色更高的权限,但解决方案是将机器人的角色转移到学生角色之上。因此,缺少的权限错误实际上是正确的。
https://stackoverflow.com/questions/63449260
复制相似问题