From 968b3e246f146ef560c05468e200cb5c1f0daaac Mon Sep 17 00:00:00 2001
From: KWH <31060590+oOTnTOo@users.noreply.github.com>
Date: Sun, 17 Dec 2023 11:37:08 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=8A=A0=E7=9B=B4=E6=92=AD=E9=97=B4?=
=?UTF-8?q?=E7=A6=81=E8=A8=80=E7=9B=B8=E5=85=B3=20(#904)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* 新加直播间禁言相关
* 禁言相关添加至目录
---
README.md | 1 +
docs/live/silent_user_manage.md | 218 ++++++++++++++++++++++++++++++++
2 files changed, 219 insertions(+)
create mode 100644 docs/live/silent_user_manage.md
diff --git a/README.md b/README.md
index 0db2c8d..8bf56da 100644
--- a/README.md
+++ b/README.md
@@ -234,6 +234,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
- [ ] [直播信息流](docs/live/message_stream.md)
- [ ] [直播红包](docs/live/redpocket.md)
- [ ] [直播间用户实用 API](docs/live/user.md)
+ - [x] [直播间禁言相关](docs/live/silent_user_manage.md)
- [ ] [转正答题](docs/newbie_exam)
- [x] [查询信息](docs/newbie_exam/info.md)
- [x] [拉取题目](docs/newbie_exam/fetch.md)
diff --git a/docs/live/silent_user_manage.md b/docs/live/silent_user_manage.md
new file mode 100644
index 0000000..08f7757
--- /dev/null
+++ b/docs/live/silent_user_manage.md
@@ -0,0 +1,218 @@
+# 直播间禁言相关 API
+
+## 禁言观众
+
+> https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/AddSilentUser
+
+*请求方式:post*
+
+认证方式:Cookie(SESSDATA)
+
+鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ---------- | --- | ---------- | --- | ------------------ |
+| room_id | str | 直播间Id | 必要 | |
+| tuid | str | 要禁言的uid | 必要 | |
+| msg | str | 要禁言的弹幕内容 | 非必要 | |
+| mobile_app | str | web | 必要 | 定值"web"即可 |
+| csrf_token | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
+| csrf | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
+| visit_id | str | 不明 | 非必要 | |
+
+**json 回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | --- | ---- | ------- |
+| code | num | 返回值 | 0:成功 |
+| message | str | 错误信息 | 默认为 "0" |
+| ttl | str | 1 | |
+| data | obj | 信息本体 | 成功为空 |
+
+**示例:**
+
+```shell
+curl -X POST 'https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/AddSilentUser' \
+--data-urlencode 'room_id=xxxxxx' \
+--data-urlencode 'tuid=xxx' \
+--data-urlencode 'msg=xxxx' \
+--data-urlencode 'mobile_app=web' \
+--data-urlencode 'csrf_token=xx' \
+--data-urlencode 'csrf=xx' \
+--data-urlencode 'visit_id=' \
+-H 'Content-Type:application/x-www-form-urlencoded' \
+-b 'SESSDATA=xxx; bili_jct=xx;'
+```
+
+
+查看响应示例:
+
+```json
+{"code":0,"message":"0","ttl":1,"data":{}}
+```
+
+
+
+## 查询直播间禁言列表
+
+> https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/GetSilentUserList
+
+*请求方式:post*
+
+认证方式:Cookie(SESSDATA)
+
+鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ---------- | --- | ---------- | --- | ------------------ |
+| room_id | str | 直播间Id | 必要 | |
+| ps1 | str | 列表页码 | 必要 | |
+| csrf_token | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
+| csrf | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
+| visit_id | str | 不明 | 非必要 | |
+
+**json 回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | --- | ---- | ------- |
+| code | num | 返回值 | 0:成功 |
+| message | str | 错误信息 | 默认为 "0" |
+| ttl | str | 1 | |
+| data | obj | 信息本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---------- | ----- | ------ | ------- |
+| data | array | 禁言列表 | 数组中为obj |
+| total | int | 禁言观众数量 | |
+| total_page | int | 页码总数量 | |
+
+`data`对象中`data`数组的元素对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ----------- | --- | ------ | --------- |
+| tuid | num | 禁言者uid | |
+| tname | str | 禁言者昵称 | |
+| uid | num | 发起者uid | |
+| name | str | 发起者昵称 | |
+| ctime | str | 禁言时间 | |
+| id | num | 禁言记录Id | 解除禁言时用到 |
+| is_anchor | num | 不明 | |
+| face | str | 禁言者头像 | |
+| admin_level | num | 发起者权限 | 0:主播,1:房管 |
+
+**示例:**
+
+```shell
+curl -X POST 'https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/GetSilentUserList' \
+--data-urlencode 'room_id=xxxxxxx' \
+--data-urlencode 'ps=1' \
+--data-urlencode 'csrf_token=xxx' \
+--data-urlencode 'csrf=xxx' \
+--data-urlencode 'visit_id=' \
+-H 'Content-Type:application/x-www-form-urlencoded' \
+-b 'SESSDATA=xxxx; bili_jct=xxx;'
+```
+
+
+查看响应示例:
+
+```json
+{
+ "code":0,
+ "message":"0",
+ "ttl":1,
+ "data":{
+ "data":[
+ {
+ "tuid":123456,
+ "tname":"xxxxx",
+ "uid":123456,
+ "name":"xxxx",
+ "ctime":"2023-12-15 16:32:46",
+ "id":13493921,
+ "is_anchor":0,
+ "face":"https://i1.hdslb.com/bfs/face/xxxxx.jpg",
+ "admin_level":1
+ },
+ {
+ "tuid":123456,
+ "tname":"xx",
+ "uid":123456,
+ "name":"xxxx",
+ "ctime":"2021-08-23 22:26:06",
+ "id":8018136,
+ "is_anchor":1,
+ "face":"https://i1.hdslb.com/bfs/face/xxxxxx.jpg",
+ "admin_level":0
+ }
+ ],
+ "total":2,
+ "total_page":1
+ }
+}
+```
+
+
+
+## 解除禁言
+
+> https://api.live.bilibili.com/banned_service/v1/Silent/del_room_block_user
+
+*请求方式:post*
+
+认证方式:Cookie(SESSDATA)
+
+鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ---------- | --- | ---------- | --- | ---------------------- |
+| roomid | str | 直播间Id | 必要 | 注意该接口名称没有“_” |
+| id | str | 禁言记录Id | 必要 | GetSilentUserList 接口获取 |
+| csrf_token | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
+| csrf | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
+| visit_id | str | 不明 | 非必要 | |
+
+**json 回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | --- | ---- | ---- |
+| code | num | 返回值 | 0:成功 |
+| message | str | 错误信息 | 成功为空 |
+| ttl | str | 1 | |
+| data | obj | 信息本体 | 成功为空 |
+
+**示例:**
+
+```shell
+curl -X POST 'https://api.live.bilibili.com/banned_service/v1/Silent/del_room_block_user' \
+--data-urlencode 'roomid=xxxxxxxxx' \
+--data-urlencode 'id=xxxxx' \
+--data-urlencode 'csrf_token=xxx' \
+--data-urlencode 'csrf=xxx' \
+--data-urlencode 'visit_id=' \
+-H 'Content-Type:application/x-www-form-urlencoded' \
+-b 'SESSDATA=xxxxxx; bili_jct=xxx;'
+```
+
+
+查看响应示例:
+
+```json
+{"code":0,"msg":"","message":"","data":[]}
+```
+
+