黑盒语音接口
  1. 房间角色接口
黑盒语音接口
  • 教程
  • 开发者服务协议
  • 使用交流
  • 更新日志
  • 开发计划
  • 资源
    • 请求速率限制
    • Websocket
    • Bot命令
  • WEBSOCKET 连接请求
    • 连接到黑盒语音服务
  • HTTP接口
    • 消息接口
      • 发送消息接口的参数
      • 发送消息接口的返回值
      • 发送图片形式的频道消息
      • 发送Markdown文档
      • 更新指定频道消息
      • 删除指定的频道消息
      • 对某条频道消息增加/取消回应(小表情)
      • 发送卡片消息
      • 给用户发送私聊消息
      • 发送频道图片消息
      • 发送频道消息
      • 发送卡片消息
      • 发送频道消息@全体成员/@在线成员
      • 更新指定的频道消息
      • 删除指定的频道消息
      • 对某条频道消息增加/取消回应(小表情)
      • 给用户发送私聊消息
    • 媒体文件上传
      • 上传媒体文件的参数解析
      • 上传媒体文件
    • 房间角色接口
      • 权限相关说明
      • 接口说明
      • 获取房间角色列表
        GET
      • 创建角色
        POST
      • 更新角色
        POST
      • 删除角色
        POST
      • 对指定用户授予指定权限
        POST
      • 对指定用户剥夺指定权限
        POST
    • 房间表情
      • 房间表情包
      • 获取房间上传的表情包
      • 房间删除表情包
      • 房间更新表情包名称
    • 房间接口
      • 房间相关接口文档
      • 修改房间内昵称
      • 分页获取加入的房间列表
      • 获取房间信息
      • 退出房间
      • 房间踢人
      • 获取房间用户列表
  • 服务端推送事件
    • 事件说明
    • 通用推送字段
    • 机器人命令
      • 用户使用Bot命令
    • 频道消息事件
      • 频道消息事件
    • 房间消息事件
      • 房间消息事件
  1. 房间角色接口

权限相关说明

权限说明#

bit 位值权限说明
01管理员拥有除删除服务器之外的所有权限。
12查看频道允许成员查看频道(私密频道除外)。
24管理频道允许成员创建、编辑、删除频道。
38查看审核日志允许成员在此房间内查看用户在房间内的操作。
416管理角色权限允许成员创建新的权限,可以编辑或删除比自身最高身份组限低的身份组。同时允许成员编辑自身可访问的频道的权限。
532管理房间允许成员编辑房间名称,查看所有邀请。
664创建邀请允许成员邀请新人加入服务器。
7128管理邀请允许成员管理邀请。
8256修改昵称允许用户修改自己在房间的昵称。
9512管理昵称允许用户修改别人在房间的昵称。
101024将某人踢出房间允许成员将其他成员从此房间踢出。被踢出的成员如果获得新的邀请,可再次加入此房间。
112048将某人踢出频道允许成员将某人踢出频道。
124096将某人加入房间黑名单允许用户将其他用户加入房间黑名单,被加入黑名单的用户将永远无法加入此房间,直至被移出黑名单。
138192禁言某人允许用户对其他用户禁言,被禁言的用户无法在文字频道或语音频道中发言。
1416384发送消息允许成员发送消息。
1532768上传文件允许成员上传文件。
1665536@全体、@在线和所有权限组允许成员@全体成员或@在线成员,或@不同权限组的成员。
17131072添加表情回应允许成员添加表情回应。
18262144管理消息允许成员删除其他成员发出的消息或设置精华消息。
19524288接收离线消息允许成员接收离线时房间内的消息。如果关闭此权限,成员只能接收在线时房间内的消息。
201048576创建开黑邀约允许成员创建开黑邀约。
212097152管理开黑邀约允许成员管理开黑邀约。
224194304加入语音频道允许成员加入语音频道,并听到其他成员发言。
238388608语音频道内说话允许成员在语音频道内说话。如果该权限未开启,则成员默认处于已静音状态,直至具备"静音成员"权限者解除其静音状态为止。
2416777216允许直接讲话允许成员通过直接讲话的方式在语音频道内发言。如果该权限未开启,则成员需要使用按键说话的方式进行发言。
2533554432频道静音静音频道中所有用户。
2667108864静音成员被静音的成员说话将无法被他人听到。
27134217728移动成员允许成员断开连接或在语音频道之间移动其他成员。
28268435456管理语句管理语句。
29536870912修改频道内其他人的邀约管理频道内其他人的邀约。
301073741824管理表情允许成员在此房间内上传、编辑、移除 emoji 和大表情。
312147483648管理语音包允许成员在此房间内上传、编辑、移除语音包。
324294967296播放语音包允许成员在房间播放语音包。
338589934592播放伴奏允许成员在房间共享伴奏。
3417179869184共享屏幕允许成员在此房间内进行屏幕共享。
3534359738368发布组队允许成员发布组队。
3668719476736使用 bot 命令允许成员使用机器人指令,包括直接输入指令或选择输入框中的“使用机器人指令”。

角色权限permission 说明#

用户的角色的权限是由多个值异或(⊕,xor)计算得到的,比如某个角色既拥有查看频道=2的权限,还有管理频道=4的权限,那么他的permission的值为 2⊕4 =6
如下是一段go语言的demo,permission的值为6
var (
	ViewingChannel = 1 << 1 // 查看频道
	EditChannel    = 1 << 2 // 编辑、管理频道
)

func main() {
	permission := ViewingChannel | EditChannel
	println(permission)
}

根据某个角色的的permission值判断是否拥有某个行为的权限#

比如该角色的权限值 permission = 6,我们需要判断该角色是否拥有查看频道的权限,如下是一段go语言的demo
func checkHavePermission(permissions int64, requiredPermission int64) bool {
	if (permissions & 1) != 0 {
                // 1是管理员权限什么都能做
		return true
	}
	return (permissions & requiredPermission) != 0
}

角色Role字段解析#

 {
                "name": "机器人",
                "icon": "https://imgheybox.max-c.com/dev/avatar/2023/08/10/be2f127109038a6644c15ab9cf678b9e.png",
                "color_list": [
                    15027858,
                    14985695
                ],
                "id": "3378926863517753344",
                "department_id": "3230476736336502784",
                "permissions": "34359738369",
                "type": 0,
                "color": 0,
                "position": 2,
                "del_tag": 1,
                "hoist": 1,
                "mentionable": 0,
                "creator": "0",
                "create_time": 0
}
字段类型示例值说明
namestring机器人角色名称。
iconstringhttps://imgheybox.max-c.com/dev/avatar/2023/08/10/be2f127109038a6644c15ab9cf678b9e.png角色的图标,这里为空表示没有特定图标。
color_listarray[15027858,14985695]渐变色的颜色数组,颜色值10进制
idstring3378926863517753344角色的唯一标识 ID。
department_idstring3230476736336502784所属部门的 ID。目前已经弃用
room_idstring3230476736336502784房间 ID,与部门 ID 相同
permissionsstring34359738369权限值,具体参考 (权限说明)
typeint0类型标识,用于区分不同类型的角色具体参考(角色类型常量表)
colorint0颜色值10进制,在界面展示中用于区分不同角色。
positionint2角色排序
hoistint1是否将该角色成员在右侧和普通成员区分显示,1是区分0是不区分
mentionableint0目前弃用字段
creatorstring0创建者标识,0 的话则为房间创建者
create_timeint640创建时间戳,旧数据为0

角色类型常量表#

值说明
0默认角色类型
1游戏角色类型
2机器人角色类型
3成员管理员类型
4文本频道管理员类型
5音频频道管理员类型
6社区建设者类型
7高级管理员类型
254访客类型
255所有用户角色类型
修改于 2024-12-10 07:40:39
上一页
上传媒体文件
下一页
接口说明
Built with