临时禁言/解除禁言成员
更新时间: 2024/07/17 17:57:34
云信服务端支持圈组临时禁言功能。
功能介绍
云信圈组可以通过不同维度对指定用户进行临时禁言或解除临时禁言。
- 圈组服务器维度:对指定 服务器 中的单个用户或多个用户进行临时禁言或解除临时禁言。
- 圈组频道维度:在指定服务器中指定 频道 中,对单个用户或多个用户进行临时禁言或解除临时禁言。
对于同一用户而言,在不同维度下的禁言操作,互不覆盖,整体的禁言状态取 并集。在用户发送消息时,会检验该用户的整体禁言状态。但是对于同一用户、同一维度下的同一禁言操作(重复禁言),后续的操作都将覆盖前一次的操作,即禁言时间将会延长、缩短或者取消禁言。
如果成员退出服务器/频道后重新进入,则改成员的禁言状态将会重置。
当前支持的临时禁言时间范围为:60s ~ 30天(30* 24* 60* 60=2592000s),单位为秒,时间范围不支持扩展。
前提限制
使用圈组临时禁言功能需要相关权限,请提前开启身份组权限项中的 禁言/临时禁言管理(QChatRoleResource.MUTE
)。
URL
POST http://api.netease.im/nimserver/qchat/mute.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考 API 调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
operatorAccountId | String | 是 | 操作者用户帐号 ID |
serverId | Long | 是 | 服务器 ID |
channelId | Long | 否 | 频道 ID |
muteLevel | Integer | 是 | 临时禁言的维度,1-服务器、2-频道 |
operateType | Integer | 是 | 操作类型,1-临时禁言,2-解除禁言 |
muteAccountIds | Array of strings | 是 | 待禁言或解禁的用户帐号 ID 列表,例如 ["accid1","accid2"]。单次操作最多 50 个用户 |
duration | Long | 是 | 临时禁言的持续时长,单位为秒。设置的时间范围为 60s ~ 30天(30*24*60*60s) |
msg | String | 否 | 通知消息内容 |
notifyAll | Integer | 否 | 通知对象,1-通知被操作人、2-通知所有人。默认为 1 |
示例
cURL 请求示例
curl -X POST -H "AppKey: go9dnk49**803mgq3" -H "Nonce: 4tggg**323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb**316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'serverId=1513535&operatorAccountId=zhangsan&muteLevel=1&operateType=1&muteAccountIds=lisi&duration=30' 'http://api.netease.im/nimserver/qchat/mute.action'
返回参数
参数 | 类型 | 说明 |
---|---|---|
code | Integer | 状态码 |
failedList | Array of objects | 禁言失败的用户信息,具体字段信息见下表 |
failedList 字段 | 类型 | 说明 |
---|---|---|
accountId | String | 用户账号 ID |
errorCode | Integer | 错误码 |
msg | String | 错误信息 |
返回示例
"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"failedList": [
{
"accountId": "111111",
"errorCode": 414,
"msg": "xxxxxxxxxx"
}
]
}
状态码
该接口在 HTTPS Body 中返回请求的状态码,以下仅列出与接口业务强相关的状态码。完整状态码请参见 状态码。
200、403、404、414、416、431
此文档是否对你有帮助?