向不和谐角色Discord.net添加/删除权限

时间:2020-06-26 06:55:03

标签: c# discord.net

您好,最近我想创建一个可以修改角色权限的命令。

例如: prefix.modrole @role add/remove ban kick mute 因此,如果我调查服务器角色,我应该看到已添加/删除了这些特定角色。 这是我试过的东西:

switch(perms){
case "ban":
   var currentPerms=role.Permissions;
   currentPerms.Modify(banMembers:true);
try{
      await role.ModifyAsync(rp=>rp.Permissions=currentPerms);
   }catch(Exception e)
   {
      //handeling error code here
   }
.
.

但是当我在服务器中查找时,角色权限没有改变。它并没有给我任何例外。 机器人和用户有权管理角色。

编辑: 尝试这样做:

 await role.ModifyAsync(rp=>rp.Permissions=rp.Permissions.Modify(banMembers:true));

但是如果烫发超过1个 例如: prefix.command @role ban mute admin 仅最后一个烫发添加到@role。

1 个答案:

答案 0 :(得分:1)

正如您所提到的,您可以使用以下更改角色权限:

await role.ModifyAsync(rp=>rp.Permissions=rp.Permissions.Modify(banMembers:true));

为多个权限执行此操作非常简单:

await role.ModifyAsync(rp => rp.Permissions = rp.Permissions.Modify(banMembers: true, kickMembers: true));

只需根据需要添加任意数量的权限,以逗号分隔。