修改子频道权限
修改子频道权限。
使用示例
async function demo() {let { data } = await client.channelPermissionsApi.putChannelPermissions(channelId,userId,// updatePermission{remove: '1',add: '4',},);}
::: warning 注意
- 要求操作人具有管理子频道的权限,如果是机器人,则需要将机器人设置为管理员。
- 本接口不支持修改
可管理子频道权限。
:::
参数说明
| 字段名 | 必填 | 类型 | 描述 |
|---|---|---|---|
| channelId | 是 | string | 子频道 ID |
| userId | 是 | string | 用户 ID ,参考 User |
| updatePermission | 是 | UpdatePermission | 权限参数 |
UpdatePermission
参数包括add和remove两个字段,分别表示授予的权限以及删除的权限。要授予用户权限即把add对应位置1,删除用户权限即把remove对应位置1。当两个字段同一位都为1,表现为删除权限。
| 字段名 | 类型 | 描述 |
|---|---|---|
| add | string | 字符串形式的十进制数表示赋予用户的权限,参考Permissions |
| remove | string | 字符串形式的十进制数表示删除用户的权限,参考Permissions |
Permissions
权限是 QQ 频道管理频道成员的一种方式,管理员可以对不同的人、不同的子频道设置特定的权限。用户的权限包括个人权限和身份组权限两部分,最终生效是取两种权限的并集。
权限在服务端使用十六进制方式描述,现有权限类型如下:
| 权限 | 值 | 描述 |
|---|---|---|
| 可查看子频道 | 0x0000000001(1 << 0) | 支持指定成员可见类型,支持身份组可见类型 |
| 可管理子频道 | 0x0000000002(1 << 1) | 创建者、管理员、子频道管理员都具有此权限 |
| 可发言子频道 | 0x0000000004(1 << 2) | 支持指定成员发言类型,支持身份组发言类型 |
::: tip 提示
对位运算和移位操作符不熟悉的可参考相关文档。
以上述可发言子频道权限为例,操作数1经1<<2移位操作后,对应的二进制数为100,对应的16进制数为0x4。同理如果要表示权限可发言 + 可查看,将两种权限做加法即可,即:0x0000000002+0x0000000004=0x0000000006。
:::
SDK中权限用十进制字符串描述,可参考如下提示:
::: tip 提示
以添加可发言子频道权限为例:
async function demo() {let { data } = await client.channelPermissionsApi.putChannelPermissions(channelId, userId, {add: '4',});}
同理,移除可发言子频道如下:
async function demo() {let { data } = await client.channelPermissionsApi.putChannelPermissions(channelId, userId, {remove: '4',});}
:::
返回说明
返回结果为空。
返回示例
data:
'';
