获取子频道权限

获取指定子频道的权限。

使用示例

sync

  1. import qqbot
  2. token = qqbot.Token({appid}, {token})
  3. def demo():
  4. api = qqbot.ChannelPermissionsAPI(token, False)
  5. channel = api.get_channel_permissions(channel_id, user_id)

async

  1. import qqbot
  2. token = qqbot.Token({appid}, {token})
  3. async def demo():
  4. api = qqbot.AsyncChannelPermissionsAPI(token, False)
  5. channel_permissions = await api.get_channel_permissions(channel_id, user_id)

参数说明

字段名 必填 类型 描述
channel_id string 子频道 ID
user_id string 用户 ID ,参考 User

返回说明

返回 ChannelPermissions 对象。

ChannelPermissions

字段名 类型 描述
channel_id string 子频道 ID
user_id string 用户 ID,参考 User
permissions string 用户拥有的子频道权限,参考 Permissions

Permissions

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

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

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

::: tip 提示

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

:::

SDK中权限用十进制字符串描述,以下面返回示例为例,permissions'5',表示拥有可发言子频道(4)+可查看子频道(1)两种权限。

返回示例

data

  1. {
  2. "channel_id": "1128412",
  3. "user_id": "9962144428931019739",
  4. "permissions": "6"
  5. }