【问题标题】:Mission Permission When Adding a Role to a Member Discord4J向成员添加角色时的任务权限 Discord4J
【发布时间】:2020-12-06 11:53:54
【问题描述】:

在我的程序中,我尝试为公会的(新)成员添加角色。但是当我尝试将角色添加到成员时,我收到一条错误消息:“缺少权限”。令人困惑的是,该机器人已经拥有管理角色的权限。在我授予机器人管理员权限后,错误仍然出现。


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: 是应获得学生角色的成员。 Role getRole(String name, Guild guild): 是一种方法,它只查看公会中的角色列表并返回具有作为参数给出的正确名称的角色。 这个机器人所在的每个公会都应该有一个名为 STUDENT_ROLE_NAME 的角色。 如果一切正常,这个 sn-p 应该只获取学生角色并将其分配给 tempMem。

【问题讨论】:

  • bot 角色是否高于您要添加的角色?
  • 是的,该成员实际上根本没有任何角色,并且该机器人的角色具有管理员权限

标签: java permissions discord discord4j


【解决方案1】:

正如上面已经说过的,我尝试赋予机器人“比学生角色更高”的权限,但解决方案是把机器人的角色移到学生的角色之上。 所以缺少权限的错误其实是正确的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 2020-07-20
    相关资源
    最近更新 更多