# 修改子频道权限 v1.0.0

修改子频道权限。

# 使用示例

async function demo() {
  let { data } = await client.channelPermissionsApi.putChannelPermissions(
    channelId,
    userId,
    // updatePermission
    {
      remove: '1',
      add: '4',
    },
  );
}
1
2
3
4
5
6
7
8
9
10
11

注意

  • 要求操作人具有管理子频道的权限,如果是机器人,则需要将机器人设置为管理员。
  • 本接口不支持修改可管理子频道权限。

# 参数说明

字段名 必填 类型 描述
channelId string 子频道 ID
userId string 用户 ID ,参考 User
updatePermission UpdatePermission 权限参数

# UpdatePermission

参数包括addremove两个字段,分别表示授予的权限以及删除的权限。要授予用户权限即把add对应位置1,删除用户权限即把remove对应位置1。当两个字段同一位都为1,表现为删除权限。

字段名 类型 描述
add string 字符串形式的十进制数表示赋予用户的权限,参考Permissions
remove string 字符串形式的十进制数表示删除用户的权限,参考Permissions

# Permissions

权限是 QQ 频道管理频道成员的一种方式,管理员可以对不同的人、不同的子频道设置特定的权限。用户的权限包括个人权限身份组权限两部分,最终生效是取两种权限的并集。

权限在服务端使用十六进制方式描述,现有权限类型如下:

权限 描述
可查看子频道 0x0000000001(1 << 0) 支持指定成员可见类型,支持身份组可见类型
可管理子频道 0x0000000002(1 << 1) 创建者、管理员、子频道管理员都具有此权限
可发言子频道 0x0000000004(1 << 2) 支持指定成员发言类型,支持身份组发言类型
可直播子频道 0x0000000008 (1 << 3) 支持指定成员发起直播,支持身份组发起直播;仅可在直播子频道中设置

提示

位运算移位操作符不熟悉的可参考相关文档 (opens new window)。 以上述可发言子频道权限为例,操作数11<<2移位操作后,对应的二进制数为100,对应的16进制数为0x4。同理如果要表示权限可发言 + 可查看,将两种权限做加法即可,即:0x0000000002+0x0000000004=0x0000000006

SDK中权限用十进制字符串描述,可参考如下提示:

提示

以添加可发言子频道权限为例:

async function demo() {
  let { data } = await client.channelPermissionsApi.putChannelPermissions(channelId, userId, {
    add: '4',
  });
}
1
2
3
4
5

同理,移除可发言子频道如下:

async function demo() {
  let { data } = await client.channelPermissionsApi.putChannelPermissions(channelId, userId, {
    remove: '4',
  });
}
1
2
3
4
5

# 返回说明

返回结果为空。

# 返回示例

data

'';
1
手机QQ扫码
开发者社区
加入官方频道开发者社区