From b19be6df36342e814b016a74f600f20f251cece3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8C=BA=E6=B3=BD=E7=86=99?= <1192102366@qq.com> Date: Thu, 28 Nov 2024 16:31:26 +0800 Subject: [PATCH 01/38] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e91ec7..6e58b4e 100644 --- a/README.md +++ b/README.md @@ -377,6 +377,7 @@ OR Aifadian:[https://afdian.net/@ShakaiAneE](https://afdian.net/@ShakaiAneE) - [CzJam/Bili_Realtime_Data](https://github.com/CzJam/Bili_Realtime_Data): Bilibili粉丝与视频实时数据统计 - [kingwingfly/fav](https://github.com/kingwingfly/fav): 自动同步bili收藏夹、合集视频到本地的CLI工具(Rust实现,并提供一个文档测试完善的Rust风格的用于构建有状态爬虫的核心库) - [linyuye/Bilibili_crawler](https://github.com/linyuye/Bilibili_crawler): 基于bilibili懒加载api爬取b站动态,视频等评论区 +- [ouzexi/bilibili-hot-tags](https://github.com/ouzexi/bilibili-hot-tags): 一个B站热门视频标签检索统计小工具 ### 其他 From 22723ca1cef3472f5d29840e264f00397cd24aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Tue, 22 Apr 2025 01:27:47 +0800 Subject: [PATCH 02/38] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20rural.svg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/zone_v2_icon/rural.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/zone_v2_icon/rural.svg b/assets/zone_v2_icon/rural.svg index c1ea246..86890a6 100644 --- a/assets/zone_v2_icon/rural.svg +++ b/assets/zone_v2_icon/rural.svg @@ -12,6 +12,6 @@ d="M19.80106 14.7049C19.08797 18.83357 13.92499 19.93133 11.03338 16.8288C12.60778 12.48394 16.91021 12.22205 19.80106 14.7049z" fill="#57D587ff"> + d="M16.30752 5.67904C16.56192 6.14421 16.39104 6.72755 15.92592 6.98196C13.72982 8.183 12.6264 10.43021 12.22214 12.83395C11.81539 15.25277 12.15562 17.6279 12.63734 18.80381C12.83827 19.29446 12.60346 19.8551 12.1128 20.05603C11.62224 20.25706 11.0616 20.02224 10.86058 19.53158C10.22304 17.97514 9.87216 15.2304 10.32874 12.51552C10.78781 9.78549 12.10214 6.88484 15.00461 5.29743C15.46973 5.04302 16.05312 5.21388 16.30752 5.67904z" + fill="#1F9F81ff"> \ No newline at end of file From 8d72b5aa0da72c73a90eeb71f89a43f91b9c911b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Wed, 23 Apr 2025 00:06:18 +0800 Subject: [PATCH 03/38] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20info.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/vip/info.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/vip/info.md b/docs/vip/info.md index 9e3ef1b..3fc4611 100644 --- a/docs/vip/info.md +++ b/docs/vip/info.md @@ -43,7 +43,7 @@ | bind_phone | str | 绑定的手机号 | 星号隐藏部分信息 | | taobao_account | 有效时:obj
无效时:null | 绑定的淘宝账号 | | -`list`数组中的对象: +`list`数组: | 索引 | 类型 | 内容 | type | 备注 | | ---- | ---- | -------------------------------- | ---- | ------------------------------- | @@ -57,7 +57,7 @@ | 7 | obj | (~~王者荣耀~~)游戏礼盒兑换状态 | 8 | 每日可领取,目前 state 固定为 1 | | 8 | obj | 每日 10 经验领取状态 | 9 | 每日可领取,未完成时 state 为 2 | -`list`中的对象: +`list`数组中的对象: | 字段 | 类型 | 内容 | 备注 | | ----------------- | ---- | -------------------- | ----------------------------------------------------- | From dc3f6d64a730cf3481365e49ddd9c6b2d568569f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Sat, 26 Apr 2025 02:02:17 +0800 Subject: [PATCH 04/38] feat & fix: update docs & fix typo in issue template --- .github/ISSUE_TEMPLATE/1-update-request.yml | 11 +- docs/message/msg.md | 1 + docs/user/relation.md | 12 +- docs/video/info.md | 2 +- docs/video/tags.md | 374 +++++++++++++------- 5 files changed, 264 insertions(+), 136 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/1-update-request.yml b/.github/ISSUE_TEMPLATE/1-update-request.yml index 9693f2f..385a587 100644 --- a/.github/ISSUE_TEMPLATE/1-update-request.yml +++ b/.github/ISSUE_TEMPLATE/1-update-request.yml @@ -14,12 +14,13 @@ body: attributes: label: "API 来源" description: "该 API 在何平台中使用" + multiple: true options: - "Web 端(含 h5)" - "PC 客户端(Electron)" - "Android 客户端(含粉版、平板版、蓝版、概念版、国际版等)" - - "TV 客户端(含云试听小电视、车机、物联网版等)" - - "IOS 客户端(含粉版、平板版、概念版等)" + - "TV 客户端(含云视听小电视、车机、物联网版等)" + - "iOS 客户端(含粉版、平板版、概念版等)" - "必剪客户端" - "漫画客户端" - "其他(请在详情中备注)" @@ -33,16 +34,16 @@ body: options: - "REST" - "gRPC" - - "长连接数据帧(含 ws、TCP)" + - "长连接数据帧(含 WebSocket、TCP)" - "其他类型(请在详情中备注)" validations: required: true - type: input - id: adderss + id: address attributes: label: "API 地址" description: "REST 的 url,或 gRPC 的包名+服务名,更新时可为原文档链接" - placeholder: "eg: https://api.bilibili.com/2333333" + placeholder: "e.g.: https://api.bilibili.com/x/..." validations: required: false - type: textarea diff --git a/docs/message/msg.md b/docs/message/msg.md index a3c8f96..ac7b47c 100644 --- a/docs/message/msg.md +++ b/docs/message/msg.md @@ -3,6 +3,7 @@ ## 获取未读消息数 > https://api.bilibili.com/x/msgfeed/unread + > https://api.vc.bilibili.com/x/im/web/msgfeed/unread (新接口) *请求方式:GET* diff --git a/docs/user/relation.md b/docs/user/relation.md index 5f4bcdf..d9e5d43 100644 --- a/docs/user/relation.md +++ b/docs/user/relation.md @@ -1348,7 +1348,7 @@ curl 'https://api.bilibili.com/x/relation/modify' \ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ---------- | ---- | ------------------------- | --------------- | ------------------------------------------------- | | access_key | str | APP 登录 Token | APP 方式必要 | | -| fids | nums | 目标用户 mid 列表 | 必要 | 每个之间用`,`间隔 | +| fids | nums | 目标用户 mid 列表 | 必要 | 每个成员之间用 `,` 间隔,最多 50 个成员,不能包含自己的 mid | | act | num | 操作代码 | 必要 | 同上
仅可为 1 或 5,故只能进行批量关注和拉黑 | | re_src | num | 关注来源代码 | 必要 | 同上 | | csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | @@ -1485,13 +1485,15 @@ curl -G 'https://api.bilibili.com/x/relation' \ ### 查询用户与自己关系(互相关系) -> https://api.bilibili.com/x/space/wbi/acc/relation +> 接口1:https://api.bilibili.com/x/space/wbi/acc/relation + +> 接口2:https://api.bilibili.com/x/web-interface/relation *请求方式:GET* 认证方式:Cookie(SESSDATA)或 APP -鉴权方式:[Wbi 签名](../misc/sign/wbi.md) +鉴权方式(仅接口1):[Wbi 签名](../misc/sign/wbi.md) ~~该接口的旧版 API :https://api.bilibili.com/x/space/acc/relation~~(已废弃,不建议使用) @@ -1501,8 +1503,8 @@ curl -G 'https://api.bilibili.com/x/relation' \ | ---------- | ---- | ------------ | ----------- | ------------------------------------ | | access_key | str | APP登录Token | APP方式必要 | | | mid | num | 目标用户mid | 必要 | | -| w_rid | str | Wbi 签名 | 必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | -| wts | num | 当前时间戳 | 必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | +| w_rid | str | Wbi 签名 | 仅接口1必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | +| wts | num | 当前时间戳 | 仅接口1必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | **json回复:** diff --git a/docs/video/info.md b/docs/video/info.md index d264303..4dd6c2d 100644 --- a/docs/video/info.md +++ b/docs/video/info.md @@ -676,7 +676,7 @@ https://i1.hdslb.com/bfs/archive/ea0dd34bf41e23a68175680a00e3358cd249105f.jpg `data`中的`Tags`数组: -基本同「[获取视频TAG信息](tags.md#获取视频TAG信息)」中的data数组 +基本同「[获取视频TAG信息(新)](tags.md#获取视频TAG信息新)」中的data数组 `data`中的`Reply`对象: diff --git a/docs/video/tags.md b/docs/video/tags.md index 451e2f2..2ee6fde 100644 --- a/docs/video/tags.md +++ b/docs/video/tags.md @@ -1,8 +1,132 @@ # 视频TAG -## 获取视频TAG信息 +## 获取视频TAG信息(新) -> https://api.bilibili.com/x/tag/archive/tags +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------------ | -------------------------------- | +| aid | num | 稿件avid | 必要(可选) | avid与bvid任选一个 | +| bvid | str | 稿件bvid | 必要(可选) | avid与bvid任选一个 | +| cid | num | 分P cid | 非必要 | 提供此参数可返回对应分P的BGM信息 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | --------------------------- | +| code | num | 返回值 | 0:成功
-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | array | TAG列表 | 无TAG为空 | + +`data`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | -------------- | ---- | +| 0 | obj | 第1个TAG | | +| n | obj | 第(n+1)个TAG | | +| …… | obj | …… | …… | + +`data`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | ---------- | ------------------------------------------------------------ | +| tag_id | num | tag_id | 当`tag_type`不为`bgm`时有效 | +| tag_name | str | TAG名称 | | +| music_id | str | 背景音乐id | 当`tag_type`为`bgm`时有效,以`MA`开头 | +| tag_type | str | TAG类型 | `old_channel`:普通标签
`topic`:话题
`bgm`:背景音乐 | +| jump_url | str | 跳转url | 当`tag_type`为`topic`或`bgm`时有效 | + +**示例:** + +查询视频`av89772773`/`BV1M741177Kg`的TAG + +avid方式: + +```shell +curl -G 'https://api.bilibili.com/x/web-interface/view/detail/tag' \ +--data-urlencode 'aid=89772773' \ +--data-urlencode 'cid=153322313' \ +-b 'SESSDATA=xxx' +``` + +bvid方式: + +```shell +curl -G 'https://api.bilibili.com/x/web-interface/view/detail/tag' \ +--data-urlencode 'bvid=BV1M741177Kg' \ +--data-urlencode 'cid=153322313' \ +-b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": [ + { + "tag_id": 0, + "tag_name": "发现《Other Side》", + "music_id": "MA456128506519140428", + "tag_type": "bgm", + "jump_url": "https://music.bilibili.com/h5/music-detail?music_id=MA456128506519140428&cid=153322313&aid=89772773&na_close_hide=1" + }, + { + "tag_id": 12620189, + "tag_name": "异度侵入", + "music_id": "", + "tag_type": "old_channel", + "jump_url": "" + }, + { + "tag_id": 707, + "tag_name": "ED", + "music_id": "", + "tag_type": "old_channel", + "jump_url": "" + }, + { + "tag_id": 1394, + "tag_name": "动漫", + "music_id": "", + "tag_type": "old_channel", + "jump_url": "" + }, + { + "tag_id": 13289329, + "tag_name": "异度侵入ed原图", + "music_id": "", + "tag_type": "old_channel", + "jump_url": "" + }, + { + "tag_id": 7520816, + "tag_name": "bilibili新星计划", + "music_id": "", + "tag_type": "old_channel", + "jump_url": "" + } + ] +} +``` + +
+ +## 获取视频TAG信息(旧) + +> *请求方式:GET* @@ -19,12 +143,12 @@ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ------ | -------- | ---------------------------- | -| code | num | 返回值 | 0:成功
-400:请求错误 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | array | TAG列表 | 无TAG为空 | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | --------------------------- | +| code | num | 返回值 | 0:成功
-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | array | TAG列表 | 无TAG为空 | `data`数组: @@ -38,7 +162,7 @@ | 字段 | 类型 | 内容 | 备注 | | ------------- | ---- | -------------- | ------------------------------------------------------------ | -| tag_id | num | tag_id | | +| tag_id | num | tag_id | | | tag_name | str | TAG名称 | | | cover | str | TAG图片url | | | head_cover | str | TAG页面头图url | | @@ -46,7 +170,7 @@ | short_content | str | TAG简介 | | | type | num | ??? | | | state | num | 0 | | -| ctime | num | 创建时间 | 时间戳 | +| ctime | num | 创建时间 | 秒级时间戳 | | count | obj | 状态数 | | | is_atten | num | 是否关注 | 0:未关注
1:已关注
需要登录(Cookie)
未登录为0 | | likes | num | 0 | 作用尚不明确 | @@ -54,7 +178,7 @@ | attribute | num | 0 | 作用尚不明确 | | liked | num | 是否已经点赞 | 0:未点赞
1:已点赞
需要登录(Cookie)
未登录为0 | | hated | num | 是否已经点踩 | 0:未点踩
1:已点踩
需要登录(Cookie)
未登录为0 | -| extra_attr | num | ? ? ? | | +| extra_attr | num | ? ? ? | | `data`数组中的对象中的`count`对象: @@ -89,115 +213,115 @@ curl -G 'https://api.bilibili.com/x/tag/archive/tags' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": [{ - "tag_id": 12620189, - "tag_name": "异度侵入", - "cover": "", - "head_cover": "", - "content": "", - "short_content": "", - "type": 1, - "state": 0, - "ctime": 1576235749, - "count": { - "view": 0, - "use": 6392, - "atten": 8938 - }, - "is_atten": 1, - "likes": 1, - "hates": 0, - "attribute": 0, - "liked": 0, - "hated": 0 - }, { - "tag_id": 7520816, - "tag_name": "bilibili新星计划", - "cover": "", - "head_cover": "", - "content": "", - "short_content": "", - "type": 4, - "state": 0, - "ctime": 1529717850, - "count": { - "view": 0, - "use": 1967314, - "atten": 65082 - }, - "is_atten": 0, - "likes": 0, - "hates": 0, - "attribute": 0, - "liked": 0, - "hated": 0 - }, { - "tag_id": 707, - "tag_name": "ED", - "cover": "", - "head_cover": "", - "content": "", - "short_content": "", - "type": 3, - "state": 0, - "ctime": 1436866637, - "count": { - "view": 0, - "use": 62646, - "atten": 75642 - }, - "is_atten": 1, - "likes": 0, - "hates": 0, - "attribute": 0, - "liked": 0, - "hated": 0 - }, { - "tag_id": 1394, - "tag_name": "动漫", - "cover": "http://i0.hdslb.com/bfs/tag/d08c5fe17ceb793e7ce95d9c67392743b33b46d0.jpg", - "head_cover": "", - "content": " “动漫”是动画和漫画的合称与缩写。在其他语言相当少用。随着现代传媒技术的发展,动画(animation或anime)和漫画(comics,manga;特别是故事性漫画)之间联系日趋紧密,两者常被合而为“动漫”。\n  由于漫画本身的发展形成了现代故事漫画的表现形式,将影视艺术融入漫画之中,使得漫画与动画更容易结合,影视艺术独特的地方在于它能通过镜头的推拉摇移和片段剪辑的蒙太奇技巧来表达想法和感受。漫画正是吸收了影视艺术的这两个特点。当讲述的故事越发复杂、人物越发丰富的时候,传统单线式叙事的方法就越行不通,蒙太奇的介入就成为一种需要了;当漫画家在传统表现手段中无法找到更合适的抒发感情的方法的时候,当读者需要作品有更强的冲击力和表现力的时候,各种镜头的灵活运用就成为一种必需了。一部现代故事漫画往往集远、中、近、特四种镜头于一身,漫画家往往能熟练地运用镜头的移动和各种蒙太奇剪接,对故事特定部分的情绪和氛围进行渲染。这就是现代故事漫画容易和动画结合的一个原因,因为它天生就像动画的分镜头剧本,读者在看漫画时如同在看一部电影。正是有着这样的相似性所以如今将动画和漫画合称为“动漫”。", - "short_content": "", - "type": 3, - "state": 0, - "ctime": 1436866637, - "count": { - "view": 0, - "use": 1134143, - "atten": 113030 - }, - "is_atten": 0, - "likes": 0, - "hates": 0, - "attribute": 0, - "liked": 0, - "hated": 0 - }, { - "tag_id": 13289329, - "tag_name": "异度侵入ed原图", - "cover": "", - "head_cover": "", - "content": "", - "short_content": "", - "type": 1, - "state": 0, - "ctime": 1581948411, - "count": { - "view": 0, - "use": 3, - "atten": 0 - }, - "is_atten": 0, - "likes": 0, - "hates": 0, - "attribute": 0, - "liked": 0, - "hated": 0 - }] + "code": 0, + "message": "0", + "ttl": 1, + "data": [{ + "tag_id": 12620189, + "tag_name": "异度侵入", + "cover": "", + "head_cover": "", + "content": "", + "short_content": "", + "type": 1, + "state": 0, + "ctime": 1576235749, + "count": { + "view": 0, + "use": 6392, + "atten": 8938 + }, + "is_atten": 1, + "likes": 1, + "hates": 0, + "attribute": 0, + "liked": 0, + "hated": 0 + }, { + "tag_id": 7520816, + "tag_name": "bilibili新星计划", + "cover": "", + "head_cover": "", + "content": "", + "short_content": "", + "type": 4, + "state": 0, + "ctime": 1529717850, + "count": { + "view": 0, + "use": 1967314, + "atten": 65082 + }, + "is_atten": 0, + "likes": 0, + "hates": 0, + "attribute": 0, + "liked": 0, + "hated": 0 + }, { + "tag_id": 707, + "tag_name": "ED", + "cover": "", + "head_cover": "", + "content": "", + "short_content": "", + "type": 3, + "state": 0, + "ctime": 1436866637, + "count": { + "view": 0, + "use": 62646, + "atten": 75642 + }, + "is_atten": 1, + "likes": 0, + "hates": 0, + "attribute": 0, + "liked": 0, + "hated": 0 + }, { + "tag_id": 1394, + "tag_name": "动漫", + "cover": "http://i0.hdslb.com/bfs/tag/d08c5fe17ceb793e7ce95d9c67392743b33b46d0.jpg", + "head_cover": "", + "content": " “动漫”是动画和漫画的合称与缩写。在其他语言相当少用。随着现代传媒技术的发展,动画(animation或anime)和漫画(comics,manga;特别是故事性漫画)之间联系日趋紧密,两者常被合而为“动漫”。\n  由于漫画本身的发展形成了现代故事漫画的表现形式,将影视艺术融入漫画之中,使得漫画与动画更容易结合,影视艺术独特的地方在于它能通过镜头的推拉摇移和片段剪辑的蒙太奇技巧来表达想法和感受。漫画正是吸收了影视艺术的这两个特点。当讲述的故事越发复杂、人物越发丰富的时候,传统单线式叙事的方法就越行不通,蒙太奇的介入就成为一种需要了;当漫画家在传统表现手段中无法找到更合适的抒发感情的方法的时候,当读者需要作品有更强的冲击力和表现力的时候,各种镜头的灵活运用就成为一种必需了。一部现代故事漫画往往集远、中、近、特四种镜头于一身,漫画家往往能熟练地运用镜头的移动和各种蒙太奇剪接,对故事特定部分的情绪和氛围进行渲染。这就是现代故事漫画容易和动画结合的一个原因,因为它天生就像动画的分镜头剧本,读者在看漫画时如同在看一部电影。正是有着这样的相似性所以如今将动画和漫画合称为“动漫”。", + "short_content": "", + "type": 3, + "state": 0, + "ctime": 1436866637, + "count": { + "view": 0, + "use": 1134143, + "atten": 113030 + }, + "is_atten": 0, + "likes": 0, + "hates": 0, + "attribute": 0, + "liked": 0, + "hated": 0 + }, { + "tag_id": 13289329, + "tag_name": "异度侵入ed原图", + "cover": "", + "head_cover": "", + "content": "", + "short_content": "", + "type": 1, + "state": 0, + "ctime": 1581948411, + "count": { + "view": 0, + "use": 3, + "atten": 0 + }, + "is_atten": 0, + "likes": 0, + "hates": 0, + "attribute": 0, + "liked": 0, + "hated": 0 + }] } ``` @@ -205,7 +329,7 @@ curl -G 'https://api.bilibili.com/x/tag/archive/tags' \ ## 点赞&取消点赞视频TAG -> https://api.bilibili.com/x/tag/archive/like2 +> *请求方式:POST* @@ -218,7 +342,7 @@ curl -G 'https://api.bilibili.com/x/tag/archive/tags' \ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | ------------------------ | ------ | ---- | | aid | num | 稿件avid | 必要 | | -| tag_id | num | tag_id | 必要 | | +| tag_id | num | tag_id | 必要 | | | csrf | str | CSRF Token(位于cookie) | 必要 | | **json回复:** @@ -258,20 +382,20 @@ curl 'https://api.bilibili.com/x/tag/archive/like2' \ ## 点踩&取消点踩视频TAG -> https://api.bilibili.com/x/tag/archive/hate2 +> *请求方式:POST* 认证方式:Cookie(SESSDATA) -重复访问为取消 +重复请求为取消 **正文参数( application/x-www-form-urlencoded ):** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | ------------------------ | ------ | ---- | | aid | num | 稿件avid | 必要 | | -| tag_id | num | tag_id | 必要 | | +| tag_id | num | tag_id | 必要 | | | csrf | str | CSRF Token(位于cookie) | 必要 | | **json回复:** From a2161708ce5126ccece299ef88c02ef59ad371e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Fri, 2 May 2025 09:35:55 +0800 Subject: [PATCH 05/38] feat(login_notice.md): improve docs --- docs/login/login_notice.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/login/login_notice.md b/docs/login/login_notice.md index 73f6b5f..17a0761 100644 --- a/docs/login/login_notice.md +++ b/docs/login/login_notice.md @@ -12,7 +12,7 @@ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | ---------- | ------ | ------------------------------------------------------------ | -| mid | num | 用户mid | 必要 | | +| mid | num | 用户mid | 必要 | 必须为自己的mid | | buvid | str | 设备虚拟id | 非必要 | web端为操作登录接口时Cookie中的`buvid3`
若登录设备无`buvid`则留空 | **json回复:** @@ -21,7 +21,7 @@ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | --------------------------- | -| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
-403:访问权限不足 | | message | str | 错误信息 | 默认为0 | | ttl | num | 1 | | | data | obj | 信息本体 | | @@ -114,7 +114,7 @@ curl -G 'https://api.bilibili.com/x/safecenter/login_notice' \ | 字段 | 类型 | 内容 | 备注 | | -------- | ---- | -------------- | ---- | -| ip | str | 登录 IP | 末两位以 `*` 打码 | +| ip | str | 登录 IP | IPv4:末 2 位以 `*` 打码
IPv6:末 5 位以 `*` 打码 | | time | num | 登录时间 | UNIX 秒级时间戳 | | time_at | str | 登录时间 | 格式为 `yyyy-MM-dd HH:mm:ss` | | status | bool | 是否登录成功? | | @@ -139,8 +139,16 @@ curl -G "https://api.bilibili.com/x/member/web/login/log" \ "message": "0", "ttl": 1, "data": { - "count": 14, + "count": 15, "list": [ + { + "ip": "240e:*:*:*:*:*:*:*", + "time": 1746038055, + "time_at": "2025-05-01 02:34:15", + "status": true, + "type": 0, + "geo": "中国广西梧州电信" + }, { "ip": "108.181.*.*", "time": 1722036741, From 35510b7a088cadead2a2e6455de262e6c4c9e657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Sat, 3 May 2025 01:39:08 +0800 Subject: [PATCH 06/38] feat: add details & replace spaces --- docs/electric/charge_list.md | 185 +++--- docs/electric/monthly.md | 620 +++++++++++-------- docs/message/private_msg.md | 910 ++++++++++++++-------------- docs/message/private_msg_content.md | 288 ++++----- docs/user/info.md | 2 +- 5 files changed, 1072 insertions(+), 933 deletions(-) diff --git a/docs/electric/charge_list.md b/docs/electric/charge_list.md index 4770ba3..cb68162 100644 --- a/docs/electric/charge_list.md +++ b/docs/electric/charge_list.md @@ -20,7 +20,7 @@ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ---------------------------- | -| code | num | 返回值 | 0:成功
-400:请求错误
88214:up主未开通充电 | +| code | num | 返回值 | 0:成功
-400:请求错误
88214:up主未开通充电 | | message | str | 错误信息 | | | ttl | num | 0 | | | data | obj | 数据本体 | | @@ -71,8 +71,8 @@ ```shell curl -G 'https://api.bilibili.com/x/ugcpay-rank/elec/month/up' \ --A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36' \ ---data-urlencode 'up_mid=53456' + -A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36' \ + --data-urlencode 'up_mid=53456' ```
@@ -80,39 +80,39 @@ curl -G 'https://api.bilibili.com/x/ugcpay-rank/elec/month/up' \ ```json { - "code": 0, - "message": "", - "ttl": 0, - "data": { - "count": 8521, - "list": [ - { - "uname": "云梦澡堂", - "avatar": "https://i1.hdslb.com/bfs/face/6589df5fdac0f80593f6a86e4d88dc08e25df3d2.jpg", - "mid": 53456, - "pay_mid": 1555775947, - "rank": 1, - "trend_type": 0, - "vip_info": { "vipDueMsec": 0, "vipStatus": 0, "vipType": 0 }, - "message": "", - "message_hidden": 0 - }, - { - "uname": "在下小天子", - "avatar": "https://i1.hdslb.com/bfs/face/a3bfbe6186889bb50dcd87c1156d07a70227a25b.jpg", - "mid": 53456, - "pay_mid": 508630801, - "rank": 2, - "trend_type": 0, - "vip_info": { "vipDueMsec": 0, "vipStatus": 0, "vipType": 0 }, - "message": "", - "message_hidden": 0 - } - ], - "total_count": 41919, - "total": 41919, - "special_day": 0 - } + "code": 0, + "message": "", + "ttl": 0, + "data": { + "count": 8521, + "list": [ + { + "uname": "云梦澡堂", + "avatar": "https://i1.hdslb.com/bfs/face/6589df5fdac0f80593f6a86e4d88dc08e25df3d2.jpg", + "mid": 53456, + "pay_mid": 1555775947, + "rank": 1, + "trend_type": 0, + "vip_info": { "vipDueMsec": 0, "vipStatus": 0, "vipType": 0 }, + "message": "", + "message_hidden": 0 + }, + { + "uname": "在下小天子", + "avatar": "https://i1.hdslb.com/bfs/face/a3bfbe6186889bb50dcd87c1156d07a70227a25b.jpg", + "mid": 53456, + "pay_mid": 508630801, + "rank": 2, + "trend_type": 0, + "vip_info": { "vipDueMsec": 0, "vipStatus": 0, "vipType": 0 }, + "message": "", + "message_hidden": 0 + } + ], + "total_count": 41919, + "total": 41919, + "special_day": 0 + } } ``` @@ -161,25 +161,36 @@ curl -G 'https://api.bilibili.com/x/ugcpay-rank/elec/month/up' \ | 字段 | 类型 | 内容 | 备注 | | ---------- | ---- | ------------------------ | ---------------- | | show | bool | 是否展示视频充电鸣谢名单 | | -| state | num | 充电功能开启状态 | -1:未开通充电功能
1:已开通自定义充电
2:已开通包月、自定义充电
3:已开通高档、自定义充电 | +| state | num | 充电功能开启状态 | -1:未开通充电功能
1:已开通自定义充电
2:已开通包月、自定义充电
3:已开通包月高档、自定义充电 | | title | str | 充电按钮显示文字 | 空字符串或 `充电` 或 `充电中` | | jump_url | str | 跳转url | | | icon | str | 充电图标 | | -| high_level | obj | 高档充电信息 | | +| high_level | obj | 充电专属视频信息 | | +| with_qa_id | num | 充电问答id | | `show_info`中的`high_level`对象: -| 字段 | 类型 | 内容 | 备注 | -| -------------- | ---- | ------------------------ | ---------------- | -| privilege_type | num | | | -| title | str | | | -| sub_title | str | | | -| show_button | bool | | | -| button_text | str | | | -| jump_url | obj | | | -| intro | str | | | -| open | bool | | | -| new | bool | | | +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ---- | ------------------------------ | ---------------- | +| privilege_type | num | 解锁视频所需最低定价档位的代码 | 见[充电档位代码与定价](../electric/monthly.md#充电档位代码privilege_type与定价) | +| title | str | 提示标题 | `该视频为「{充电档位名称}」专属视频` | +| sub_title | str | 提示子标题 | `开通「{充电档位定价}元档包月充电」即可观看` | +| show_button | bool | 是否显示按钮 | | +| button_text | str | 按钮文本 | `去开通` | +| jump_url | obj | 跳转url信息 | 详细信息有待补充 | +| intro | str | 充电介绍语 | | +| open | bool | (?) | | +| new | bool | (?) | | +| question_text | str | (?) | | +| qa_detail_link | str | (?) | | + +`high_level`中的`jump_url`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | ----------------------- | ---- | +| up_link | str | UP主包月充电购买页面url | | +| paywall_link | str | 视频试看后的提示页面url | | +| previewbar_link | str | 视频预览页面url | | `data`中的`list`数组: @@ -219,16 +230,16 @@ avid方式: ```shell curl -G 'https://api.bilibili.com/x/web-interface/elec/show' \ ---data-urlencode 'mid=53456' \ ---data-urlencode 'aid=967773538' + --data-urlencode 'mid=53456' \ + --data-urlencode 'aid=967773538' ``` bvid方式: ```shell curl -G 'https://api.bilibili.com/x/web-interface/elec/show' \ ---data-urlencode 'mid=53456' \ ---data-urlencode 'bvid=BV1up4y1y77i' + --data-urlencode 'mid=53456' \ + --data-urlencode 'bvid=BV1up4y1y77i' ```
@@ -370,10 +381,10 @@ curl -G 'https://api.bilibili.com/x/web-interface/elec/show' \ ```shell curl -G 'https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord' \ ---data-urlencode 'currentPage=1' \ ---data-urlencode 'pageSize=2' \ ---data-urlencode 'customerId=10026' \ --b 'SESSDATA=xxx' + --data-urlencode 'currentPage=1' \ + --data-urlencode 'pageSize=2' \ + --data-urlencode 'customerId=10026' \ + -b 'SESSDATA=xxx' ```
@@ -487,7 +498,7 @@ curl -G 'https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord' \ ```shell curl -G 'https://member.bilibili.com/x/h5/elec/rank/recent' \ --b 'SESSDATA=xxx' + -b 'SESSDATA=xxx' ```
@@ -495,36 +506,36 @@ curl -G 'https://member.bilibili.com/x/h5/elec/rank/recent' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [ - { - "aid": 0, - "bvid": "", - "elec_num": 50, - "title": "", - "uname": "", - "avatar": "", - "ctime": "2020-04-02 03:12:22" - }, - { - "aid": 0, - "bvid": "", - "elec_num": 20, - "title": "", - "uname": "", - "avatar": "", - "ctime": "2020-04-02 03:12:00" - } - ], - "pager": { - "current": 1, - "size": 20, - "total": 38 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "aid": 0, + "bvid": "", + "elec_num": 50, + "title": "", + "uname": "", + "avatar": "", + "ctime": "2020-04-02 03:12:22" + }, + { + "aid": 0, + "bvid": "", + "elec_num": 20, + "title": "", + "uname": "", + "avatar": "", + "ctime": "2020-04-02 03:12:00" + } + ], + "pager": { + "current": 1, + "size": 20, + "total": 38 } + } } ``` diff --git a/docs/electric/monthly.md b/docs/electric/monthly.md index 24dcdcc..9bed7cc 100644 --- a/docs/electric/monthly.md +++ b/docs/electric/monthly.md @@ -75,7 +75,7 @@ | item | array | 充电详情 | | | start | num | 开始充电时间 | 秒级时间戳 | | high_level_state | num | 是否可对UP主进行高档充电 | | -| elec_reply_state | num | 是否可对UP主进行专属问答 | 0:否
1:是
2:(?) | +| elec_reply_state | num | 是否可对UP主进行专属问答 | 0:否
1:是
2:状态未知 | 数组`list`中的对象中的`item`数组: @@ -85,7 +85,6 @@ | n | obj | 充电档位(n+1) | | | …… | obj | …… | …… | - 数组`item`中的对象: | 字段 | 类型 | 内容 | 备注 | @@ -111,18 +110,17 @@ | signed_price | num | 下次续费金额 | 单位为千分之一元人民币 | | pay_channel | num | 签约平台 | 2:微信支付
4:支付宝 | | period | num | 下次充电天数 | | -| mobile_app | num | 充电渠道 | 可为`android`等 | +| mobile_app | str | 充电渠道 | 可为`android`等 | **示例:** 获取自己正在使用的包月充电的列表 - ```shell curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \ ---data-urlencode 'page=1' \ ---data-urlencode 'type=1' \ --b 'SESSDATA=xxx' + --data-urlencode 'page=1' \ + --data-urlencode 'type=1' \ + -b 'SESSDATA=xxx' ```
@@ -130,108 +128,107 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [ - { - "up_uid": 2233, - "user_name": "2233", - "user_face": "https://i0.hdslb.com/bfs/face/noface.jpg", - "item": [ - { - "privilege_type": 10, - "icon": "https://s1.hdslb.com/bfs/templar/york-static/lightning_icon@2x.png", - "name": "为TA充电", - "expire_time": 1703519999, - "renew": { - "uid": 425503913, - "ruid": 2233, - "goods_id": 174, - "status": 1, - "next_execute_time": 1703174400, - "signed_time": 1671618921, - "signed_price": 36000, - "pay_channel": 2, - "period": 366, - "mobile_app": "android" - }, - "start_time": 1671618921, - "renew_list": [ - { - "uid": 425503913, - "ruid": 2233, - "goods_id": 174, - "status": 1, - "next_execute_time": 1703174400, - "signed_time": 1671618921, - "signed_price": 36000, - "pay_channel": 2, - "period": 366, - "mobile_app": "android" - } - ] - } - ], - "start": 1669183804, - "high_level_state": 1, - "elec_reply_state": 1 + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "up_uid": 2233, + "user_name": "2233", + "user_face": "https://i0.hdslb.com/bfs/face/noface.jpg", + "item": [ + { + "privilege_type": 10, + "icon": "https://s1.hdslb.com/bfs/templar/york-static/lightning_icon@2x.png", + "name": "为TA充电", + "expire_time": 1703519999, + "renew": { + "uid": 425503913, + "ruid": 2233, + "goods_id": 174, + "status": 1, + "next_execute_time": 1703174400, + "signed_time": 1671618921, + "signed_price": 36000, + "pay_channel": 2, + "period": 366, + "mobile_app": "android" }, - { - "up_uid": 293793435, - "user_name": "社会易姐QwQ", - "user_face": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", - "item": [ - { - "privilege_type": 10, - "icon": "https://s1.hdslb.com/bfs/templar/york-static/lightning_icon@2x.png", - "name": "为TA充电", - "expire_time": 1681401599, - "renew": { - "uid": 425503913, - "ruid": 293793435, - "goods_id": 173, - "status": 1, - "next_execute_time": 1680364800, - "signed_time": 1677760921, - "signed_price": 5000, - "pay_channel": 4, - "period": 31, - "mobile_app": "android" - }, - "start_time": 1677760921, - "renew_list": [ - { - "uid": 425503913, - "ruid": 293793435, - "goods_id": 173, - "status": 1, - "next_execute_time": 1680364800, - "signed_time": 1677760921, - "signed_price": 5000, - "pay_channel": 4, - "period": 31, - "mobile_app": "android" - } - ] - } - ], - "start": 1676033795, - "high_level_state": 1, - "elec_reply_state": 1 - } + "start_time": 1671618921, + "renew_list": [ + { + "uid": 425503913, + "ruid": 2233, + "goods_id": 174, + "status": 1, + "next_execute_time": 1703174400, + "signed_time": 1671618921, + "signed_price": 36000, + "pay_channel": 2, + "period": 366, + "mobile_app": "android" + } + ] + } ], - "page": 1, - "page_size": 10, - "total_page": 3, - "total_num": 22, - "is_more": 1 - } + "start": 1669183804, + "high_level_state": 1, + "elec_reply_state": 1 + }, + { + "up_uid": 293793435, + "user_name": "社会易姐QwQ", + "user_face": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", + "item": [ + { + "privilege_type": 10, + "icon": "https://s1.hdslb.com/bfs/templar/york-static/lightning_icon@2x.png", + "name": "为TA充电", + "expire_time": 1681401599, + "renew": { + "uid": 425503913, + "ruid": 293793435, + "goods_id": 173, + "status": 1, + "next_execute_time": 1680364800, + "signed_time": 1677760921, + "signed_price": 5000, + "pay_channel": 4, + "period": 31, + "mobile_app": "android" + }, + "start_time": 1677760921, + "renew_list": [ + { + "uid": 425503913, + "ruid": 293793435, + "goods_id": 173, + "status": 1, + "next_execute_time": 1680364800, + "signed_time": 1677760921, + "signed_price": 5000, + "pay_channel": 4, + "period": 31, + "mobile_app": "android" + } + ] + } + ], + "start": 1676033795, + "high_level_state": 1, + "elec_reply_state": 1 + } + ], + "page": 1, + "page_size": 10, + "total_page": 3, + "total_num": 22, + "is_more": 1 + } } ``` -
表示自己从2022-11-23 14:10:04开始给“2233”包月充电,并且在2022-12-21 18:35:21在微信开通了连续包年充电,在2023-12-22 00:00:00的时候会自动续费36元,并继续充电366天; @@ -254,20 +251,26 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | --------------------------------------------------------------- | -| code | num | 返回值 | 0:成功
-400:请求错误
203101:UP主未开通包月充电功能 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | --------------------------- | +| code | num | 返回值 | 0:成功
-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | ---------- | ---- | -| upower_rank | obj | 充电详情 | | -| item | obj | 充电欢迎语 | | -| user_card | obj | UP主信息 | | +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | -------------------------- | ------------------------------ | +| upower_rank | obj | 充电详情 | | +| item | obj | 充电欢迎语信息 | | +| user_card | obj | UP主信息 | | +| upower_level | num | UP主开通的充电等级 | 1:非高档充电
2:高档充电 | +| elec_reply_state | num | 是否可对UP主进行专属问答 | | +| voucher_state | obj | 包月充电券信息 | **详细信息有待补充** | +| upower_right_count | obj | 不同充电档位下的充电权益数 | | +| only_contain_medal | bool | 享有的权益仅为粉丝勋章 | | +| privilege_type | num | 当前给该UP主包月充电的档位 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价),若从未给该UP主包月充电过则为0 | `data`中的`upower_rank`对象: @@ -279,13 +282,13 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \ `upower_rank`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------- | ---------------- | -| 0 | obj | 用户1 | | -| n | obj | 用户(n+1) | 按照充电时间排序 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | --------- | -------------------------- | +| 0 | obj | 用户1 | | +| n | obj | 用户(n+1) | 按照最初充电时间排序(?) | +| …… | obj | …… | …… | -数组`list`中的对象: +`list`数组中的对象: | 字段 | 类型 | 内容 | 备注 | | -------- | ---- | --------------- | ---- | @@ -308,15 +311,20 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \ | avatar | str | UP主头像url | | | nickname | str | UP主昵称 | | +`data`中的`upower_right_count`对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ---- | -------------------- | ---- | +| {充电档位代码} | num | 该档位下的充电权益数 | | + **示例:** -获取`mid=293793435`的包月充电详情 - +获取`mid=1265680561`的包月充电详情 ```shell curl 'https://api.bilibili.com/x/upower/item/detail' \ ---data-urlencode 'up_mid=293793435' \ --b 'SESSDATA=xxx' + --data-urlencode 'up_mid=1265680561' \ + -b 'SESSDATA=xxx' ```
@@ -324,31 +332,63 @@ curl 'https://api.bilibili.com/x/upower/item/detail' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "upower_rank": { - "total": 1, - "total_desc": "1+", - "list": [ - { - "rank": 1, - "mid": 425503913, - "nickname": "晨叶梦春", - "avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg" - } - ] + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "upower_rank": { + "total": 5082, + "total_desc": "5000+", + "list": [ + { + "rank": 1, + "mid": 1476475459, + "nickname": "一只屑椒", + "avatar": "https://i1.hdslb.com/bfs/face/dc721da215f4651e0472d566b146ee8fdf198dbe.jpg" }, - "item": { - "intro_video_aid": "", - "welcomes": "哈喽b站的小伙伴们,我的充电计划升级啦! 感兴趣就多多支持我吧~(゜-゜)つロ" + { + "rank": 2, + "mid": 275365317, + "nickname": "-陪我去看海吧i", + "avatar": "https://i0.hdslb.com/bfs/face/dd7547b13020e7f47549ad7908fd3fc58efadefc.jpg" }, - "user_card": { - "avatar": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", - "nickname": "社会易姐QwQ" + { + "rank": 3, + "mid": 401909111, + "nickname": "Vege5able", + "avatar": "https://i2.hdslb.com/bfs/face/46b1fdc94c7851ec0c47817adeec13e3225da559.jpg" } - } + ] + }, + "item": { + "intro_video_aid": "", + "welcomes": "哈喽b站的小伙伴们,我的充电计划升级啦! 感兴趣就多多支持我吧~(゜-゜)つロ" + }, + "user_card": { + "avatar": "https://i1.hdslb.com/bfs/face/5ddddba98f0265265662a8f7d5383e528a98412b.jpg", + "nickname": "永雏塔菲" + }, + "upower_level": 1, + "elec_reply_state": 1, + "voucher_state": { + "voucher_order_id": "95843e812210c455d1ea6e4714bf105a00", + "user_voucher_state": 2, + "vip_action": 0, + "voucher_name": "包月充电券(6元档)", + "validate_price": 0, + "validate_level": 0, + "activity": "", + "common_time": 0, + "high_level_time": 0, + "specify_up": 0, + "specify_level": 0 + }, + "upower_right_count": { + "10": 3 + }, + "only_contain_medal": false, + "privilege_type": 0 + } } ``` @@ -381,15 +421,19 @@ curl 'https://api.bilibili.com/x/upower/item/detail' \ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------------- | ---- | ------------------------ | ------------------------------------------- | -| days | num | 已保持多少天包月充电状态 | | -| up_card | obj | UP主信息 | | -| user_card | obj | 自己的信息 | | -| remain_days | num | 剩余天数 | 未处于包月充电状态为-1 | -| remain_less_1day | num | 剩余的天数小于1天 | 0:否
1:是
未处于包月充电状态为0 | -| upower_rank | obj | 充电详情 | | -| upower_icon | str | 充电图标url | 仅在处于包月充电状态时有内容 | +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | ------------------------------ | ------------------------------------------- | +| days | num | 已保持多少天包月充电状态 | | +| up_card | obj | UP主信息 | | +| user_card | obj | 自己的信息 | | +| remain_days | num | 剩余天数 | 未处于包月充电状态为-1 | +| remain_less_1day | num | 剩余的天数是否小于1天 | 0:否
1:是
未处于包月充电状态为0 | +| upower_rank | obj | 充电详情 | | +| upower_icon | str | 充电图标url | 仅在处于包月充电状态时有内容 | +| upower_right_count | obj | 当前自己享有该UP主的充电权益数 | | +| only_contain_medal | bool | 享有的权益仅为粉丝勋章 | | +| privilege_type | num | 当前给该UP主包月充电的档位代码 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价),若未处于包月充电状态为0 | +| challenge_info | obj | 充电挑战信息 | **详细信息有待补充** | `data`中的`up_card`对象: @@ -436,11 +480,10 @@ curl 'https://api.bilibili.com/x/upower/item/detail' \ 获取与`mid=293793435`的包月充电关系 - ```shell curl 'https://api.bilibili.com/x/upower/charge/follow/info' \ ---data-urlencode 'up_mid=293793435' \ --b 'SESSDATA=xxx' + --data-urlencode 'up_mid=293793435' \ + -b 'SESSDATA=xxx' ```
@@ -448,37 +491,53 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "days": 17, - "up_card": { - "mid": 293793435, - "nickname": "社会易姐QwQ", - "official_title": "", - "avatar": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg" - }, - "user_card": { - "avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg", - "nickname": "晨叶梦春" - }, - "remain_days": 15, - "remain_less_1day": 0, - "upower_rank": { - "total": 1, - "total_desc": "1+", - "list": [ - { - "rank": 1, - "mid": 425503913, - "nickname": "晨叶梦春", - "avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg" - } - ] - }, - "upower_icon": "https://i0.hdslb.com/bfs/garb/item/33e2e72d9a0c855f036b4cb55448f44af67a0635.png" + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "days": 17, + "up_card": { + "mid": 293793435, + "nickname": "社会易姐QwQ", + "official_title": "", + "avatar": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg" + }, + "user_card": { + "avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg", + "nickname": "晨叶梦春" + }, + "remain_days": 15, + "remain_less_1day": 0, + "upower_rank": { + "total": 1, + "total_desc": "1+", + "list": [ + { + "rank": 1, + "mid": 425503913, + "nickname": "晨叶梦春", + "avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg" + } + ] + }, + "upower_icon": "https://i0.hdslb.com/bfs/garb/item/33e2e72d9a0c855f036b4cb55448f44af67a0635.png", + "upower_right_count": 2, + "only_contain_medal": false, + "privilege_type": 10, + "challenge_info": { + "challenge_id": "", + "description": "", + "challenge_type": 0, + "remaining_days": 0, + "end_time": "", + "progress": 0, + "targets": [], + "state": 0, + "end_time_unix": 0, + "pub_dyn": 0, + "dyn_content": "" } + } } ``` @@ -496,11 +555,12 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ----------- | ------ | -------- | -| up_mid | num | 目标用户mid | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为20 | -| pn | num | 页码 | 非必要 | 默认为1 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------------- | ---- | ------------ | ------ | --------- | +| up_mid | num | 目标用户mid | 必要 | | +| ps | num | 每页项数 | 必要 | 最大为101 | +| pn | num | 页码 | 必要 | | +| privilege_type | num | 充电档位代码 | 非必要 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价),默认为可以显示排名的档位中**最高定价**的档位 | **json回复:** @@ -515,22 +575,27 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------ | ----- | ------------ | ---- | -| up_info | obj | UP主信息 | | -| rank_info | array | 充电用户排名 | | -| user_info | obj | 自己的信息 | | -| member_total | num | 充电用户总数 | | +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ----- | ------------------------------ | -------- | +| up_info | obj | UP主信息 | | +| rank_info | array | 当前档位的充电用户排名 | | +| user_info | obj | 自己在该档位下与UP主的充电关系 | | +| member_total | num | 当前档位的充电用户总数 | | +| privilege_type | num | 当前充电档位代码 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价) | +| is_charge | bool | 自己是否给该UP主包月充电过 | 无论档位 | +| tabs | array | 可显示排名的充电档位代码列表 | | +| level_info | array | 可显示排名的充电档位信息 | | `data`中的`up_info`对象: -| 字段 | 类型 | 内容 | 备注 | -| -------- | ---- | ------------ | ---------------------------------------- | -| mid | num | UP主mid | | -| nickname | str | UP主昵称 | | -| avatar | str | UP主头像url | | -| type | num | UP主认证类型 | -1:无
0:UP主认证
1:机构认证 | -| title | str | UP主认证文字 | | +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ---- | -------------------- | ---------------------------------------- | +| mid | num | UP主mid | | +| nickname | str | UP主昵称 | | +| avatar | str | UP主头像url | | +| type | num | UP主认证类型 | -1:无
0:UP主认证
1:机构认证 | +| title | str | UP主认证文字 | | +| upower_state | num | UP主充电功能开启状态 | 0:未开通充电功能
1:已开通自定义充电
2:已开通包月、自定义充电
3:已开通包月高档、自定义充电 | `data`中的`rank_info`数组: @@ -559,19 +624,46 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \ | mid | num | 用户mid | | | nickname | str | 用户昵称 | | | avatar | str | 用户头像url | | -| rank | num | 包月充电排名 | 不在包月充电用户列表里为-1 | +| rank | num | 包月充电排名 | 不在该充电档位用户列表里为-1 | | day | num | 包月充电天数 | | -| expire_at | num | 包月充电过期时间 | 秒级时间戳,若从未给UP主包月充电为0 | -| remain_days | num | 未过期时:剩余天数
已过期且之前给UP主包月充电过:自过期以来的天数 | | +| expire_at | num | 包月充电过期时间 | 秒级时间戳,若从未给UP主在该档位下包月充电过为0 | +| remain_days | num | 剩余天数 | 若该档位充电状态已失效为0 | + +`data`中的`tabs`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------- | ---------------- | +| 0 | num | 档位代码1 | | +| n | num | 档位代码(n+1) | | +| …… | num | …… | …… | + +`data`中的`level_info`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | --------- | ---------------- | +| 0 | obj | 档位1 | | +| n | obj | 档位(n+1) | | +| …… | obj | …… | …… | + +`level_info`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ---- | -------------------- | ---------------------- | +| privilege_type | num | 当前充电档位代码 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价) | +| name | str | 档位名称 | | +| price | num | 档位价格 | 单位为百分之一元人民币 | +| member_total | num | 当前档位的用户总数 | | **示例:** -获取给`mid=293793435`包月充电的用户排名 +获取给`mid=686127`包月充电的用户排名 ```shell curl 'https://api.bilibili.com/x/upower/up/member/rank/v2' \ ---data-urlencode 'up_mid=293793435' \ --b 'SESSDATA=xxx' + --data-urlencode 'up_mid=686127' \ + --data-urlencode 'ps=3' \ + --data-urlencode 'pn=1' \ + -b 'SESSDATA=xxx' ```
@@ -579,39 +671,75 @@ curl 'https://api.bilibili.com/x/upower/up/member/rank/v2' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "up_info": { - "mid": 293793435, - "nickname": "社会易姐QwQ", - "avatar": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", - "type": -1, - "title": "" - }, - "rank_info": [ - { - "mid": 425503913, - "nickname": "晨叶梦春", - "avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg", - "rank": 1, - "day": 31, - "expire_at": 0, - "remain_days": 0 - } - ], - "user_info": { - "mid": 425503913, - "nickname": "晨叶梦春", - "avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg", - "rank": 1, - "day": 31, - "expire_at": 1678723199, - "remain_days": 15 - }, - "member_total": 1 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "up_info": { + "mid": 686127, + "nickname": "籽岷", + "avatar": "https://i0.hdslb.com/bfs/face/7efb679569b2faeff38fa08f6f992fa1ada5e948.webp", + "type": 0, + "title": "2024百大UP主、知名游戏UP主", + "upower_state": 3 + }, + "rank_info": [ + { + "mid": 187012867, + "nickname": "是我灬不配", + "avatar": "https://i1.hdslb.com/bfs/face/ad4d2ce0705fd766a0ade315f5a6a5984ce479f4.jpg", + "rank": 1, + "day": 682, + "expire_at": 0, + "remain_days": 0 + }, + { + "mid": 20135495, + "nickname": "和平时一样鸽", + "avatar": "https://i2.hdslb.com/bfs/face/0eef725964105f39b1f000a59f232d9094017544.jpg", + "rank": 2, + "day": 620, + "expire_at": 0, + "remain_days": 0 + }, + { + "mid": 490065730, + "nickname": "乔治Y-GYhaha", + "avatar": "https://i1.hdslb.com/bfs/face/e1753e1e43d7a7df5333c5a2f4d3ec1d0334ebe6.jpg", + "rank": 3, + "day": 527, + "expire_at": 0, + "remain_days": 0 + } + ], + "user_info": { + "mid": 425503913, + "nickname": "晨叶梦春", + "avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg", + "rank": -1, + "day": 0, + "expire_at": 0, + "remain_days": 0 + }, + "member_total": 46881, + "privilege_type": 50, + "is_charge": false, + "tabs": [50, 10], + "level_info": [ + { + "privilege_type": 50, + "name": "审稿", + "price": 12800, + "member_total": 1082 + }, + { + "privilege_type": 10, + "name": "石粒", + "price": 600, + "member_total": 46158 + } + ] + } } ``` diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index edc113f..a75b1fa 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -144,12 +144,12 @@ ```shell curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \ - --data-urlencode 'unread_type=0' \ - --data-urlencode 'show_unfollow_list=1' \ - --data-urlencode 'show_dustbin=1' \ - --data-urlencode 'build=0' \ - --data-urlencode 'mobi_app=web' \ - -b 'SESSDATA=xxx' + --data-urlencode 'unread_type=0' \ + --data-urlencode 'show_unfollow_list=1' \ + --data-urlencode 'show_dustbin=1' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' ```
@@ -157,20 +157,20 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \ ```json { - "code": 0, - "msg": "0", - "message": "0", - "ttl": 1, - "data": { - "unfollow_unread": 1, - "follow_unread": 6, - "unfollow_push_msg": 0, - "dustbin_push_msg": 0, - "dustbin_unread": 0, - "biz_msg_unfollow_unread": 0, - "biz_msg_follow_unread": 0, - "custom_unread": 0 - } + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "unfollow_unread": 1, + "follow_unread": 6, + "unfollow_push_msg": 0, + "dustbin_push_msg": 0, + "dustbin_unread": 0, + "biz_msg_unfollow_unread": 0, + "biz_msg_follow_unread": 0, + "custom_unread": 0 + } } ``` @@ -241,14 +241,14 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \ ```shell curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/get_sessions' \ - --data-urlencode 'session_type=1' \ - --data-urlencode 'group_fold=0' \ - --data-urlencode 'unfollow_fold=0' \ - --data-urlencode 'sort_rule=2' \ - --data-urlencode 'size=3' \ - --data-urlencode 'build=0' \ - --data-urlencode 'mobi_app=web' \ - -b 'SESSDATA=xxx' + --data-urlencode 'session_type=1' \ + --data-urlencode 'group_fold=0' \ + --data-urlencode 'unfollow_fold=0' \ + --data-urlencode 'sort_rule=2' \ + --data-urlencode 'size=3' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' ```
@@ -256,152 +256,152 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/get_sessions' \ ```json { - "code": 0, - "msg": "0", - "message": "0", - "ttl": 1, - "data": { - "session_list": [ - { - "talker_id": 844424930131966, - "session_type": 1, - "at_seqno": 0, - "top_ts": 0, - "group_name": "", - "group_cover": "", - "is_follow": 1, - "is_dnd": 0, - "ack_seqno": 1238729956474887, - "ack_ts": 1709536924979884, - "session_ts": 1712305278098351, - "unread_count": 4, - "last_msg": { - "sender_uid": 844424930131966, - "receiver_type": 1, - "receiver_id": 425503913, - "msg_type": 10, - "content": "{\"title\":\"流量奖励到账通知\",\"text\":\"恭喜您已获得2000流量曝光奖励,快来投稿使用吧。\",\"jump_text\":\"\",\"jump_uri\":\"\",\"modules\":null,\"jump_text_2\":\"\",\"jump_uri_2\":\"\",\"jump_text_3\":\"\",\"jump_uri_3\":\"\",\"notifier\":null,\"jump_uri_config\":{\"all_uri\":\"https://member.bilibili.com/york/flow-reward?navhide=1\\u0026from=msgrecall\",\"text\":\"\"},\"jump_uri_2_config\":{\"text\":\"\"},\"jump_uri_3_config\":{\"text\":\"\"},\"biz_content\":null}", - "msg_seqno": 1285290404823041, - "timestamp": 1712305278, - "at_uids": null, - "msg_key": 7354295169819585966, - "msg_status": 0, - "notify_code": "2091_253", - "new_face_version": 1, - "msg_source": 6 - }, - "group_type": 0, - "can_fold": 0, - "status": 0, - "max_seqno": 1285290404823041, - "new_push_msg": 1, - "setting": 0, - "is_guardian": 0, - "is_intercept": 0, - "is_trust": 0, - "system_msg_type": 7, - "account_info": { - "name": "UP主小助手", - "pic_url": "https://message.biliimg.com/bfs/im/489a63efadfb202366c2f88853d2217b5ddc7a13.png" - }, - "live_status": 0, - "biz_msg_unread_count": 0, - "user_label": null - }, - { - "talker_id": 293793435, - "session_type": 1, - "at_seqno": 0, - "top_ts": 0, - "group_name": "", - "group_cover": "", - "is_follow": 1, - "is_dnd": 0, - "ack_seqno": 1236306587877408, - "ack_ts": 1709536984481314, - "session_ts": 1709385615744065, - "unread_count": 0, - "last_msg": { - "sender_uid": 293793435, - "receiver_type": 1, - "receiver_id": 425503913, - "msg_type": 11, - "content": "{\"title\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"times\":14,\"cover\":\"http://i0.hdslb.com/bfs/archive/8821c03ab27a0bcf2bf32af814e758ab17a1e27e.png\",\"rid\":1951316064,\"type_\":8,\"desc\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"bvid\":\"BV1zC411p7JN\",\"view\":452,\"danmaku\":0,\"pub_date\":1709385603,\"attach_msg\":null}", - "msg_seqno": 1236306587877408, - "timestamp": 1709385615, - "at_uids": null, - "msg_key": 7341755312943193481, - "msg_status": 0, - "notify_code": "", - "new_face_version": 1, - "msg_source": 6 - }, - "group_type": 0, - "can_fold": 0, - "status": 0, - "max_seqno": 1236306587877408, - "new_push_msg": 0, - "setting": 0, - "is_guardian": 0, - "is_intercept": 0, - "is_trust": 0, - "system_msg_type": 0, - "live_status": 0, - "biz_msg_unread_count": 0, - "user_label": null - }, - { - "talker_id": 221082140, - "session_type": 2, - "at_seqno": 0, - "top_ts": 0, - "group_name": "社会易姐QwQ的应援团", - "group_cover": "http://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", - "is_follow": 0, - "is_dnd": 0, - "ack_seqno": 20, - "ack_ts": 1695011620552332, - "session_ts": 1693626568439784, - "unread_count": 0, - "last_msg": { - "sender_uid": 0, - "receiver_type": 2, - "receiver_id": 221082140, - "msg_type": 306, - "content": "{\"group_id\":221082140,\"content\":\"欢迎罗板栗入群\"}", - "msg_seqno": 20, - "timestamp": 1693626568, - "at_uids": null, - "msg_key": 7274070721607234847, - "msg_status": 0, - "notify_code": "", - "msg_source": 13 - }, - "group_type": 0, - "can_fold": 0, - "status": 0, - "max_seqno": 20, - "new_push_msg": 0, - "setting": 0, - "is_guardian": 0, - "is_intercept": 0, - "is_trust": 0, - "system_msg_type": 0, - "live_status": 0, - "biz_msg_unread_count": 0, - "user_label": null - } - ], - "has_more": 1, - "anti_disturb_cleaning": false, - "is_address_list_empty": 0, - "system_msg": { - "1": 844424930131967, - "7": 844424930131966, - "9": 844424930131965 + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "session_list": [ + { + "talker_id": 844424930131966, + "session_type": 1, + "at_seqno": 0, + "top_ts": 0, + "group_name": "", + "group_cover": "", + "is_follow": 1, + "is_dnd": 0, + "ack_seqno": 1238729956474887, + "ack_ts": 1709536924979884, + "session_ts": 1712305278098351, + "unread_count": 4, + "last_msg": { + "sender_uid": 844424930131966, + "receiver_type": 1, + "receiver_id": 425503913, + "msg_type": 10, + "content": "{\"title\":\"流量奖励到账通知\",\"text\":\"恭喜您已获得2000流量曝光奖励,快来投稿使用吧。\",\"jump_text\":\"\",\"jump_uri\":\"\",\"modules\":null,\"jump_text_2\":\"\",\"jump_uri_2\":\"\",\"jump_text_3\":\"\",\"jump_uri_3\":\"\",\"notifier\":null,\"jump_uri_config\":{\"all_uri\":\"https://member.bilibili.com/york/flow-reward?navhide=1\\u0026from=msgrecall\",\"text\":\"\"},\"jump_uri_2_config\":{\"text\":\"\"},\"jump_uri_3_config\":{\"text\":\"\"},\"biz_content\":null}", + "msg_seqno": 1285290404823041, + "timestamp": 1712305278, + "at_uids": null, + "msg_key": 7354295169819585966, + "msg_status": 0, + "notify_code": "2091_253", + "new_face_version": 1, + "msg_source": 6 }, - "show_level": true - } + "group_type": 0, + "can_fold": 0, + "status": 0, + "max_seqno": 1285290404823041, + "new_push_msg": 1, + "setting": 0, + "is_guardian": 0, + "is_intercept": 0, + "is_trust": 0, + "system_msg_type": 7, + "account_info": { + "name": "UP主小助手", + "pic_url": "https://message.biliimg.com/bfs/im/489a63efadfb202366c2f88853d2217b5ddc7a13.png" + }, + "live_status": 0, + "biz_msg_unread_count": 0, + "user_label": null + }, + { + "talker_id": 293793435, + "session_type": 1, + "at_seqno": 0, + "top_ts": 0, + "group_name": "", + "group_cover": "", + "is_follow": 1, + "is_dnd": 0, + "ack_seqno": 1236306587877408, + "ack_ts": 1709536984481314, + "session_ts": 1709385615744065, + "unread_count": 0, + "last_msg": { + "sender_uid": 293793435, + "receiver_type": 1, + "receiver_id": 425503913, + "msg_type": 11, + "content": "{\"title\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"times\":14,\"cover\":\"http://i0.hdslb.com/bfs/archive/8821c03ab27a0bcf2bf32af814e758ab17a1e27e.png\",\"rid\":1951316064,\"type_\":8,\"desc\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"bvid\":\"BV1zC411p7JN\",\"view\":452,\"danmaku\":0,\"pub_date\":1709385603,\"attach_msg\":null}", + "msg_seqno": 1236306587877408, + "timestamp": 1709385615, + "at_uids": null, + "msg_key": 7341755312943193481, + "msg_status": 0, + "notify_code": "", + "new_face_version": 1, + "msg_source": 6 + }, + "group_type": 0, + "can_fold": 0, + "status": 0, + "max_seqno": 1236306587877408, + "new_push_msg": 0, + "setting": 0, + "is_guardian": 0, + "is_intercept": 0, + "is_trust": 0, + "system_msg_type": 0, + "live_status": 0, + "biz_msg_unread_count": 0, + "user_label": null + }, + { + "talker_id": 221082140, + "session_type": 2, + "at_seqno": 0, + "top_ts": 0, + "group_name": "社会易姐QwQ的应援团", + "group_cover": "http://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", + "is_follow": 0, + "is_dnd": 0, + "ack_seqno": 20, + "ack_ts": 1695011620552332, + "session_ts": 1693626568439784, + "unread_count": 0, + "last_msg": { + "sender_uid": 0, + "receiver_type": 2, + "receiver_id": 221082140, + "msg_type": 306, + "content": "{\"group_id\":221082140,\"content\":\"欢迎罗板栗入群\"}", + "msg_seqno": 20, + "timestamp": 1693626568, + "at_uids": null, + "msg_key": 7274070721607234847, + "msg_status": 0, + "notify_code": "", + "msg_source": 13 + }, + "group_type": 0, + "can_fold": 0, + "status": 0, + "max_seqno": 20, + "new_push_msg": 0, + "setting": 0, + "is_guardian": 0, + "is_intercept": 0, + "is_trust": 0, + "system_msg_type": 0, + "live_status": 0, + "biz_msg_unread_count": 0, + "user_label": null + } + ], + "has_more": 1, + "anti_disturb_cleaning": false, + "is_address_list_empty": 0, + "system_msg": { + "1": 844424930131967, + "7": 844424930131966, + "9": 844424930131965 + }, + "show_level": true + } } ``` @@ -462,11 +462,11 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/get_sessions' \ ```shell curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/new_sessions' \ - --data-urlencode 'begin_ts=1712420213519391' \ - --data-urlencode 'size=3' \ - --data-urlencode 'build=0' \ - --data-urlencode 'mobi_app=web' \ - -b 'SESSDATA=xxx' + --data-urlencode 'begin_ts=1712420213519391' \ + --data-urlencode 'size=3' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' ```
@@ -474,147 +474,147 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/new_sessions' \ ```json { - "code": 0, - "msg": "0", - "message": "0", - "ttl": 1, - "data": { - "session_list": [ - { - "talker_id": 844424930131966, - "session_type": 1, - "at_seqno": 0, - "top_ts": 0, - "group_name": "", - "group_cover": "", - "is_follow": 1, - "is_dnd": 0, - "ack_seqno": 1238729956474887, - "ack_ts": 1709536924979884, - "session_ts": 1712305278098351, - "unread_count": 4, - "last_msg": { - "sender_uid": 844424930131966, - "receiver_type": 1, - "receiver_id": 425503913, - "msg_type": 10, - "content": "{\"title\":\"流量奖励到账通知\",\"text\":\"恭喜您已获得2000流量曝光奖励,快来投稿使用吧。\",\"jump_text\":\"\",\"jump_uri\":\"\",\"modules\":null,\"jump_text_2\":\"\",\"jump_uri_2\":\"\",\"jump_text_3\":\"\",\"jump_uri_3\":\"\",\"notifier\":null,\"jump_uri_config\":{\"all_uri\":\"https://member.bilibili.com/york/flow-reward?navhide=1\\u0026from=msgrecall\",\"text\":\"\"},\"jump_uri_2_config\":{\"text\":\"\"},\"jump_uri_3_config\":{\"text\":\"\"},\"biz_content\":null}", - "msg_seqno": 1285290404823041, - "timestamp": 1712305278, - "at_uids": null, - "msg_key": 7354295169819585966, - "msg_status": 0, - "notify_code": "2091_253", - "new_face_version": 1, - "msg_source": 6 - }, - "group_type": 0, - "can_fold": 0, - "status": 0, - "max_seqno": 1285290404823041, - "new_push_msg": 1, - "setting": 0, - "is_guardian": 0, - "is_intercept": 0, - "is_trust": 0, - "system_msg_type": 7, - "account_info": { - "name": "UP主小助手", - "pic_url": "https://message.biliimg.com/bfs/im/489a63efadfb202366c2f88853d2217b5ddc7a13.png" - }, - "live_status": 0, - "biz_msg_unread_count": 0, - "user_label": null - }, - { - "talker_id": 293793435, - "session_type": 1, - "at_seqno": 0, - "top_ts": 0, - "group_name": "", - "group_cover": "", - "is_follow": 1, - "is_dnd": 0, - "ack_seqno": 1236306587877408, - "ack_ts": 1709536984481314, - "session_ts": 1709385615744065, - "unread_count": 0, - "last_msg": { - "sender_uid": 293793435, - "receiver_type": 1, - "receiver_id": 425503913, - "msg_type": 11, - "content": "{\"title\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"times\":14,\"cover\":\"http://i0.hdslb.com/bfs/archive/8821c03ab27a0bcf2bf32af814e758ab17a1e27e.png\",\"rid\":1951316064,\"type_\":8,\"desc\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"bvid\":\"BV1zC411p7JN\",\"view\":452,\"danmaku\":0,\"pub_date\":1709385603,\"attach_msg\":null}", - "msg_seqno": 1236306587877408, - "timestamp": 1709385615, - "at_uids": null, - "msg_key": 7341755312943193481, - "msg_status": 0, - "notify_code": "", - "new_face_version": 1, - "msg_source": 6 - }, - "group_type": 0, - "can_fold": 0, - "status": 0, - "max_seqno": 1236306587877408, - "new_push_msg": 0, - "setting": 0, - "is_guardian": 0, - "is_intercept": 0, - "is_trust": 0, - "system_msg_type": 0, - "live_status": 0, - "biz_msg_unread_count": 0, - "user_label": null - }, - { - "talker_id": 221082140, - "session_type": 2, - "at_seqno": 0, - "top_ts": 0, - "group_name": "社会易姐QwQ的应援团", - "group_cover": "http://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", - "is_follow": 0, - "is_dnd": 0, - "ack_seqno": 20, - "ack_ts": 1695011620552332, - "session_ts": 1693626568439784, - "unread_count": 0, - "last_msg": { - "sender_uid": 0, - "receiver_type": 2, - "receiver_id": 221082140, - "msg_type": 306, - "content": "{\"group_id\":221082140,\"content\":\"欢迎罗板栗入群\"}", - "msg_seqno": 20, - "timestamp": 1693626568, - "at_uids": null, - "msg_key": 7274070721607234847, - "msg_status": 0, - "notify_code": "", - "msg_source": 13 - }, - "group_type": 0, - "can_fold": 0, - "status": 0, - "max_seqno": 20, - "new_push_msg": 0, - "setting": 0, - "is_guardian": 0, - "is_intercept": 0, - "is_trust": 0, - "system_msg_type": 0, - "live_status": 0, - "biz_msg_unread_count": 0, - "user_label": null - } - ], - "has_more": 0, - "anti_disturb_cleaning": false, - "is_address_list_empty": 0, - "show_level": false - } + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "session_list": [ + { + "talker_id": 844424930131966, + "session_type": 1, + "at_seqno": 0, + "top_ts": 0, + "group_name": "", + "group_cover": "", + "is_follow": 1, + "is_dnd": 0, + "ack_seqno": 1238729956474887, + "ack_ts": 1709536924979884, + "session_ts": 1712305278098351, + "unread_count": 4, + "last_msg": { + "sender_uid": 844424930131966, + "receiver_type": 1, + "receiver_id": 425503913, + "msg_type": 10, + "content": "{\"title\":\"流量奖励到账通知\",\"text\":\"恭喜您已获得2000流量曝光奖励,快来投稿使用吧。\",\"jump_text\":\"\",\"jump_uri\":\"\",\"modules\":null,\"jump_text_2\":\"\",\"jump_uri_2\":\"\",\"jump_text_3\":\"\",\"jump_uri_3\":\"\",\"notifier\":null,\"jump_uri_config\":{\"all_uri\":\"https://member.bilibili.com/york/flow-reward?navhide=1\\u0026from=msgrecall\",\"text\":\"\"},\"jump_uri_2_config\":{\"text\":\"\"},\"jump_uri_3_config\":{\"text\":\"\"},\"biz_content\":null}", + "msg_seqno": 1285290404823041, + "timestamp": 1712305278, + "at_uids": null, + "msg_key": 7354295169819585966, + "msg_status": 0, + "notify_code": "2091_253", + "new_face_version": 1, + "msg_source": 6 + }, + "group_type": 0, + "can_fold": 0, + "status": 0, + "max_seqno": 1285290404823041, + "new_push_msg": 1, + "setting": 0, + "is_guardian": 0, + "is_intercept": 0, + "is_trust": 0, + "system_msg_type": 7, + "account_info": { + "name": "UP主小助手", + "pic_url": "https://message.biliimg.com/bfs/im/489a63efadfb202366c2f88853d2217b5ddc7a13.png" + }, + "live_status": 0, + "biz_msg_unread_count": 0, + "user_label": null + }, + { + "talker_id": 293793435, + "session_type": 1, + "at_seqno": 0, + "top_ts": 0, + "group_name": "", + "group_cover": "", + "is_follow": 1, + "is_dnd": 0, + "ack_seqno": 1236306587877408, + "ack_ts": 1709536984481314, + "session_ts": 1709385615744065, + "unread_count": 0, + "last_msg": { + "sender_uid": 293793435, + "receiver_type": 1, + "receiver_id": 425503913, + "msg_type": 11, + "content": "{\"title\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"times\":14,\"cover\":\"http://i0.hdslb.com/bfs/archive/8821c03ab27a0bcf2bf32af814e758ab17a1e27e.png\",\"rid\":1951316064,\"type_\":8,\"desc\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"bvid\":\"BV1zC411p7JN\",\"view\":452,\"danmaku\":0,\"pub_date\":1709385603,\"attach_msg\":null}", + "msg_seqno": 1236306587877408, + "timestamp": 1709385615, + "at_uids": null, + "msg_key": 7341755312943193481, + "msg_status": 0, + "notify_code": "", + "new_face_version": 1, + "msg_source": 6 + }, + "group_type": 0, + "can_fold": 0, + "status": 0, + "max_seqno": 1236306587877408, + "new_push_msg": 0, + "setting": 0, + "is_guardian": 0, + "is_intercept": 0, + "is_trust": 0, + "system_msg_type": 0, + "live_status": 0, + "biz_msg_unread_count": 0, + "user_label": null + }, + { + "talker_id": 221082140, + "session_type": 2, + "at_seqno": 0, + "top_ts": 0, + "group_name": "社会易姐QwQ的应援团", + "group_cover": "http://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg", + "is_follow": 0, + "is_dnd": 0, + "ack_seqno": 20, + "ack_ts": 1695011620552332, + "session_ts": 1693626568439784, + "unread_count": 0, + "last_msg": { + "sender_uid": 0, + "receiver_type": 2, + "receiver_id": 221082140, + "msg_type": 306, + "content": "{\"group_id\":221082140,\"content\":\"欢迎罗板栗入群\"}", + "msg_seqno": 20, + "timestamp": 1693626568, + "at_uids": null, + "msg_key": 7274070721607234847, + "msg_status": 0, + "notify_code": "", + "msg_source": 13 + }, + "group_type": 0, + "can_fold": 0, + "status": 0, + "max_seqno": 20, + "new_push_msg": 0, + "setting": 0, + "is_guardian": 0, + "is_intercept": 0, + "is_trust": 0, + "system_msg_type": 0, + "live_status": 0, + "biz_msg_unread_count": 0, + "user_label": null + } + ], + "has_more": 0, + "anti_disturb_cleaning": false, + "is_address_list_empty": 0, + "show_level": false + } } ``` @@ -657,11 +657,11 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/new_sessions' \ ```shell curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/session_detail' \ - --data-urlencode 'talker_id=293793435' \ - --data-urlencode 'session_type=1' \ - --data-urlencode 'build=0' \ - --data-urlencode 'mobi_app=web' \ - -b 'SESSDATA=xxx' + --data-urlencode 'talker_id=293793435' \ + --data-urlencode 'session_type=1' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' ```
@@ -669,52 +669,52 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/session_detail' ```json { - "code": 0, - "msg": "0", - "message": "0", - "ttl": 1, - "data": { - "talker_id": 293793435, - "session_type": 1, - "at_seqno": 0, - "top_ts": 0, - "group_name": "", - "group_cover": "", - "is_follow": 1, - "is_dnd": 0, - "ack_seqno": 1236306587877408, - "ack_ts": 1709536984481314, - "session_ts": 1709385615744065, - "unread_count": 0, - "last_msg": { - "sender_uid": 293793435, - "receiver_type": 1, - "receiver_id": 425503913, - "msg_type": 11, - "content": "{\"title\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"times\":14,\"cover\":\"http://i0.hdslb.com/bfs/archive/8821c03ab27a0bcf2bf32af814e758ab17a1e27e.png\",\"rid\":1951316064,\"type_\":8,\"desc\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"bvid\":\"BV1zC411p7JN\",\"view\":452,\"danmaku\":0,\"pub_date\":1709385603,\"attach_msg\":null}", - "msg_seqno": 1236306587877408, - "timestamp": 1709385615, - "at_uids": null, - "msg_key": 7341755312943193481, - "msg_status": 0, - "notify_code": "", - "new_face_version": 1, - "msg_source": 6 - }, - "group_type": 0, - "can_fold": 0, - "status": 0, - "max_seqno": 1236306587877408, - "new_push_msg": 0, - "setting": 0, - "is_guardian": 0, - "is_intercept": 0, - "is_trust": 0, - "system_msg_type": 0, - "live_status": 0, - "biz_msg_unread_count": 0, - "user_label": null - } + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "talker_id": 293793435, + "session_type": 1, + "at_seqno": 0, + "top_ts": 0, + "group_name": "", + "group_cover": "", + "is_follow": 1, + "is_dnd": 0, + "ack_seqno": 1236306587877408, + "ack_ts": 1709536984481314, + "session_ts": 1709385615744065, + "unread_count": 0, + "last_msg": { + "sender_uid": 293793435, + "receiver_type": 1, + "receiver_id": 425503913, + "msg_type": 11, + "content": "{\"title\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"times\":14,\"cover\":\"http://i0.hdslb.com/bfs/archive/8821c03ab27a0bcf2bf32af814e758ab17a1e27e.png\",\"rid\":1951316064,\"type_\":8,\"desc\":\"OHHHHHH家人们,我分数终于破w了!紫框了这下确实不好意思说自己是只打红谱的萌新了\",\"bvid\":\"BV1zC411p7JN\",\"view\":452,\"danmaku\":0,\"pub_date\":1709385603,\"attach_msg\":null}", + "msg_seqno": 1236306587877408, + "timestamp": 1709385615, + "at_uids": null, + "msg_key": 7341755312943193481, + "msg_status": 0, + "notify_code": "", + "new_face_version": 1, + "msg_source": 6 + }, + "group_type": 0, + "can_fold": 0, + "status": 0, + "max_seqno": 1236306587877408, + "new_push_msg": 0, + "setting": 0, + "is_guardian": 0, + "is_intercept": 0, + "is_trust": 0, + "system_msg_type": 0, + "live_status": 0, + "biz_msg_unread_count": 0, + "user_label": null + } } ``` @@ -738,7 +738,7 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/session_detail' | ----------------- | ---- | ---------------- | ------ | ------------------------------------------------------ | | talker_id | num | 聊天对象的id | 必要 | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id | | session_type | num | 聊天对象的类型 | 必要 | 1:用户
2:粉丝团 | -| size | num | 返回消息数量 | 非必要 | 默认为 0,最大为 200
本参数不存在时,只返回系统提示 | +| size | num | 返回消息数量 | 非必要 | 默认为 0,最大为 2000
当本参数为 `0` 或不存在时,只返回系统提示 | | begin_seqno | num | 开始的序列号 | 非必要 | 提供本参数时返回以本序列号开始(不包括本序列号)的消息 | | end_seqno | num | 结束的序列号 | 非必要 | 提供本参数时返回以本序列号结束(不包括本序列号)的消息 | | sender_device_id | num | 发送者设备 | 非必要 | 默认为 `1` | @@ -798,13 +798,13 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/session_detail' ```shell curl -G 'https://api.vc.bilibili.com/svr_sync/v1/svr_sync/fetch_session_msgs' \ - --data-urlencode 'talker_id=123' \ - --data-urlencode 'session_type=1' \ - --data-urlencode 'size=20' \ - --data-urlencode 'sender_device_id=1' \ - --data-urlencode 'build=0' \ - --data-urlencode 'mobi_app=web' \ - -b 'SESSDATA=xxx' + --data-urlencode 'talker_id=123' \ + --data-urlencode 'session_type=1' \ + --data-urlencode 'size=20' \ + --data-urlencode 'sender_device_id=1' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' ```
@@ -812,58 +812,58 @@ curl -G 'https://api.vc.bilibili.com/svr_sync/v1/svr_sync/fetch_session_msgs' \ ```json { - "code": 0, - "msg": "0", - "message": "0", - "ttl": 1, - "data": { - "messages": [ - { - "sender_uid": 2239814, - "receiver_type": 1, - "receiver_id": 123, - "msg_type": 1, - "content": "{\"content\":\"[口罩]\"}", - "msg_seqno": 309675413389322, - "timestamp": 1654154093, - "at_uids": [ - 0 - ], - "msg_key": 7104537732714964358, - "msg_status": 0, - "notify_code": "", - "new_face_version": 1, - "msg_source": 2 - }, - { - "sender_uid": 2239814, - "receiver_type": 1, - "receiver_id": 123, - "msg_type": 5, - "content": "{\"content\":\"1\"}", - "msg_seqno": 308302399586307, - "timestamp": 1654072255, - "at_uids": [ - 0 - ], - "msg_key": 7104186240789226795, - "msg_status": 0, - "notify_code": "", - "msg_source": 7 - - }, + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "messages": [ + { + "sender_uid": 2239814, + "receiver_type": 1, + "receiver_id": 123, + "msg_type": 1, + "content": "{\"content\":\"[口罩]\"}", + "msg_seqno": 309675413389322, + "timestamp": 1654154093, + "at_uids": [ + 0 ], - "has_more": 0, - "min_seqno": 308188515844097, - "max_seqno": 309675413389322, - "e_infos": [ - { - "text": "[口罩]", - "url": "http://i0.hdslb.com/bfs/emote/3ad2f66b151496d2a5fb0a8ea75f32265d778dd3.png", - "size": 1 - } - ] - } + "msg_key": 7104537732714964358, + "msg_status": 0, + "notify_code": "", + "new_face_version": 1, + "msg_source": 2 + }, + { + "sender_uid": 2239814, + "receiver_type": 1, + "receiver_id": 123, + "msg_type": 5, + "content": "{\"content\":\"1\"}", + "msg_seqno": 308302399586307, + "timestamp": 1654072255, + "at_uids": [ + 0 + ], + "msg_key": 7104186240789226795, + "msg_status": 0, + "notify_code": "", + "msg_source": 7 + + }, + ], + "has_more": 0, + "min_seqno": 308188515844097, + "max_seqno": 309675413389322, + "e_infos": [ + { + "text": "[口罩]", + "url": "http://i0.hdslb.com/bfs/emote/3ad2f66b151496d2a5fb0a8ea75f32265d778dd3.png", + "size": 1 + } + ] + } } ``` @@ -911,9 +911,9 @@ curl -G 'https://api.vc.bilibili.com/svr_sync/v1/svr_sync/fetch_session_msgs' \ ```shell curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/is_limit' \ - --data-urlencode 'uid=123' \ - --data-urlencode 'type=1' \ - -b 'SESSDATA=xxx' + --data-urlencode 'uid=123' \ + --data-urlencode 'type=1' \ + -b 'SESSDATA=xxx' ```
@@ -979,10 +979,10 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/is_limit' \ ```shell curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_session_ss' \ - --data-urlencode 'talker_uid=123' \ - --data-urlencode 'build=0' \ - --data-urlencode 'mobi_app=web' \ - -b 'SESSDATA=xxx' + --data-urlencode 'talker_uid=123' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' ```
@@ -1111,12 +1111,12 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_session_ss ```shell curl -G 'https://api.vc.bilibili.com/x/im/feed/infoweb' \ - --data-urlencode 'aids=170001' \ - --data-urlencode 'ep_ids=780019' \ - --data-urlencode 'article_ids=1' \ - --data-urlencode 'build=0' \ - --data-urlencode 'mobi_app=web' \ - -b 'SESSDATA=xxx' + --data-urlencode 'aids=170001' \ + --data-urlencode 'ep_ids=780019' \ + --data-urlencode 'article_ids=1' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' ```
@@ -1259,15 +1259,15 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/update_ack' \ 调用该接口会将该会话设置为已读 -**URL参数:** +**URL参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| --- | --- | --- | --- | --- | -| w_sender_uid | num | 发送者mid | 必要 | 必须为自己的 mid | -| w_receiver_id | num | 接收者id | 必要 | 请求参数 `msg[receiver_type]` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id | -| w_dev_id | str | 设备id | 必要 | 实质上即 UUID(版本 4),**生成方式见下** | -| w_rid | str | Wbi 签名 | 必要 | 参见 [Wbi 签名](../misc/sign/wbi.md) | -| wts | str | UNIX 秒级时间戳 | 必要 | 参见 [Wbi 签名](../misc/sign/wbi.md) | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------- | ---- | --------------- | ------ | ------------------------------------ | +| w_sender_uid | num | 发送者mid | 非必要 | 同正文参数 `msg[sender_uid]` | +| w_receiver_id | num | 接收者id | 非必要 | 同正文参数 `msg[receiver_id]` | +| w_dev_id | str | 设备id | 非必要 | 同正文参数 `msg[dev_id]` | +| w_rid | str | Wbi 签名 | 非必要 | 参见 [Wbi 签名](../misc/sign/wbi.md) | +| wts | str | UNIX 秒级时间戳 | 非必要 | 参见 [Wbi 签名](../misc/sign/wbi.md) | **正文参数(application/x-www-form-urlencoded):** @@ -1281,7 +1281,7 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/update_ack' \ | msg\[dev_id\] | str | 设备id | 必要 | 实质上即 UUID(版本 4),**生成方式见下** | | msg\[timestamp\] | num | 当前时间戳(秒) | 必要 | | | msg\[new_face_version\] | num | 表情包版本 | 非必要 | 提供 `0` 或者未提供本参数表示旧版表情包,此时 B 站会自动转换成新版表情包,例如 `[doge]` -> `[tv_doge]`;`1` 为新版 | -| msg\[content\] | str | 消息内容 | 必要 | 详见[私信消息类型、内容说明](private_msg_content.md) | +| msg\[content\] | str | 消息内容 | 必要 | 详见[私信消息类型、内容说明](private_msg_content.md),接受最多2000字节的内容 | | csrf_token | str | CSRF Token(位于cookie) | 必要 | | | csrf | str | CSRF Token(位于cookie) | 必要 | | | build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | @@ -1327,10 +1327,10 @@ const dev_id = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (function import java.util.UUID; public class Main { - private String getDevId() { - UUID uuid = UUID.randomUUID(); - return uuid.toString(); - } + private String getDevId() { + UUID uuid = UUID.randomUUID(); + return uuid.toString(); + } } ``` diff --git a/docs/message/private_msg_content.md b/docs/message/private_msg_content.md index b07bfd4..e2af0f3 100644 --- a/docs/message/private_msg_content.md +++ b/docs/message/private_msg_content.md @@ -20,7 +20,7 @@ ```json { - "content": "Hello" + "content": "Hello" } ``` @@ -28,7 +28,7 @@ 在发送私信时,请确保下面的对象合法且 `url` 项的值为 B 站的图床 url,否则会报 21037 `图片格式不合法,不要调戏接口啦` 错误 -建议设置 `height` 与 `width` 属性,否则可能会导致消息显示异常 +建议设置 `height` 与 `width` 属性为图片的尺寸,否则可能会导致消息显示异常 根对象: @@ -47,12 +47,12 @@ ```json { - "url": "https://message.biliimg.com/bfs/im_new/c161fdf51d901c1607a15e30f10116dd425503913.jpg", - "height": 300, - "width": 300, - "imageType": "jpeg", - "original": 1, - "size": 55.443 + "url": "https://message.biliimg.com/bfs/im_new/c161fdf51d901c1607a15e30f10116dd425503913.jpg", + "height": 300, + "width": 300, + "imageType": "jpeg", + "original": 1, + "size": 55.443 } ``` @@ -100,13 +100,13 @@ ```json { - "author": "社会易姐QwQ", - "headline": "", - "id": 246551172, - "source": 5, - "thumb": "http://i2.hdslb.com/bfs/archive/14ba78056f946ece8c954a10677ef6b073edb178.jpg", - "title": "合 成 大 東 瓜", - "bvid": "BV16v411e7CW" + "author": "社会易姐QwQ", + "headline": "", + "id": 246551172, + "source": 5, + "thumb": "http://i2.hdslb.com/bfs/archive/14ba78056f946ece8c954a10677ef6b073edb178.jpg", + "title": "合 成 大 東 瓜", + "bvid": "BV16v411e7CW" } ``` @@ -150,14 +150,14 @@ ```json { - "avatar": "http://i0.hdslb.com/bfs/mall/mall/7b/dd/7bdd072290de017593791b52e937ca29.png", - "cover": "http://i0.hdslb.com/bfs/mall/mall/7b/dd/7bdd072290de017593791b52e937ca29.png", - "id": "bili91e3e7e93af281f9", - "jump_uri": "https://mall.bilibili.com/miniapp/bili91e3e7e93af281f9/pages/main?___timestamp=1689526821040&_biliFrom=about_bili_message&share_medium=android&share_source=bili_message&bbid=XU8CE838022AF6625C64B2153A3EF1E571AFF&ts=1689526821048", - "label_cover": "https://i0.hdslb.com/bfs/mall/mall/ae/0e/ae0ee4a857df5e307e1d04b5d420cb5b.png", - "label_name": "小程序", - "name": "主站测试专用小程序", - "title": "主站测试专用小程序" + "avatar": "http://i0.hdslb.com/bfs/mall/mall/7b/dd/7bdd072290de017593791b52e937ca29.png", + "cover": "http://i0.hdslb.com/bfs/mall/mall/7b/dd/7bdd072290de017593791b52e937ca29.png", + "id": "bili91e3e7e93af281f9", + "jump_uri": "https://mall.bilibili.com/miniapp/bili91e3e7e93af281f9/pages/main?___timestamp=1689526821040&_biliFrom=about_bili_message&share_medium=android&share_source=bili_message&bbid=XU8CE838022AF6625C64B2153A3EF1E571AFF&ts=1689526821048", + "label_cover": "https://i0.hdslb.com/bfs/mall/mall/ae/0e/ae0ee4a857df5e307e1d04b5d420cb5b.png", + "label_name": "小程序", + "name": "主站测试专用小程序", + "title": "主站测试专用小程序" } ``` @@ -176,12 +176,12 @@ | ----------------- | ----- | ------------- | ------------------------- | | title | str | 通知标题 | | | text | str | 通知内容 | | -| jump_text | str | 按钮1提示文字 | 若按钮1不存在则为空;若按钮1存在此项也可能为空,此时前端显示文字为 `查看详情` | +| jump_text | str | 按钮1提示文字 | 若按钮1不存在则为空;若按钮1存在,此项也可能为空,此时前端显示文字为 `查看详情` | | jump_uri | str | 按钮1跳转链接 | 若按钮1不存在则为空 | | modules | 有效时:array
无效时:null | 详细信息 | | -| jump_text_2 | str | 按钮2提示文字 | 若按钮2不存在则为空;若按钮2存在此项也可能为空,此时前端显示文字为 `查看详情` | +| jump_text_2 | str | 按钮2提示文字 | 若按钮2不存在则为空;若按钮2存在,此项也可能为空,此时前端显示文字为 `查看详情` | | jump_uri_2 | str | 按钮2跳转链接 | 若按钮2不存在则为空 | -| jump_text_3 | str | 按钮3提示文字 | 若按钮3不存在则为空;若按钮3存在此项也可能为空,此时前端显示文字为 `查看详情` | +| jump_text_3 | str | 按钮3提示文字 | 若按钮3不存在则为空;若按钮3存在,此项也可能为空,此时前端显示文字为 `查看详情` | | jump_uri_3 | str | 按钮3跳转链接 | 若按钮3不存在则为空 | | notifier | 有效时:obj
无效时:null | 发送者信息 | | | jump_uri_config | obj | 按钮1配置 | | @@ -241,44 +241,44 @@ ```json { - "title": "直播开始提醒", - "text": "你预约的直播已开始,快来围观吧~", - "jump_text": "进入直播间", - "jump_uri": "https://live.bilibili.com/22747055?broadcast_type=0&is_room_feed=1&live_from=27040", - "modules": [{ - "title": "预约主题", - "detail": "2024哔哩哔哩拜年纪" - }, { - "title": "开播时间", - "detail": "2024-02-09 19:32" - }, { - "title": "UP主", - "detail": "哔哩哔哩拜年纪" - }], - "jump_text_2": "", - "jump_uri_2": "", - "jump_text_3": "", - "jump_uri_3": "", - "notifier": null, - "jump_uri_config": { - "all_uri": "https://live.bilibili.com/22747055?broadcast_type=0&is_room_feed=1&live_from=27040", - "text": "进入直播间" - }, - "jump_uri_2_config": { - "text": "" - }, - "jump_uri_3_config": { - "text": "" - }, - "biz_content": { - "cover": "", - "backup_cover": "http://i0.hdslb.com/bfs/live/new_room_cover/bdae2665883ec8aa4e79aca16f3c5ee2df1da64f.jpg", - "refresh_type": 1, - "biz_type": 2, - "biz_id1": "1868902080", - "biz_id2": "473923647994271663", - "biz_status": 0 - } + "title": "直播开始提醒", + "text": "你预约的直播已开始,快来围观吧~", + "jump_text": "进入直播间", + "jump_uri": "https://live.bilibili.com/22747055?broadcast_type=0&is_room_feed=1&live_from=27040", + "modules": [{ + "title": "预约主题", + "detail": "2024哔哩哔哩拜年纪" + }, { + "title": "开播时间", + "detail": "2024-02-09 19:32" + }, { + "title": "UP主", + "detail": "哔哩哔哩拜年纪" + }], + "jump_text_2": "", + "jump_uri_2": "", + "jump_text_3": "", + "jump_uri_3": "", + "notifier": null, + "jump_uri_config": { + "all_uri": "https://live.bilibili.com/22747055?broadcast_type=0&is_room_feed=1&live_from=27040", + "text": "进入直播间" + }, + "jump_uri_2_config": { + "text": "" + }, + "jump_uri_3_config": { + "text": "" + }, + "biz_content": { + "cover": "", + "backup_cover": "http://i0.hdslb.com/bfs/live/new_room_cover/bdae2665883ec8aa4e79aca16f3c5ee2df1da64f.jpg", + "refresh_type": 1, + "biz_type": 2, + "biz_id1": "1868902080", + "biz_id2": "473923647994271663", + "biz_status": 0 + } } ``` @@ -315,17 +315,17 @@ ```json { - "title": "【2023嵌入式大赛】浅浅测试一下龙芯开发板", - "times": 308, - "cover": "http://i2.hdslb.com/bfs/archive/880c937de9af758451aa94ee29771e0264c1903a.jpg", - "rid": 740817783, - "type_": 8, - "desc": "最近把龙芯开发板部分(任务一)程序完成了,时间非常紧迫,就不知道为啥突然给省赛加个(本来国赛的题\n从硬件焊接开始,到软件整完不过5天啊喂,肝疼,过几天比赛完发硬件制作过程\n硬件使用龙芯一号(LS1B010)SOC,软件使用 C 语言+FreeRTOS+VSCode 开发", - "bvid": "BV1Dk4y1E7MZ", - "view": 13492, - "danmaku": 5, - "pub_date": 1683381582, - "attach_msg": null + "title": "【2023嵌入式大赛】浅浅测试一下龙芯开发板", + "times": 308, + "cover": "http://i2.hdslb.com/bfs/archive/880c937de9af758451aa94ee29771e0264c1903a.jpg", + "rid": 740817783, + "type_": 8, + "desc": "最近把龙芯开发板部分(任务一)程序完成了,时间非常紧迫,就不知道为啥突然给省赛加个(本来国赛的题\n从硬件焊接开始,到软件整完不过5天啊喂,肝疼,过几天比赛完发硬件制作过程\n硬件使用龙芯一号(LS1B010)SOC,软件使用 C 语言+FreeRTOS+VSCode 开发", + "bvid": "BV1Dk4y1E7MZ", + "view": 13492, + "danmaku": 5, + "pub_date": 1683381582, + "attach_msg": null } ``` @@ -370,19 +370,19 @@ ```json { - "rid": 18275013, - "title": "【单片机】遛弯捕捉到野生U盾,点亮它!", - "summary": "前一阵在学校那会,偶然的机会晚上饭后出去遛弯,在路边看到个被抛弃的 U盾,这么一想应该是附近拆迁搬东西时丢出去的,随即捕捉它。作为一个啥都折腾的捡垃圾技术宅肯定要去研究一波(笑是个建行的 U盾,按键部分还有点老灰,屏幕的尺寸盲猜 128x64,不可能再大了背面除了序列号没有别的东西,顶部有个盖子,像极了上古时期的 U盘插上充电宝可以正常点亮,至少屏没坏拆解&分析电路直接开拆,用刀片沿着四周缝隙插入并挑开卡扣内部结构挺简单,只有两颗较大的芯片,屏幕的 FPC 排线直接焊接在 PCB 上中间的这颗是", - "author": "社会易姐QwQ", - "view": 872, - "like": 38, - "reply": 7, - "template_id": 4, - "image_urls": [ - "https://i0.hdslb.com/bfs/article/c7c60e018c43c5c3a6e1520239021ea2753b2880.jpg" - ], - "attach_msg": null, - "pub_date": 1661358081 + "rid": 18275013, + "title": "【单片机】遛弯捕捉到野生U盾,点亮它!", + "summary": "前一阵在学校那会,偶然的机会晚上饭后出去遛弯,在路边看到个被抛弃的 U盾,这么一想应该是附近拆迁搬东西时丢出去的,随即捕捉它。作为一个啥都折腾的捡垃圾技术宅肯定要去研究一波(笑是个建行的 U盾,按键部分还有点老灰,屏幕的尺寸盲猜 128x64,不可能再大了背面除了序列号没有别的东西,顶部有个盖子,像极了上古时期的 U盘插上充电宝可以正常点亮,至少屏没坏拆解&分析电路直接开拆,用刀片沿着四周缝隙插入并挑开卡扣内部结构挺简单,只有两颗较大的芯片,屏幕的 FPC 排线直接焊接在 PCB 上中间的这颗是", + "author": "社会易姐QwQ", + "view": 872, + "like": 38, + "reply": 7, + "template_id": 4, + "image_urls": [ + "https://i0.hdslb.com/bfs/article/c7c60e018c43c5c3a6e1520239021ea2753b2880.jpg" + ], + "attach_msg": null, + "pub_date": 1661358081 } ``` @@ -402,9 +402,9 @@ ```json { - "pic_url": "http://i0.hdslb.com/bfs/location/9e57aff7245c226c05ba46ddd1e82667f74d5a06.png", - "jump_url": "https://www.bilibili.com/h5/mall/suit/detail?navhide=1&id=66359&from=Banner", - "title": "原神,启动!" + "pic_url": "http://i0.hdslb.com/bfs/location/9e57aff7245c226c05ba46ddd1e82667f74d5a06.png", + "jump_url": "https://www.bilibili.com/h5/mall/suit/detail?navhide=1&id=66359&from=Banner", + "title": "原神,启动!" } ``` @@ -429,12 +429,12 @@ ```json { - "author": "哔哩哔哩晚会", - "cover": "https://i1.hdslb.com/bfs/face/1b593d28fcd0cf63837c3ea80ac96d01bb85ec3b.jpg", - "desc": "主播:哔哩哔哩晚会 https://live.bilibili.com/21738461", - "source": "直播", - "title": "2023最美的夜 bilibili晚会", - "url": "https://live.bilibili.com/21738461?broadcast_type=0&is_room_feed=1&live_from=41000&share_medium=android&share_source=bili_message&bbid=XU8CE838022AF6625C64B2153A3EF1E571AFF&ts=1704038936971" + "author": "哔哩哔哩晚会", + "cover": "https://i1.hdslb.com/bfs/face/1b593d28fcd0cf63837c3ea80ac96d01bb85ec3b.jpg", + "desc": "主播:哔哩哔哩晚会 https://live.bilibili.com/21738461", + "source": "直播", + "title": "2023最美的夜 bilibili晚会", + "url": "https://live.bilibili.com/21738461?broadcast_type=0&is_room_feed=1&live_from=41000&share_medium=android&share_source=bili_message&bbid=XU8CE838022AF6625C64B2153A3EF1E571AFF&ts=1704038936971" } ``` @@ -477,42 +477,42 @@ ```json { - "main_title": "更多宝藏内容", - "reply_content": "感谢大佬关注哦~[doge][脱单doge][doge]\n这里是科技区底边小UP,日常瞎折腾,软硬件电路程序网络服务器都折腾,视频月更风格硬核略小众,咕咕咕.....\n老大二了,就不中二了\n有什么好的建议欢迎私信", - "sub_cards": [{ - "card_id": 379743801, - "card_type": 1, - "jump_url": "https://b23.tv/BV1hZ4y197Cz", - "cover_url": "http://i2.hdslb.com/bfs/archive/bfb87f033272926efe6ff4caee8e6c49c07ff6fe.jpg", - "field1": "【宿舍评测】性能与便携两全 华为matebook E 2022深度体验及伪开箱", - "field2": "2021-12-10", - "field3": "20万", - "icon3": 1, - "field4": "479", - "icon4": 3 - }, { - "card_id": 768716232, - "card_type": 1, - "jump_url": "https://b23.tv/BV13r4y187R8", - "cover_url": "http://i1.hdslb.com/bfs/archive/bb1d41ef0c17c2df25c8b6ef98f01466bdee0c1f.jpg", - "field1": "【BadApple】使用古董示波器Aron BS-601播放BadApple!!!", - "field2": "2022-05-03", - "field3": "15万", - "icon3": 1, - "field4": "297", - "icon4": 3 - }, { - "card_id": 524989935, - "card_type": 1, - "jump_url": "https://b23.tv/BV17M411E7Kq", - "cover_url": "http://i1.hdslb.com/bfs/archive/17335854dfad9d7990943d8cc6dc07c85912b103.jpg", - "field1": "【拆解】华为 Matebook E 更换固态硬盘:从未见过如此好拆的二合一", - "field2": "2023-02-24", - "field3": "5万", - "icon3": 1, - "field4": "102", - "icon4": 3 - }] + "main_title": "更多宝藏内容", + "reply_content": "感谢大佬关注哦~[doge][脱单doge][doge]\n这里是科技区底边小UP,日常瞎折腾,软硬件电路程序网络服务器都折腾,视频月更风格硬核略小众,咕咕咕.....\n老大二了,就不中二了\n有什么好的建议欢迎私信", + "sub_cards": [{ + "card_id": 379743801, + "card_type": 1, + "jump_url": "https://b23.tv/BV1hZ4y197Cz", + "cover_url": "http://i2.hdslb.com/bfs/archive/bfb87f033272926efe6ff4caee8e6c49c07ff6fe.jpg", + "field1": "【宿舍评测】性能与便携两全 华为matebook E 2022深度体验及伪开箱", + "field2": "2021-12-10", + "field3": "20万", + "icon3": 1, + "field4": "479", + "icon4": 3 + }, { + "card_id": 768716232, + "card_type": 1, + "jump_url": "https://b23.tv/BV13r4y187R8", + "cover_url": "http://i1.hdslb.com/bfs/archive/bb1d41ef0c17c2df25c8b6ef98f01466bdee0c1f.jpg", + "field1": "【BadApple】使用古董示波器Aron BS-601播放BadApple!!!", + "field2": "2022-05-03", + "field3": "15万", + "icon3": 1, + "field4": "297", + "icon4": 3 + }, { + "card_id": 524989935, + "card_type": 1, + "jump_url": "https://b23.tv/BV17M411E7Kq", + "cover_url": "http://i1.hdslb.com/bfs/archive/17335854dfad9d7990943d8cc6dc07c85912b103.jpg", + "field1": "【拆解】华为 Matebook E 更换固态硬盘:从未见过如此好拆的二合一", + "field2": "2023-02-24", + "field3": "5万", + "icon3": 1, + "field4": "102", + "icon4": 3 + }] } ``` @@ -522,8 +522,8 @@ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | -------------------------- | | content | str | 提示列表 | **经过序列化后**的JSON数组 | `content`文本经JSON解析后的数组: @@ -549,7 +549,7 @@ ```json { - "content": "[{\"text\":\"对方主动回复或关注你前,最多发送1条消息\",\"color_day\":\"#9499A0\",\"color_nig\":\"#9499A0\"}]" + "content": "[{\"text\":\"对方主动回复或关注你前,最多发送1条消息\",\"color_day\":\"#9499A0\",\"color_nig\":\"#9499A0\"}]" } ``` @@ -601,10 +601,10 @@ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| -------- | ---- | -------- | ---- | -| group_id | num | 粉丝团id | | -| content | str | 提示文字 | | +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | -------- | ---------- | +| group_id | num | 粉丝团id | (非必要) | +| content | str | 提示文字 | | **示例:** @@ -612,8 +612,8 @@ ```json { - "group_id": 221082140, - "content": "社会易姐QwQ的应援团开通啦 (>▽<)" + "group_id": 221082140, + "content": "社会易姐QwQ的应援团开通啦 (>▽<)" } ``` @@ -621,7 +621,7 @@ ```json { - "group_id": 221082140, - "content": "欢迎wuziqian211入群" + "group_id": 221082140, + "content": "欢迎wuziqian211入群" } ``` diff --git a/docs/user/info.md b/docs/user/info.md index 09bf4b6..3532f1b 100644 --- a/docs/user/info.md +++ b/docs/user/info.md @@ -318,7 +318,7 @@ | 字段 | 类型 | 内容 | 备注 | | -------- | ---- | ---------------- | ---------------- | | show | bool | 是否显示充电按钮 | | -| state | num | 充电功能开启状态 | -1:未开通充电功能
1:已开通自定义充电
2:已开通包月、自定义充电
3:已开通高档、自定义充电 | +| state | num | 充电功能开启状态 | -1:未开通充电功能
1:已开通自定义充电
2:已开通包月、自定义充电
3:已开通包月高档、自定义充电 | | title | str | 充电按钮显示文字 | 空字符串或 `充电` 或 `充电中` | | icon | str | 充电图标 | | | jump_url | str | 跳转url | | From 591dcf4d9f4b6c4ca8ff3390ae71b4a25df86afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Sun, 4 May 2025 23:58:48 +0800 Subject: [PATCH 07/38] style: wrap URLs with angle brackets --- docs/electric/charge_list.md | 8 ++++---- docs/electric/monthly.md | 8 ++++---- docs/message/private_msg.md | 20 ++++++++++---------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/electric/charge_list.md b/docs/electric/charge_list.md index cb68162..6bd2cdd 100644 --- a/docs/electric/charge_list.md +++ b/docs/electric/charge_list.md @@ -2,7 +2,7 @@ ## 获取空间充电公示列表 -> https://api.bilibili.com/x/ugcpay-rank/elec/month/up +> *请求方式:GET* @@ -120,7 +120,7 @@ curl -G 'https://api.bilibili.com/x/ugcpay-rank/elec/month/up' \ ## 获取视频充电鸣谢名单 -> https://api.bilibili.com/x/web-interface/elec/show +> *请求方式:GET* @@ -307,7 +307,7 @@ curl -G 'https://api.bilibili.com/x/web-interface/elec/show' \ ## 查询我收到的充电列表 -> https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord +> *请求方式:GET* @@ -443,7 +443,7 @@ curl -G 'https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord' \ ## 查询历史充电数据 -> https://member.bilibili.com/x/h5/elec/rank/recent +> *请求方式:GET* diff --git a/docs/electric/monthly.md b/docs/electric/monthly.md index 9bed7cc..21dc3ef 100644 --- a/docs/electric/monthly.md +++ b/docs/electric/monthly.md @@ -22,7 +22,7 @@ ## 获取包月充电列表 -> https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord +> *请求方式:GET* @@ -237,7 +237,7 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \ ## UP主包月充电详情 -> https://api.bilibili.com/x/upower/item/detail +> *请求方式:GET* @@ -396,7 +396,7 @@ curl 'https://api.bilibili.com/x/upower/item/detail' \ ## 与UP主的包月充电关系 -> https://api.bilibili.com/x/upower/charge/follow/info +> *请求方式:GET* @@ -547,7 +547,7 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \ ## 包月充电用户排名 -> https://api.bilibili.com/x/upower/up/member/rank/v2 +> *请求方式:GET* diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index a75b1fa..57784da 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -95,7 +95,7 @@ ## 获取未读私信数 -> https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread +> *请求方式:GET* @@ -178,7 +178,7 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \ ## 获取指定类型会话列表 -> https://api.vc.bilibili.com/session_svr/v1/session_svr/get_sessions +> *请求方式:GET* @@ -409,7 +409,7 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/get_sessions' \ ## 获取新会话列表 -> https://api.vc.bilibili.com/session_svr/v1/session_svr/new_sessions +> *请求方式:GET* @@ -622,7 +622,7 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/new_sessions' \ ## 获取会话详细信息 -> https://api.vc.bilibili.com/session_svr/v1/session_svr/session_detail +> *请求方式:GET* @@ -722,7 +722,7 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/session_detail' ## 查询私信消息记录 -> https://api.vc.bilibili.com/svr_sync/v1/svr_sync/fetch_session_msgs +> *请求方式:GET* @@ -871,7 +871,7 @@ curl -G 'https://api.vc.bilibili.com/svr_sync/v1/svr_sync/fetch_session_msgs' \ ## 获取会话限制状态 -> https://api.vc.bilibili.com/link_setting/v1/link_setting/is_limit +> *请求方式:GET* @@ -936,7 +936,7 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/is_limit' \ ## 获取会话推送设置 -> https://api.vc.bilibili.com/link_setting/v1/link_setting/get_session_ss +> *请求方式:GET* @@ -1007,7 +1007,7 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_session_ss ## 获取多个视频、番剧、专栏的信息 -> https://api.vc.bilibili.com/x/im/feed/infoweb +> *请求方式:GET* @@ -1180,7 +1180,7 @@ curl -G 'https://api.vc.bilibili.com/x/im/feed/infoweb' \ ## 设置私信为已读 -> https://api.vc.bilibili.com/session_svr/v1/session_svr/update_ack +> *请求方式:POST* @@ -1247,7 +1247,7 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/update_ack' \ ## 发送私信(web端) -> https://api.vc.bilibili.com/web_im/v1/web_im/send_msg +> *请求方式:POST* From b196d49bb11ad250ce85a2546f4407b6c28903c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 00:26:19 +0800 Subject: [PATCH 08/38] fix(private_msg): escape characters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/private_msg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index 57784da..690a80f 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -1395,7 +1395,7 @@ public class Main { 给目标用户`mid=1`发一条文字私信: -> up主你好,
催更[doge] +> up主你好,
催更\[doge\] ```shell curl 'https://api.vc.bilibili.com/web_im/v1/web_im/send_msg' \ From 9c2214be5e60f3ae18f883190aacd4aa9fb9356b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 01:03:38 +0800 Subject: [PATCH 09/38] style(private_msg): add spaces in request example --- docs/message/private_msg.md | 80 ++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index 690a80f..f13b4c6 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -1222,12 +1222,12 @@ curl -G 'https://api.vc.bilibili.com/x/im/feed/infoweb' \ ```shell curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/update_ack' \ ---data-urlencode 'talker_id=293793435' \ ---data-urlencode 'session_type=1' \ ---data-urlencode 'ack_seqno=1236306587877408' \ ---data-urlencode 'csrf=xxx' \ ---data-urlencode 'csrf_token=xxx' \ --b 'SESSDATA=xxx' + --data-urlencode 'talker_id=293793435' \ + --data-urlencode 'session_type=1' \ + --data-urlencode 'ack_seqno=1236306587877408' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -1399,18 +1399,18 @@ public class Main { ```shell curl 'https://api.vc.bilibili.com/web_im/v1/web_im/send_msg' \ ---data-urlencode 'msg[sender_uid]=293793435' \ ---data-urlencode 'msg[receiver_id]=1' \ ---data-urlencode 'msg[receiver_type]=1' \ ---data-urlencode 'msg[msg_type]=1' \ ---data-urlencode 'msg[msg_status]=0' \ ---data-urlencode 'msg[dev_id]=372778FD-E359-461D-86A3-EA2BCC6FF52A' \ ---data-urlencode 'msg[timestamp]=1626181379' \ ---data-urlencode 'msg[new_face_version]=1' \ ---data-urlencode 'msg[content]={"content":"up主你好,\n催更[doge]"}' \ ---data-urlencode 'csrf=xxx' \ ---data-urlencode 'csrf_token=xxx' \ --b 'SESSDATA=xxx' + --data-urlencode 'msg[sender_uid]=293793435' \ + --data-urlencode 'msg[receiver_id]=1' \ + --data-urlencode 'msg[receiver_type]=1' \ + --data-urlencode 'msg[msg_type]=1' \ + --data-urlencode 'msg[msg_status]=0' \ + --data-urlencode 'msg[dev_id]=372778FD-E359-461D-86A3-EA2BCC6FF52A' \ + --data-urlencode 'msg[timestamp]=1626181379' \ + --data-urlencode 'msg[new_face_version]=1' \ + --data-urlencode 'msg[content]={"content":"up主你好,\n催更[doge]"}' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -1444,17 +1444,17 @@ curl 'https://api.vc.bilibili.com/web_im/v1/web_im/send_msg' \ ```shell curl 'https://api.vc.bilibili.com/web_im/v1/web_im/send_msg' \ ---data-urlencode 'msg[sender_uid]=293793435' \ ---data-urlencode 'msg[receiver_id]=1' \ ---data-urlencode 'msg[receiver_type]=1' \ ---data-urlencode 'msg[msg_type]=2' \ ---data-urlencode 'msg[msg_status]=0' \ ---data-urlencode 'msg[dev_id]=372778FD-E359-461D-86A3-EA2BCC6FF52A' \ ---data-urlencode 'msg[timestamp]=1626181379' \ ---data-urlencode 'msg[content]={"url":"https://i1.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg","height":300,"width":300,"imageType":"jpeg","original":1,"size":54.144}' \ ---data-urlencode 'csrf=xxx' \ ---data-urlencode 'csrf_token=xxx' \ --b 'SESSDATA=xxx' + --data-urlencode 'msg[sender_uid]=293793435' \ + --data-urlencode 'msg[receiver_id]=1' \ + --data-urlencode 'msg[receiver_type]=1' \ + --data-urlencode 'msg[msg_type]=2' \ + --data-urlencode 'msg[msg_status]=0' \ + --data-urlencode 'msg[dev_id]=372778FD-E359-461D-86A3-EA2BCC6FF52A' \ + --data-urlencode 'msg[timestamp]=1626181379' \ + --data-urlencode 'msg[content]={"url":"https://i1.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg","height":300,"width":300,"imageType":"jpeg","original":1,"size":54.144}' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -1478,17 +1478,17 @@ curl 'https://api.vc.bilibili.com/web_im/v1/web_im/send_msg' \ ```shell curl 'https://api.vc.bilibili.com/web_im/v1/web_im/send_msg' \ ---data-urlencode 'msg[sender_uid]=293793435' \ ---data-urlencode 'msg[receiver_id]=1' \ ---data-urlencode 'msg[receiver_type]=1' \ ---data-urlencode 'msg[msg_type]=1' \ ---data-urlencode 'msg[msg_status]=0' \ ---data-urlencode 'msg[dev_id]=372778FD-E359-461D-86A3-EA2BCC6FF52A' \ ---data-urlencode 'msg[timestamp]=1626181379' \ ---data-urlencode 'msg[content]={"content":"支付宝"}' \ ---data-urlencode 'csrf=xxx' \ ---data-urlencode 'csrf_token=xxx' \ --b 'SESSDATA=xxx' + --data-urlencode 'msg[sender_uid]=293793435' \ + --data-urlencode 'msg[receiver_id]=1' \ + --data-urlencode 'msg[receiver_type]=1' \ + --data-urlencode 'msg[msg_type]=1' \ + --data-urlencode 'msg[msg_status]=0' \ + --data-urlencode 'msg[dev_id]=372778FD-E359-461D-86A3-EA2BCC6FF52A' \ + --data-urlencode 'msg[timestamp]=1626181379' \ + --data-urlencode 'msg[content]={"content":"支付宝"}' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' ```
From c423b1825676d79070fc92753c0af817af9ecc9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 01:04:05 +0800 Subject: [PATCH 10/38] fix(article/list): remove symbol link --- docs/article/list.md | 1 - 1 file changed, 1 deletion(-) delete mode 120000 docs/article/list.md diff --git a/docs/article/list.md b/docs/article/list.md deleted file mode 120000 index 6dff8e0..0000000 --- a/docs/article/list.md +++ /dev/null @@ -1 +0,0 @@ -../user/space.md \ No newline at end of file From 2e27a2aa75dfbea4878983a4378c96c78c6ae60d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 01:04:24 +0800 Subject: [PATCH 11/38] feat(judgement_info): add request example --- docs/blackroom/jury/judgement_info.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/blackroom/jury/judgement_info.md b/docs/blackroom/jury/judgement_info.md index 1197b65..9b2d9d3 100644 --- a/docs/blackroom/jury/judgement_info.md +++ b/docs/blackroom/jury/judgement_info.md @@ -167,6 +167,12 @@ **示例:** +```shell +curl -G 'https://api.bilibili.com/x/credit/v2/jury/case/info' \ + --data-urlencode 'case_id=AC2SiaD8jlrL' \ + -b 'SESSDATA=xxx' +``` +
查看响应示例: From 7ce8f9c70e2f433624b51c735d247ea7869f21e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 01:04:46 +0800 Subject: [PATCH 12/38] feat: #689 --- docs/video/info.md | 2 +- docs/video/player.md | 22 +++++++++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/docs/video/info.md b/docs/video/info.md index 4dd6c2d..78f5943 100644 --- a/docs/video/info.md +++ b/docs/video/info.md @@ -67,7 +67,7 @@ | is_chargeable_season | bool | | | | is_story | bool | 是否可以在 Story Mode 展示? | | | is_upower_exclusive | bool | 是否为充电专属视频 | | -| is_upower_pay | bool | | | +| is_upower_play | bool | | | | is_upower_preview | bool | 充电专属视频是否支持试看 | | | no_cache | bool | 是否不允许缓存? | | | pages | array | 视频分P列表 | | diff --git a/docs/video/player.md b/docs/video/player.md index eed3c29..7b5a06d 100644 --- a/docs/video/player.md +++ b/docs/video/player.md @@ -70,10 +70,10 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括: | show_switch | obj | | | | bgm_info | obj | 背景音乐信息 | | | toast_block | bool | | | -| is_upower_exclusive | bool | 充电专属? | | +| is_upower_exclusive | bool | 是否为充电专属视频 | | | is_upower_play | bool | | | | is_ugc_pay_preview | bool | | | -| elec_high_level | obj | | | +| elec_high_level | obj | 充电专属视频信息 | | | disable_show_up_info | bool | | | `data` 对象中的 `options` 对象: @@ -126,7 +126,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括: |subtitle_url|str| 资源 url 地址 | | |type| num | 0 | | -`view_point` 数组内的元素: +`data`对象中的`view_point` 数组内的元素: | 字段 | 类型 | 内容 | 备注 | | --------- | ----- | -------- | ---- | @@ -139,6 +139,22 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括: | team_type | str | | | | team_name | str | | | +`data`对象中的`elec_high_level`对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ---- | ------------------------------ | ---------------- | +| privilege_type | num | 解锁视频所需最低定价档位的代码 | 见[充电档位代码与定价](../electric/monthly.md#充电档位代码privilege_type与定价) | +| title | str | 提示标题 | `该视频为「{充电档位名称}」专属视频` | +| sub_title | str | 提示子标题 | `开通「{充电档位定价}元档包月充电」即可观看` | +| show_button | bool | 是否显示按钮 | | +| button_text | str | 按钮文本 | `去开通` | +| jump_url | obj | 跳转url信息 | 详细信息有待补充 | +| intro | str | 充电介绍语 | | +| open | bool | (?) | | +| new | bool | (?) | | +| question_text | str | (?) | | +| qa_detail_link | str | (?) | | + **示例:** 未登录, `aid=1906473802` From 9d504615a092710ac2fc00dfc44acbf070463fa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 02:43:30 +0800 Subject: [PATCH 13/38] feat(relation): #1264 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/user/relation.md | 2088 +++++++++++++++++++++++------------------ 1 file changed, 1182 insertions(+), 906 deletions(-) diff --git a/docs/user/relation.md b/docs/user/relation.md index d9e5d43..2ecb74b 100644 --- a/docs/user/relation.md +++ b/docs/user/relation.md @@ -18,13 +18,15 @@ | contract_info | obj | 契约计划相关信息 | | | uname | str | 用户昵称 | | | face | str | 用户头像url | | -| face_nft | num | 是否为 NFT 头像 | 0:非 NFT 头像
1:NFT 头像 | | sign | str | 用户签名 | | +| face_nft | num | 是否为 NFT 头像 | 0:非 NFT 头像
1:NFT 头像 | | official_verify | obj | 认证信息 | | | vip | obj | 会员信息 | | +| name_render | 有效时:obj
无效时:null | 昵称渲染信息 | | | nft_icon | str | (?) | | -| rec_reason | str | (?) | | -| track_id | str | (?) | | +| rec_reason | str | 推荐该用户的原因 | 一般为空;如:`xxx关注了TA`、`xx粉丝 xx视频` | +| track_id | str | 内部记录id | 一般为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` | +| follow_time | str | (?) | | `list`中的对象中的`tag`数组: @@ -43,7 +45,6 @@ | ts | num | 对方成为目标用户的契约者的时间 | 秒级时间戳,仅当 `is_contractor` 项的值为 `true` 时才有此项 | | user_attr | num | 对方作为目标用户的契约者的属性 | 1:老粉
否则为原始粉丝
仅当有特殊属性时才有此项 | - `list`中的对象中的`official_verify`对象: | 字段 | 类型 | 内容 | 备注 | @@ -70,9 +71,187 @@ | ---- | ---- | ------ | ---- | | path | str | (?) | | -### 查询用户粉丝明细 +### 查询用户粉丝明细(新) -> https://api.bilibili.com/x/relation/followers +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +本接口只有登录、标头 `referer` 为 `bilibili.com` 下的子域名、UA 不含 `python` 时才会返回列表 + +由于接口实现不同,本接口的返回可能出现以下三种情况: + +1. 返回列表按关注时间排序,此时当前用户**仅返回前 1000 名粉丝**,其他用户仅返回前 100 名粉丝,若继续往后查询则返回空列表 +2. 返回列表按粉丝 mid 的**文本形式**排序,此时对于任意用户均可返回全部粉丝 +3. 返回列表按照**智能推荐算法**排序,此时请求参数 `from=main` 且目标用户为自己,**仅返回前 1000 名粉丝** + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ------------ | ------------------------------------------------------------------- | +| vmid | num | 目标用户 mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1 | +| offset | str | 偏移量 | 非必要 | 此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` | +| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时 `&.data.list[]` 中的 `rec_reason` 与 `track_id` 为非空 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-352:请求被拦截
-400:请求错误
22118:由于该用户隐私设置,粉丝列表不可见 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ----- | -------- | ---- | +| list | array | 明细列表 | | +| offset | str | 偏移量 | 供下次请求使用
普通:`{列表最后的粉丝的 mtime}:{列表最后的粉丝的 mid}`
智能推荐算法:`rcmd` | +| re_version | num | (?) | | +| total | num | 粉丝总数 | | + +`data`中的`list`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ---------------------------------- | +| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | +| n | obj | 粉丝 (n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | + +**示例:** + +获取用户`mid=293793435`的粉丝明细 + +```shell +curl -G 'https://api.bilibili.com/x/relation/fans' \ + --data-urlencode 'vmid=293793435' \ + --data-urlencode 'ps=2' \ + --data-urlencode 'pn=1' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "mid": 289796932, + "attribute": 0, + "mtime": 1746199088, + "tag": null, + "special": 0, + "contract_info": { + + }, + "uname": "Astlinga_星灵", + "face": "https://i1.hdslb.com/bfs/face/005264524d05c0b8c132acc3ee88bb839351025b.jpg", + "sign": "", + "face_nft": 0, + "official_verify": { + "type": -1, + "desc": "" + }, + "vip": { + "vipType": 1, + "vipDueDate": 1734278400000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 0, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "", + "text": "", + "label_theme": "", + "text_color": "", + "bg_style": 0, + "bg_color": "", + "border_color": "" + }, + "avatar_subscript": 0, + "nickname_color": "", + "avatar_subscript_url": "" + }, + "name_render": { + + }, + "nft_icon": "", + "rec_reason": "", + "track_id": "", + "follow_time": "" + }, + { + "mid": 3494375621396821, + "attribute": 0, + "mtime": 1746098997, + "tag": null, + "special": 0, + "contract_info": { + + }, + "uname": "JSRCode", + "face": "https://i1.hdslb.com/bfs/face/f6c74700c72d27ae224c5311634b4a3770e3cdcf.jpg", + "sign": "一个喜欢码代码的高中牲", + "face_nft": 0, + "official_verify": { + "type": -1, + "desc": "" + }, + "vip": { + "vipType": 0, + "vipDueDate": 0, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 0, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "", + "text": "", + "label_theme": "", + "text_color": "", + "bg_style": 0, + "bg_color": "", + "border_color": "" + }, + "avatar_subscript": 0, + "nickname_color": "", + "avatar_subscript_url": "" + }, + "name_render": { + + }, + "nft_icon": "", + "rec_reason": "", + "track_id": "", + "follow_time": "" + } + ], + "offset": "1746098997:3494375621396821", + "re_version": 0, + "total": 3776 + } +} +``` + +
+ +### 查询用户粉丝明细(旧) + +> *请求方式:GET* @@ -124,10 +303,10 @@ ```shell curl -G 'https://api.bilibili.com/x/relation/followers' \ - --data-urlencode 'vmid=293793435' \ - --data-urlencode 'ps=2' \ - --data-urlencode 'pn=1' \ - -b 'SESSDATA=xxx' + --data-urlencode 'vmid=293793435' \ + --data-urlencode 'ps=2' \ + --data-urlencode 'pn=1' \ + -b 'SESSDATA=xxx' ```
@@ -135,64 +314,107 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [{ - "mid": 387195656, - "attribute": 0, - "mtime": 1583839793, - "tag": null, - "special": 0, - "uname": "L_E_M_O_H_E", - "face": "https://i1.hdslb.com/bfs/face/8ec537db75eeb292faa8dc85a9ff8aba83148c86.jpg", - "sign": "暂时断更。。Back later", - "official_verify": { - "type": -1, - "desc": "" - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 0, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }, { - "mid": 175989424, - "attribute": 0, - "mtime": 1583822019, - "tag": null, - "special": 0, - "uname": "哥本哈根iii", - "face": "https://i1.hdslb.com/bfs/face/e53c0fe9315176d48bd294b1f381f0da70131cd7.jpg", - "sign": "", - "official_verify": { - "type": -1, - "desc": "" - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 0, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }], - "re_version": 3857745402, - "total": 365 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "mid": 289796932, + "attribute": 0, + "mtime": 1746199088, + "tag": null, + "special": 0, + "contract_info": { + + }, + "uname": "Astlinga_星灵", + "face": "https://i1.hdslb.com/bfs/face/005264524d05c0b8c132acc3ee88bb839351025b.jpg", + "sign": "", + "face_nft": 0, + "official_verify": { + "type": -1, + "desc": "" + }, + "vip": { + "vipType": 1, + "vipDueDate": 1734278400000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 0, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "", + "text": "", + "label_theme": "", + "text_color": "", + "bg_style": 0, + "bg_color": "", + "border_color": "" + }, + "avatar_subscript": 0, + "nickname_color": "", + "avatar_subscript_url": "" + }, + "name_render": { + + }, + "nft_icon": "", + "rec_reason": "", + "track_id": "", + "follow_time": "" + }, + { + "mid": 3494375621396821, + "attribute": 0, + "mtime": 1746098997, + "tag": null, + "special": 0, + "contract_info": { + + }, + "uname": "JSRCode", + "face": "https://i1.hdslb.com/bfs/face/f6c74700c72d27ae224c5311634b4a3770e3cdcf.jpg", + "sign": "一个喜欢码代码的高中牲", + "face_nft": 0, + "official_verify": { + "type": -1, + "desc": "" + }, + "vip": { + "vipType": 0, + "vipDueDate": 0, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 0, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "", + "text": "", + "label_theme": "", + "text_color": "", + "bg_style": 0, + "bg_color": "", + "border_color": "" + }, + "avatar_subscript": 0, + "nickname_color": "", + "avatar_subscript_url": "" + }, + "name_render": { + + }, + "nft_icon": "", + "rec_reason": "", + "track_id": "", + "follow_time": "" + } + ], + "re_version": 0, + "total": 3776 + } } ``` @@ -200,7 +422,7 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \ ### 查询用户关注明细 -> https://api.bilibili.com/x/relation/followings +> *请求方式:GET* @@ -253,11 +475,11 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \ ```shell curl -G 'https://api.bilibili.com/x/relation/followings' \ - --data-urlencode 'vmid=293793435' \ - --data-urlencode 'order_type=' \ - --data-urlencode 'ps=2' \ - --data-urlencode 'pn=1' \ - -b 'SESSDATA=xxx' + --data-urlencode 'vmid=293793435' \ + --data-urlencode 'order_type=' \ + --data-urlencode 'ps=2' \ + --data-urlencode 'pn=1' \ + -b 'SESSDATA=xxx' ```
@@ -265,64 +487,82 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [{ - "mid": 14082, - "attribute": 2, - "mtime": 1584271945, - "tag": null, - "special": 0, - "uname": "山新", - "face": "https://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg", - "sign": "都说了是天依爹地,不是妈咪。\r私信有点多回复不过来~商业合作啥的请移步Weibo私信@山新 哦哦哦~", - "official_verify": { - "type": 0, - "desc": "配音演员、声优。洛天依声源提供者。" - }, - "vip": { - "vipType": 2, - "vipDueDate": 1601654400000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }, { - "mid": 420831218, - "attribute": 2, - "mtime": 1584208169, - "tag": [207542], - "special": 0, - "uname": "支付宝Alipay", - "face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg", - "sign": "阿支来了,关注点赞转发投币四连走起!", - "official_verify": { - "type": 1, - "desc": "支付宝官方账号" - }, - "vip": { - "vipType": 1, - "vipDueDate": 1585065600000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }], - "re_version": 3228575555, - "total": 699 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [{ + "mid": 14082, + "attribute": 2, + "mtime": 1584271945, + "tag": null, + "special": 0, + "contract_info": {}, + "uname": "山新", + "face": "https://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg", + "sign": "都说了是天依爹地,不是妈咪。\r私信有点多回复不过来~商业合作啥的请移步Weibo私信@山新 哦哦哦~", + "official_verify": { + "type": 0, + "desc": "配音演员、声优。洛天依声源提供者。" + }, + "vip": { + "vipType": 2, + "vipDueDate": 1601654400000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + }, + "avatar_subscript": 1, + "nickname_color": "#FB7299", + "avatar_subscript_url": "" + }, + "name_render": {}, + "nft_icon": "", + "rec_reason": "", + "track_id": "", + "follow_time": "" + }, { + "mid": 420831218, + "attribute": 2, + "mtime": 1584208169, + "tag": [207542], + "special": 0, + "contract_info": {}, + "uname": "支付宝Alipay", + "face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg", + "sign": "阿支来了,关注点赞转发投币四连走起!", + "official_verify": { + "type": 1, + "desc": "支付宝官方账号" + }, + "vip": { + "vipType": 1, + "vipDueDate": 1585065600000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + }, + "avatar_subscript": 1, + "nickname_color": "#FB7299", + "avatar_subscript_url": "" + }, + "name_render": {}, + "nft_icon": "", + "rec_reason": "", + "track_id": "", + "follow_time": "" + }], + "re_version": 0, + "total": 1028 + } } ``` @@ -330,7 +570,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \ ### 查询用户关注明细2 -> https://app.biliapi.net/x/v2/relation/followings +> *请求方式:GET* @@ -386,7 +626,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \ | sign | str | 用户签名 | | | official_verify | obj | 认证信息 | | | vip | obj | 会员信息 | | -| live | num | 是否直播 | 0:未直播
1:直播中 | +| live | num | 是否直播 | 0:未直播
1:直播中 | 数组`list`中的对象中的`tag`数组: @@ -428,9 +668,9 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \ ```shell curl -G 'https://app.biliapi.net/x/v2/relation/followings' \ - --data-urlencode 'vmid=293793435' \ - --data-urlencode 'ps=2' \ - --data-urlencode 'pn=1' \ + --data-urlencode 'vmid=293793435' \ + --data-urlencode 'ps=2' \ + --data-urlencode 'pn=1' \ ```
@@ -438,64 +678,66 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [{ - "mid": 14082, - "attribute": 2, - "mtime": 1584271945, - "tag": null, - "special": 0, - "uname": "山新", - "face": "https://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg", - "sign": "都说了是天依爹地,不是妈咪。\r私信有点多回复不过来~商业合作啥的请移步Weibo私信@山新 哦哦哦~", - "official_verify": { - "type": 0, - "desc": "配音演员、声优。洛天依声源提供者。" - }, - "vip": { - "vipType": 2, - "vipDueDate": 1601654400000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }, { - "mid": 420831218, - "attribute": 2, - "mtime": 1584208169, - "tag": [207542], - "special": 0, - "uname": "支付宝Alipay", - "face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg", - "sign": "阿支来了,关注点赞转发投币四连走起!", - "official_verify": { - "type": 1, - "desc": "支付宝官方账号" - }, - "vip": { - "vipType": 1, - "vipDueDate": 1585065600000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }], - "re_version": 3228575555, - "total": 699 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [{ + "mid": 14082, + "attribute": 2, + "mtime": 1584271945, + "tag": null, + "special": 0, + "uname": "山新", + "face": "https://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg", + "sign": "都说了是天依爹地,不是妈咪。\r私信有点多回复不过来~商业合作啥的请移步Weibo私信@山新 哦哦哦~", + "official_verify": { + "type": 0, + "desc": "配音演员、声优。洛天依声源提供者。" + }, + "vip": { + "vipType": 2, + "vipDueDate": 1601654400000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + }, + "live": 0 + }, { + "mid": 420831218, + "attribute": 2, + "mtime": 1584208169, + "tag": [207542], + "special": 0, + "uname": "支付宝Alipay", + "face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg", + "sign": "阿支来了,关注点赞转发投币四连走起!", + "official_verify": { + "type": 1, + "desc": "支付宝官方账号" + }, + "vip": { + "vipType": 1, + "vipDueDate": 1585065600000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + }, + "live": 0 + }], + "re_version": 3228575555, + "total": 699 + } } ``` @@ -503,7 +745,7 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \ ### 查询用户关注明细3 -> https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/following_list +> *请求方式:GET* @@ -545,12 +787,20 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \ 数组`list`中的对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ---- | ----------- | --------------------------------------- | -| mid | str | 用户mid | | -| attribute | num | 关注属性 | 0:未关注
2:已关注
6:已互粉 | -| uname | str | 用户昵称 | | -| face | str | 用户头像url | | +| 字段 | 类型 | 内容 | 备注 | +| ----------------- | ---- | ------------------------------ | --------------------------------------- | +| mid | str | 用户mid | | +| attribute | num | 对方对于**目标用户**的关注属性 | 0:未关注
2:已关注
6:已互粉 | +| uname | str | 用户昵称 | | +| face | str | 用户头像url | | +| attention_display | obj | 用户认证信息 | | + +`attention_display`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ------------------------------------------------------------ | +| type | num | 是否认证 | 0:无
1:UP主专业认证
2:UP主认证
3:机构认证 | +| desc | str | 认证信息 | | **示例:** @@ -558,9 +808,9 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \ ```shell curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/following_list' \ ---data-urlencode 'vmid=293793435' \ ---data-urlencode 'ps=2' \ ---data-urlencode 'pn=1' + --data-urlencode 'vmid=293793435' \ + --data-urlencode 'ps=2' \ + --data-urlencode 'pn=1' ```
@@ -568,22 +818,24 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh ```json { - "code": 0, - "data": { - "list": [{ - "mid": "14082", - "attribute": 2, - "uname": "山新", - "face": "https://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg" - }, { - "mid": "420831218", - "attribute": 2, - "uname": "支付宝Alipay", - "face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg" - }] - }, - "ts": 1677410818395, - "request_id": "d9d541b9f2d24e21821e2d6d2d16c17d" + "code": 0, + "data": { + "list": [{ + "mid": "14082", + "attribute": 2, + "uname": "山新", + "face": "https://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg", + "attestation_display": { "type": 0, "desc": "" } + }, { + "mid": "420831218", + "attribute": 2, + "uname": "支付宝Alipay", + "face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg", + "attestation_display": { "type": 3, "desc": "bilibili机构认证:支付宝官方账号" } + }] + }, + "ts": 1677410818395, + "request_id": "d9d541b9f2d24e21821e2d6d2d16c17d" } ``` @@ -591,7 +843,7 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh ### 搜索关注明细 -> https://api.bilibili.com/x/relation/followings/search +> *请求方式:GET* @@ -616,7 +868,7 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh | ttl | num | 1 | | | data | obj | 信息本体 | | -data 对象: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | ---------- | ----- | -------- | ---- | @@ -638,11 +890,11 @@ data 对象: ```shell curl -G 'https://api.bilibili.com/x/relation/followings/search' \ - --data-urlencode 'vmid=293793435' \ - --data-urlencode 'name=warma' \ - --data-urlencode 'ps=2' \ - --data-urlencode 'pn=1' \ - -b 'SESSDATA=xxx' + --data-urlencode 'vmid=293793435' \ + --data-urlencode 'name=warma' \ + --data-urlencode 'ps=2' \ + --data-urlencode 'pn=1' \ + -b 'SESSDATA=xxx' ```
@@ -650,42 +902,42 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [ - { - "mid": 53456, - "attribute": 2, - "mtime": 1586415053, - "tag": [ - -10 - ], - "special": 1, - "uname": "Warma", - "face": "https://i2.hdslb.com/bfs/face/c1bbee6d255f1e7fc434e9930f0f288c8b24293a.jpg", - "sign": "我是沃玛,做点傻开心的视频。日常发在微博:@_warma_ ", - "official_verify": { - "type": 0, - "desc": "bilibili 知名UP主" - }, - "vip": { - "vipType": 2, - "vipDueDate": 1637424000000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "mid": 53456, + "attribute": 2, + "mtime": 1586415053, + "tag": [ + -10 ], - "total": 1 - } + "special": 1, + "uname": "Warma", + "face": "https://i2.hdslb.com/bfs/face/c1bbee6d255f1e7fc434e9930f0f288c8b24293a.jpg", + "sign": "我是沃玛,做点傻开心的视频。日常发在微博:@_warma_ ", + "official_verify": { + "type": 0, + "desc": "bilibili 知名UP主" + }, + "vip": { + "vipType": 2, + "vipDueDate": 1637424000000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + } + } + ], + "total": 1 + } } ``` @@ -693,7 +945,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \ ### 查询共同关注明细 -> https://api.bilibili.com/x/relation/same/followings +> *请求方式:GET* @@ -719,7 +971,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \ | ttl | num | 1 | | | data | obj | 信息本体 | | -data 对象: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | ---------- | ----- | -------- | ---- | @@ -741,10 +993,10 @@ data 对象: ```shell curl -G 'https://api.bilibili.com/x/relation/same/followings' \ ---data-urlencode 'vmid=2' \ ---data-urlencode 'ps=2' \ ---data-urlencode 'pn=1' \ --b 'SESSDATA=xxx' + --data-urlencode 'vmid=2' \ + --data-urlencode 'ps=2' \ + --data-urlencode 'pn=1' \ + -b 'SESSDATA=xxx' ```
@@ -752,69 +1004,69 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [ - { - "mid": 116683, - "attribute": 2, - "mtime": 1564627532, - "tag": null, - "special": 0, - "uname": "=咬人猫=", - "face": "https://i0.hdslb.com/bfs/face/8fad84a4470f3d894d8f0dc95555ab8f2cb10a83.jpg", - "sign": "面瘫女仆酱~小粗腿~事业线什么的!!吐槽你就输了!喵~", - "official_verify": { - "type": 0, - "desc": "bilibili 2019百大UP主、高能联盟成员" - }, - "vip": { - "vipType": 2, - "vipDueDate": 1618934400000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }, - { - "mid": 517717593, - "attribute": 2, - "mtime": 1592126052, - "tag": [ - 207542 - ], - "special": 0, - "uname": "上海爱丽丝幻乐团", - "face": "https://i0.hdslb.com/bfs/face/851a9191cbe93e66304d7577c0f6f83834e52109.jpg", - "sign": "日本同人社团 上海爱丽丝幻乐团", - "official_verify": { - "type": 0, - "desc": "上海爱丽丝幻乐团官方账号" - }, - "vip": { - "vipType": 1, - "vipDueDate": 1593792000000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 0, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "mid": 116683, + "attribute": 2, + "mtime": 1564627532, + "tag": null, + "special": 0, + "uname": "=咬人猫=", + "face": "https://i0.hdslb.com/bfs/face/8fad84a4470f3d894d8f0dc95555ab8f2cb10a83.jpg", + "sign": "面瘫女仆酱~小粗腿~事业线什么的!!吐槽你就输了!喵~", + "official_verify": { + "type": 0, + "desc": "bilibili 2019百大UP主、高能联盟成员" + }, + "vip": { + "vipType": 2, + "vipDueDate": 1618934400000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + } + }, + { + "mid": 517717593, + "attribute": 2, + "mtime": 1592126052, + "tag": [ + 207542 ], - "re_version": 2498273968, - "total": 38 - } + "special": 0, + "uname": "上海爱丽丝幻乐团", + "face": "https://i0.hdslb.com/bfs/face/851a9191cbe93e66304d7577c0f6f83834e52109.jpg", + "sign": "日本同人社团 上海爱丽丝幻乐团", + "official_verify": { + "type": 0, + "desc": "上海爱丽丝幻乐团官方账号" + }, + "vip": { + "vipType": 1, + "vipDueDate": 1593792000000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 0, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + } + } + ], + "re_version": 2498273968, + "total": 38 + } } ``` @@ -822,7 +1074,7 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \ ### 查询悄悄关注明细 -> https://api.bilibili.com/x/relation/whispers +> *请求方式:GET* @@ -845,7 +1097,7 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \ | ttl | num | 1 | | | data | obj | 信息本体 | | -data 对象: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | ---------- | ----- | -------- | ---- | @@ -864,7 +1116,7 @@ data 对象: ```shell curl -G 'https://api.bilibili.com/x/relation/whispers' \ - -b 'SESSDATA=xxx' + -b 'SESSDATA=xxx' ```
@@ -872,47 +1124,48 @@ curl -G 'https://api.bilibili.com/x/relation/whispers' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [ - { - "mid": 178429408, - "attribute": 1, - "mtime": 1605972105, - "tag": null, - "special": 0, - "uname": "老弟一号", - "face": "https://i2.hdslb.com/bfs/face/21426275f3d3149b96b88783275205ba574c09e3.jpg", - "sign": "萌新硬件玩家,前垃圾佬~(◦˙▽˙◦某宝店 老弟一号 粉丝群679540094商务合作V13869651328", - "official_verify": { - "type": 0, - "desc": "知识领域优质UP主" - }, - "vip": { - "vipType": 2, - "vipDueDate": 1632499200000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - } - ], - "re_version": 2137574562 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "mid": 178429408, + "attribute": 1, + "mtime": 1605972105, + "tag": null, + "special": 0, + "uname": "老弟一号", + "face": "https://i2.hdslb.com/bfs/face/21426275f3d3149b96b88783275205ba574c09e3.jpg", + "sign": "萌新硬件玩家,前垃圾佬~(◦˙▽˙◦某宝店 老弟一号 粉丝群679540094商务合作V13869651328", + "official_verify": { + "type": 0, + "desc": "知识领域优质UP主" + }, + "vip": { + "vipType": 2, + "vipDueDate": 1632499200000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + } + } + ], + "re_version": 2137574562 + } } ``` +
### 查询互相关注明细 -> https://api.bilibili.com/x/relation/friends +> *请求方式:GET* @@ -937,7 +1190,7 @@ curl -G 'https://api.bilibili.com/x/relation/whispers' \ | ttl | num | 1 | | | data | obj | 信息本体 | | -data 对象: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | ---------- | ----- | -------- | ---- | @@ -956,183 +1209,183 @@ data 对象: ```shell curl -G 'https://api.bilibili.com/x/relation/friends' \ - -b 'SESSDATA=xxx' + -b 'SESSDATA=xxx' ```
查看响应示例: -```json +```jsonc { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [ - { - "mid": 596000, - "attribute": 6, - "mtime": 1685110154, - "tag": null, - "special": 0, - "uname": "椛椛在睡觉", - "face": "https://i2.hdslb.com/bfs/face/365c1ef3b2a3afe21d6832796338fad5119b2592.jpg", - "sign": "欢迎来找椛椛玩~ https://blogs.momiji-jin.com/", - "face_nft": 0, - "official_verify": { - "type": -1, - "desc": "" - }, - "vip": { - "vipType": 2, - "vipDueDate": 1702742400000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "avatar_subscript_url": "" - }, - "nft_icon": "", - "rec_reason": "", - "track_id": "" - }, - { - "mid": 24022863, - "attribute": 6, - "mtime": 1685026230, - "tag": [ - -10 - ], - "special": 1, - "uname": "黄禄轩电脑专用账号", - "face": "https://i0.hdslb.com/bfs/face/a70ec7d2a3822980a915ef4b30371af0cbc79132.jpg", - "sign": "若要私信,请私信「黄禄轩手机专用账号」http://space.bilibili.com/17640193/,群:410311648", - "face_nft": 0, - "official_verify": { - "type": -1, - "desc": "" - }, - "vip": { - "vipType": 2, - "vipDueDate": 1686412800000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "avatar_subscript_url": "" - }, - "nft_icon": "", - "rec_reason": "", - "track_id": "" - }, - { - "mid": 85438718, - "attribute": 6, - "mtime": 1684759843, - "tag": [ - 194110 - ], - "special": 0, - "uname": "忘忧北萱草Official", - "face": "https://i2.hdslb.com/bfs/face/68d8cba01aab907dbb2cf2e17074f20947156237.jpg", - "sign": "现已加入 OrangeFire 豪华套餐!", - "face_nft": 0, - "official_verify": { - "type": -1, - "desc": "" - }, - "vip": { - "vipType": 2, - "vipDueDate": 1691683200000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "", - "text": "年度大会员", - "label_theme": "annual_vip", - "text_color": "#FFFFFF", - "bg_style": 1, - "bg_color": "#FB7299", - "border_color": "" - }, - "avatar_subscript": 1, - "nickname_color": "#FB7299", - "avatar_subscript_url": "" - }, - "nft_icon": "", - "rec_reason": "", - "track_id": "" - }, - { - "mid": 41620134, - "attribute": 6, - "mtime": 1684759649, - "tag": null, - "special": 0, - "uname": "Tiggy_Chan", - "face": "https://i0.hdslb.com/bfs/face/8c8d9f43eda207f8cb8503bfdf6cc3802a1cd6c1.jpg", - "sign": "此号只发科技类视频,娱乐类转至:虎子酱233", - "face_nft": 0, - "official_verify": { - "type": -1, - "desc": "" - }, - "vip": { - "vipType": 1, - "vipDueDate": 1669219200000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 0, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "", - "text": "", - "label_theme": "", - "text_color": "", - "bg_style": 0, - "bg_color": "", - "border_color": "" - }, - "avatar_subscript": 0, - "nickname_color": "", - "avatar_subscript_url": "" - }, - "nft_icon": "", - "rec_reason": "", - "track_id": "" - }, - …… + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "mid": 596000, + "attribute": 6, + "mtime": 1685110154, + "tag": null, + "special": 0, + "uname": "椛椛在睡觉", + "face": "https://i2.hdslb.com/bfs/face/365c1ef3b2a3afe21d6832796338fad5119b2592.jpg", + "sign": "欢迎来找椛椛玩~ https://blogs.momiji-jin.com/", + "face_nft": 0, + "official_verify": { + "type": -1, + "desc": "" + }, + "vip": { + "vipType": 2, + "vipDueDate": 1702742400000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "", + "text": "年度大会员", + "label_theme": "annual_vip", + "text_color": "#FFFFFF", + "bg_style": 1, + "bg_color": "#FB7299", + "border_color": "" + }, + "avatar_subscript": 1, + "nickname_color": "#FB7299", + "avatar_subscript_url": "" + }, + "nft_icon": "", + "rec_reason": "", + "track_id": "" + }, + { + "mid": 24022863, + "attribute": 6, + "mtime": 1685026230, + "tag": [ + -10 ], - "re_version": 0 - } + "special": 1, + "uname": "黄禄轩电脑专用账号", + "face": "https://i0.hdslb.com/bfs/face/a70ec7d2a3822980a915ef4b30371af0cbc79132.jpg", + "sign": "若要私信,请私信「黄禄轩手机专用账号」http://space.bilibili.com/17640193/,群:410311648", + "face_nft": 0, + "official_verify": { + "type": -1, + "desc": "" + }, + "vip": { + "vipType": 2, + "vipDueDate": 1686412800000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "", + "text": "年度大会员", + "label_theme": "annual_vip", + "text_color": "#FFFFFF", + "bg_style": 1, + "bg_color": "#FB7299", + "border_color": "" + }, + "avatar_subscript": 1, + "nickname_color": "#FB7299", + "avatar_subscript_url": "" + }, + "nft_icon": "", + "rec_reason": "", + "track_id": "" + }, + { + "mid": 85438718, + "attribute": 6, + "mtime": 1684759843, + "tag": [ + 194110 + ], + "special": 0, + "uname": "忘忧北萱草Official", + "face": "https://i2.hdslb.com/bfs/face/68d8cba01aab907dbb2cf2e17074f20947156237.jpg", + "sign": "现已加入 OrangeFire 豪华套餐!", + "face_nft": 0, + "official_verify": { + "type": -1, + "desc": "" + }, + "vip": { + "vipType": 2, + "vipDueDate": 1691683200000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "", + "text": "年度大会员", + "label_theme": "annual_vip", + "text_color": "#FFFFFF", + "bg_style": 1, + "bg_color": "#FB7299", + "border_color": "" + }, + "avatar_subscript": 1, + "nickname_color": "#FB7299", + "avatar_subscript_url": "" + }, + "nft_icon": "", + "rec_reason": "", + "track_id": "" + }, + { + "mid": 41620134, + "attribute": 6, + "mtime": 1684759649, + "tag": null, + "special": 0, + "uname": "Tiggy_Chan", + "face": "https://i0.hdslb.com/bfs/face/8c8d9f43eda207f8cb8503bfdf6cc3802a1cd6c1.jpg", + "sign": "此号只发科技类视频,娱乐类转至:虎子酱233", + "face_nft": 0, + "official_verify": { + "type": -1, + "desc": "" + }, + "vip": { + "vipType": 1, + "vipDueDate": 1669219200000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 0, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "", + "text": "", + "label_theme": "", + "text_color": "", + "bg_style": 0, + "bg_color": "", + "border_color": "" + }, + "avatar_subscript": 0, + "nickname_color": "", + "avatar_subscript_url": "" + }, + "nft_icon": "", + "rec_reason": "", + "track_id": "" + }, + // …… + ], + "re_version": 0 + } } ``` @@ -1140,7 +1393,7 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \ ### 查询黑名单明细 -> https://api.bilibili.com/x/relation/blacks +> *请求方式:GET* @@ -1165,7 +1418,7 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \ | ttl | num | 1 | | | data | obj | 信息本体 | | -data 对象: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | ---------- | ----- | ------------ | ---- | @@ -1187,9 +1440,9 @@ data 对象: ```shell curl -G 'https://api.bilibili.com/x/relation/blacks' \ - --data-urlencode 'ps=2' \ - --data-urlencode 'pn=1' \ - -b 'SESSDATA=xxx' + --data-urlencode 'ps=2' \ + --data-urlencode 'pn=1' \ + -b 'SESSDATA=xxx' ```
@@ -1197,67 +1450,67 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": [ - { - "mid": 22179720, - "attribute": 128, - "mtime": 1603032789, - "tag": null, - "special": 0, - "uname": "咩2016", - "face": "https://i0.hdslb.com/bfs/face/41fe435a7e62eae605a5908652f32f3afff2ae74.jpg", - "sign": "", - "official_verify": { - "type": 0, - "desc": "" - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 0, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }, - { - "mid": 16174624, - "attribute": 128, - "mtime": 1603026420, - "tag": null, - "special": 0, - "uname": "其实死亡没有那么痛", - "face": "https://i2.hdslb.com/bfs/face/79257f5a2e7194a71337ccca5927afba7706d316.jpg", - "sign": "等我,我马上就来", - "official_verify": { - "type": 0, - "desc": "" - }, - "vip": { - "vipType": 0, - "vipDueDate": 0, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 0, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - } - ], - "re_version": 897205356, - "total": 2 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "mid": 22179720, + "attribute": 128, + "mtime": 1603032789, + "tag": null, + "special": 0, + "uname": "咩2016", + "face": "https://i0.hdslb.com/bfs/face/41fe435a7e62eae605a5908652f32f3afff2ae74.jpg", + "sign": "", + "official_verify": { + "type": 0, + "desc": "" + }, + "vip": { + "vipType": 0, + "vipDueDate": 0, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 0, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + } + }, + { + "mid": 16174624, + "attribute": 128, + "mtime": 1603026420, + "tag": null, + "special": 0, + "uname": "其实死亡没有那么痛", + "face": "https://i2.hdslb.com/bfs/face/79257f5a2e7194a71337ccca5927afba7706d316.jpg", + "sign": "等我,我马上就来", + "official_verify": { + "type": 0, + "desc": "" + }, + "vip": { + "vipType": 0, + "vipDueDate": 0, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 0, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + } + } + ], + "re_version": 897205356, + "total": 2 + } } ``` @@ -1269,7 +1522,7 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \ ### 操作用户关系 -> https://api.bilibili.com/x/relation/modify +> *请求方式:POST* @@ -1313,11 +1566,11 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \ ```shell curl 'https://api.bilibili.com/x/relation/modify' \ - --data-urlencode 'fid=14082' \ - --data-urlencode 'act=1' \ - --data-urlencode 're_src=11' \ - --data-urlencode 'csrf=xxx' \ - -b 'SESSDATA=xxx' + --data-urlencode 'fid=14082' \ + --data-urlencode 'act=1' \ + --data-urlencode 're_src=11' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -1325,9 +1578,9 @@ curl 'https://api.bilibili.com/x/relation/modify' \ ```json { - "code": 0, - "message": "0", - "ttl": 1 + "code": 0, + "message": "0", + "ttl": 1 } ``` @@ -1335,7 +1588,7 @@ curl 'https://api.bilibili.com/x/relation/modify' \ ### 批量操作用户关系 -> https://api.bilibili.com/x/relation/batch/modify +> *请求方式:POST* @@ -1384,11 +1637,11 @@ curl 'https://api.bilibili.com/x/relation/modify' \ ```shell curl 'https://api.bilibili.com/x/relation/batch/modify' \ - --data-urlencode 'fid=1,2,3,4,5' \ - --data-urlencode 'act=1' \ - --data-urlencode 're_src=11' \ - --data-urlencode 'csrf=xxx' \ - -b 'SESSDATA=xxx' + --data-urlencode 'fid=1,2,3,4,5' \ + --data-urlencode 'act=1' \ + --data-urlencode 're_src=11' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -1396,12 +1649,12 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "failed_fids": [] - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "failed_fids": [] + } } ``` @@ -1429,7 +1682,7 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \ ### 查询用户与自己关系(仅关注) -> https://api.bilibili.com/x/relation +> *请求方式:GET* @@ -1459,8 +1712,8 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \ ```shell curl -G 'https://api.bilibili.com/x/relation' \ - --data-urlencode 'fid=258150656' \ - -b 'SESSDATA=xxx' + --data-urlencode 'fid=258150656' \ + -b 'SESSDATA=xxx' ```
@@ -1468,16 +1721,16 @@ curl -G 'https://api.bilibili.com/x/relation' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "mid": 258150656, - "attribute": 2, - "mtime": 1540659101, - "tag": [-10], - "special": 1 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "mid": 258150656, + "attribute": 2, + "mtime": 1540659101, + "tag": [-10], + "special": 1 + } } ``` @@ -1485,9 +1738,9 @@ curl -G 'https://api.bilibili.com/x/relation' \ ### 查询用户与自己关系(互相关系) -> 接口1:https://api.bilibili.com/x/space/wbi/acc/relation +> 接口1: -> 接口2:https://api.bilibili.com/x/web-interface/relation +> 接口2: *请求方式:GET* @@ -1495,7 +1748,7 @@ curl -G 'https://api.bilibili.com/x/relation' \ 鉴权方式(仅接口1):[Wbi 签名](../misc/sign/wbi.md) -~~该接口的旧版 API :https://api.bilibili.com/x/space/acc/relation~~(已废弃,不建议使用) +~~该接口的旧版 API :~~(已废弃,不建议使用) **url参数:** @@ -1532,10 +1785,10 @@ Wbi 签名的 `wts`、`w_rid`生成方式详见 [Wbi 签名](../misc/sign/wbi.md ```shell curl -G 'https://api.bilibili.com/x/space/acc/relation' \ - --data-urlencode 'mid=15858903' \ - --data-urlencode 'wts=1686015899' \ - --data-urlencode 'w_rid=e10a3c566c9be80a7cebe7bcdf262588' \ - -b 'SESSDATA=xxx' + --data-urlencode 'mid=15858903' \ + --data-urlencode 'wts=1686015899' \ + --data-urlencode 'w_rid=e10a3c566c9be80a7cebe7bcdf262588' \ + -b 'SESSDATA=xxx' ```
@@ -1543,32 +1796,32 @@ curl -G 'https://api.bilibili.com/x/space/acc/relation' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "relation": { - "mid": 15858903, - "attribute": 6, - "mtime": 1548311059, - "tag": [ - -10, - 194110, - 248468 - ], - "special": 1 - }, - "be_relation": { - "mid": 293793435, - "attribute": 6, - "mtime": 1548311059, - "tag": [ - 56502, - -10 - ], - "special": 1 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "relation": { + "mid": 15858903, + "attribute": 6, + "mtime": 1548311059, + "tag": [ + -10, + 194110, + 248468 + ], + "special": 1 + }, + "be_relation": { + "mid": 293793435, + "attribute": 6, + "mtime": 1548311059, + "tag": [ + 56502, + -10 + ], + "special": 1 } + } } ``` @@ -1576,7 +1829,7 @@ curl -G 'https://api.bilibili.com/x/space/acc/relation' \ ### 批量查询用户与自己关系 -> https://api.bilibili.com/x/relation/relations +> *请求方式:GET* @@ -1584,10 +1837,10 @@ curl -G 'https://api.bilibili.com/x/space/acc/relation' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------ | ----------- | ------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| fids | nums | 目标用户 mid | 必要 | 每个之间用`,`间隔 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ------------ | ----------------------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| fids | nums | 目标用户 mid | 必要 | 每个之间用`,`间隔,无成员限制 | **json回复:** @@ -1613,8 +1866,8 @@ curl -G 'https://api.bilibili.com/x/space/acc/relation' \ ```shell curl -G 'https://api.bilibili.com/x/relation/relations' \ ---data-urlencode 'fid=258150656' \ --b 'SESSDATA=xxx' + --data-urlencode 'fid=258150656' \ + -b 'SESSDATA=xxx' ```
@@ -1622,25 +1875,25 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "1": { - "mid": 1, - "attribute": 2, - "mtime": 1601654227, - "tag": null, - "special": 0 - }, - "2": { - "mid": 2, - "attribute": 2, - "mtime": 1601654225, - "tag": null, - "special": 0 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "1": { + "mid": 1, + "attribute": 2, + "mtime": 1601654227, + "tag": null, + "special": 0 + }, + "2": { + "mid": 2, + "attribute": 2, + "mtime": 1601654225, + "tag": null, + "special": 0 } + } } ``` @@ -1657,7 +1910,7 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \ ### 查询关注分组列表 -> https://api.bilibili.com/x/relation/tags +> *请求方式:GET* @@ -1703,44 +1956,44 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \ ```shell curl 'https://api.bilibili.com/x/relation/tags' \ - -b 'SESSDATA=xxx' + -b 'SESSDATA=xxx' ```
查看响应示例: -```json +```jsonc { - "code": 0, - "message": "0", - "ttl": 1, - "data": [ - { - "tagid": -10, - "name": "特别关注", - "count": 19, - "tip": "第一时间收到该分组下用户更新稿件的通知" - }, - { - "tagid": 0, - "name": "默认分组", - "count": 340, - "tip": "" - }, - { - "tagid": 194110, - "name": "基友们", - "count": 127, - "tip": "" - }, - { - "tagid": 194111, - "name": "我的同学", - "count": 22, - "tip": "" - }, - ………… - ] + "code": 0, + "message": "0", + "ttl": 1, + "data": [ + { + "tagid": -10, + "name": "特别关注", + "count": 19, + "tip": "第一时间收到该分组下用户更新稿件的通知" + }, + { + "tagid": 0, + "name": "默认分组", + "count": 340, + "tip": "" + }, + { + "tagid": 194110, + "name": "基友们", + "count": 127, + "tip": "" + }, + { + "tagid": 194111, + "name": "我的同学", + "count": 22, + "tip": "" + }, + // …… + ] } ``` @@ -1748,7 +2001,7 @@ curl 'https://api.bilibili.com/x/relation/tags' \ ### 查询关注分组明细 -> https://api.bilibili.com/x/relation/tag +> *请求方式:GET* @@ -1770,54 +2023,77 @@ curl 'https://api.bilibili.com/x/relation/tags' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ------ | -------- | ------------------------------------------------------------ | -| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
22104:该分组不存在 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | ------------------------------------------------------------ | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
22104:该分组不存在 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | | data | array | 成员列表 | | `data`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | -------------------------------- | -| 0 | obj | 成员信息 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 成员信息(n+1) | 按照添加顺序排序 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | --------------- | --------------------------------------- | +| 0 | obj | 成员信息 1 | 与[关系列表对象](#关系列表对象)**不同** | +| n | obj | 成员信息(n+1) | 按照添加顺序排序 | +| …… | obj | …… | …… | -`data` 中的对象: +`data` 数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ---- | ----------- | -------------- | -| mid | num | 用户id | | -| attribute | num | 0 | | -| tag | null | null | | -| special | num | 0 | | -| contract_info | json | 空的 | | -| uname | str | 用户名 | | -| face | str | 头像地址 | | -| sign | str | 个人简介 | | -| face_nft | int | ntf头像 | | -| official_verify | json | 官方认证 | 具体见下 | -| vip | json | 大会员 | 参考大会员文档 | -| live | json | 直播状态 | 具体见下 | -| nft_icon | str | 显示nft角标 | | -| rec_reason | str | | | -| track_id | str | | | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | --------------- | -------------- | +| mid | num | 用户mid | | +| attribute | num | 关系属性 | 恒为 `0` | +| tag | null | 关注分组id | 恒为 `null` | +| special | num | 是否特别关注 | 恒为 `0` | +| contract_info | obj | 契约计划信息 | | +| uname | str | 用户昵称 | | +| face | str | 用户头像url | | +| sign | str | 用户签名 | | +| face_nft | num | 是否为 NFT 头像 | | +| official_verify | obj | 认证信息 | 具体见下 | +| vip | obj | 会员信息 | | +| live | obj | 直播状态 | 具体见下 | +| nft_icon | str | (?) | | +| rec_reason | str | (?) | | +| track_id | str | (?) | | +| follow_time | str | (?) | | -`data`对象中的`official_verify`: +`data`中的对象中的`official_verify`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ---- | -| type | num | 0 | | -| desc | str | 官方认证内容 | | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ------------------- | +| type | num | 用户认证类型 | -1:无
0:UP 主认证
1:机构认证 | +| desc | str | 用户认证信息 | 无为空 | -`data`对象中的`live`: +`data`中的对象中的`vip`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | -------- | -------------------- | -| live_status | num | 0或1 | 0:未开播,1:已直播 | -| jump_url | str | 直播链接 | +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | ------------ | ----------------------------------------------- | +| vipType | num | 会员类型 | 0:无
1:月度大会员
2:年度以上大会员 | +| vipDueDate | num | 会员到期时间 | 时间戳 毫秒 | +| dueRemark | str | (?) | | +| accessStatus | num | (?) | | +| vipStatus | num | 大会员状态 | 0:无
1:有 | +| vipStatusWarn | str | (?) | | +| themeType | num | (?) | | +| label | obj | (?) | | + +`data`数组中的对象中的`live`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | -------- | ------------------------ | +| live_status | num | 直播状态 | 0:未开播
1:已直播 | +| jump_url | str | 直播链接 | | + +`data`数组中的对象中的`contract_info`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | ------------------------------ | ----------------------------------------------------------- | +| is_contract | bool | 目标用户是否为对方的契约者 | 仅当为 `true` 时才有此项 | +| is_contractor | bool | 对方是否为目标用户的契约者 | 仅当为 `true` 时才有此项 | +| ts | num | 对方成为目标用户的契约者的时间 | 秒级时间戳,仅当 `is_contractor` 项的值为 `true` 时才有此项 | +| user_attr | num | 对方作为目标用户的契约者的属性 | 1:老粉
否则为原始粉丝
仅当有特殊属性时才有此项 | **示例:** @@ -1825,11 +2101,11 @@ curl 'https://api.bilibili.com/x/relation/tags' \ ```shell curl -G 'https://api.bilibili.com/x/relation/tag' \ - --data-urlencode 'tagid=207542' \ - --data-urlencode 'order_type=' \ - --data-urlencode 'ps=2' \ - --data-urlencode 'pn=1' \ - -b 'SESSDATA=xxx' + --data-urlencode 'tagid=207542' \ + --data-urlencode 'order_type=' \ + --data-urlencode 'ps=2' \ + --data-urlencode 'pn=1' \ + -b 'SESSDATA=xxx' ```
@@ -1837,60 +2113,60 @@ curl -G 'https://api.bilibili.com/x/relation/tag' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": [{ - "mid": 420831218, - "uname": "支付宝Alipay", - "face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg", - "sign": "阿支来了,关注点赞转发投币四连走起!", - "official_verify": { - "type": 1, - "desc": "支付宝官方账号" - }, - "vip": { - "vipType": 1, - "vipDueDate": 1585065600000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 1, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }, { - "mid": 125086406, - "uname": "MSI微星科技", - "face": "https://i1.hdslb.com/bfs/face/a844760e4e491677615b39399bc761e74c579bb4.jpg", - "sign": "你好,这里是微星显卡官方!专注显卡三十年,欢迎私信咨询或提问MSI", - "official_verify": { - "type": 1, - "desc": "微星科技官方账号" - }, - "vip": { - "vipType": 1, - "vipDueDate": 1540656000000, - "dueRemark": "", - "accessStatus": 0, - "vipStatus": 0, - "vipStatusWarn": "", - "themeType": 0, - "label": { - "path": "" - } - } - }] + "code": 0, + "message": "0", + "ttl": 1, + "data": [{ + "mid": 420831218, + "uname": "支付宝Alipay", + "face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg", + "sign": "阿支来了,关注点赞转发投币四连走起!", + "official_verify": { + "type": 1, + "desc": "支付宝官方账号" + }, + "vip": { + "vipType": 1, + "vipDueDate": 1585065600000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 1, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + } + }, { + "mid": 125086406, + "uname": "MSI微星科技", + "face": "https://i1.hdslb.com/bfs/face/a844760e4e491677615b39399bc761e74c579bb4.jpg", + "sign": "你好,这里是微星显卡官方!专注显卡三十年,欢迎私信咨询或提问MSI", + "official_verify": { + "type": 1, + "desc": "微星科技官方账号" + }, + "vip": { + "vipType": 1, + "vipDueDate": 1540656000000, + "dueRemark": "", + "accessStatus": 0, + "vipStatus": 0, + "vipStatusWarn": "", + "themeType": 0, + "label": { + "path": "" + } + } + }] } ```
-### 查询目标用户所在的分组 +### 查询目标用户所在的分组 -> https://api.bilibili.com/x/relation/tag/user +> *请求方式:GET* @@ -1927,8 +2203,8 @@ curl -G 'https://api.bilibili.com/x/relation/tag' \ ```shell curl -G 'https://api.bilibili.com/x/relation/tag/user' \ - --data-urlencode 'fid=319214221' \ - -b 'SESSDATA=xxx' + --data-urlencode 'fid=319214221' \ + -b 'SESSDATA=xxx' ```
@@ -1936,13 +2212,13 @@ curl -G 'https://api.bilibili.com/x/relation/tag/user' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "-10": "特别关注", - "194111": "我的同学" - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "-10": "特别关注", + "194111": "我的同学" + } } ``` @@ -1950,7 +2226,7 @@ curl -G 'https://api.bilibili.com/x/relation/tag/user' \ ### 查询所有特别关注 mid -> https://api.bilibili.com/x/relation/tag/special +> *请求方式:GET* @@ -1985,7 +2261,7 @@ curl -G 'https://api.bilibili.com/x/relation/tag/user' \ ```shell curl 'https://api.bilibili.com/x/relation/tag/special' \ - -b 'SESSDATA=xxx' + -b 'SESSDATA=xxx' ```
@@ -1993,29 +2269,29 @@ curl 'https://api.bilibili.com/x/relation/tag/special' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": [ - 500716647, - 32832243, - 53456, - 25944552, - 301839556, - 427494870, - 319214221, - 31949159, - 382666849, - 258318451, - 15858903, - 54992199, - 3379951, - 392279807, - 23215368, - 258150656, - 20165629, - 22179720 - ] + "code": 0, + "message": "0", + "ttl": 1, + "data": [ + 500716647, + 32832243, + 53456, + 25944552, + 301839556, + 427494870, + 319214221, + 31949159, + 382666849, + 258318451, + 15858903, + 54992199, + 3379951, + 392279807, + 23215368, + 258150656, + 20165629, + 22179720 + ] } ``` @@ -2025,7 +2301,7 @@ curl 'https://api.bilibili.com/x/relation/tag/special' \ -> https://api.bilibili.com/x/relation/tag/create +> *请求方式:POST* @@ -2062,9 +2338,9 @@ curl 'https://api.bilibili.com/x/relation/tag/special' \ ```shell curl 'https://api.bilibili.com/x/relation/tag/create' \ - --data-urlencode 'tag=测试' \ - --data-urlencode 'csrf=xxx' \ - -b 'SESSDATA=xxx' + --data-urlencode 'tag=测试' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -2072,12 +2348,12 @@ curl 'https://api.bilibili.com/x/relation/tag/create' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "tagid": 216677 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "tagid": 216677 + } } ``` @@ -2085,7 +2361,7 @@ curl 'https://api.bilibili.com/x/relation/tag/create' \ ### 重命名分组 -> https://api.bilibili.com/x/relation/tag/update +> *请求方式:POST* @@ -2116,10 +2392,10 @@ curl 'https://api.bilibili.com/x/relation/tag/create' \ ```shell curl 'https://api.bilibili.com/x/relation/tag/update' \ - --data-urlencode 'tagid=194112' \ - --data-urlencode 'name=膜法师' \ - --data-urlencode 'csrf=xxx' \ - -b 'SESSDATA=xxx' + --data-urlencode 'tagid=194112' \ + --data-urlencode 'name=膜法师' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -2127,9 +2403,9 @@ curl 'https://api.bilibili.com/x/relation/tag/update' \ ```json { - "code": 0, - "message": "0", - "ttl": 1 + "code": 0, + "message": "0", + "ttl": 1 } ``` @@ -2139,7 +2415,7 @@ curl 'https://api.bilibili.com/x/relation/tag/update' \ -> https://api.bilibili.com/x/relation/tag/del +> *请求方式:POST* @@ -2169,9 +2445,9 @@ curl 'https://api.bilibili.com/x/relation/tag/update' \ ```shell curl 'https://api.bilibili.com/x/relation/tag/del' \ - --data-urlencode 'tagid=216699' \ - --data-urlencode 'csrf=xxx' \ - -b 'SESSDATA=xxx' + --data-urlencode 'tagid=216699' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -2179,9 +2455,9 @@ curl 'https://api.bilibili.com/x/relation/tag/del' \ ```json { - "code": 0, - "message": "0", - "ttl": 1 + "code": 0, + "message": "0", + "ttl": 1 } ``` @@ -2191,7 +2467,7 @@ curl 'https://api.bilibili.com/x/relation/tag/del' \ -> https://api.bilibili.com/x/relation/tags/addUsers +> *请求方式:POST* @@ -2224,10 +2500,10 @@ curl 'https://api.bilibili.com/x/relation/tag/del' \ ```shell curl 'https://api.bilibili.com/x/relation/tags/addUsers' \ - --data-urlencode 'fids=205631797' \ - --data-urlencode 'tagids=-10,207542' \ - --data-urlencode 'csrf=xxx' \ - -b 'SESSDATA=xxx' + --data-urlencode 'fids=205631797' \ + --data-urlencode 'tagids=-10,207542' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -2235,9 +2511,9 @@ curl 'https://api.bilibili.com/x/relation/tags/addUsers' \ ```json { - "code": 0, - "message": "0", - "ttl": 1 + "code": 0, + "message": "0", + "ttl": 1 } ``` @@ -2245,7 +2521,7 @@ curl 'https://api.bilibili.com/x/relation/tags/addUsers' \ ### 复制关注到分组 -> https://api.bilibili.com/x/relation/tags/copyUsers +> *请求方式:POST* @@ -2276,10 +2552,10 @@ curl 'https://api.bilibili.com/x/relation/tags/addUsers' \ ```shell curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \ - --data-urlencode 'fids=4856007,326499679' \ - --data-urlencode 'tagids=231305' \ - --data-urlencode 'csrf=xxx' \ - -b 'SESSDATA=xxx' + --data-urlencode 'fids=4856007,326499679' \ + --data-urlencode 'tagids=231305' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -2287,9 +2563,9 @@ curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \ ```json { - "code":0, - "message":"0", - "ttl":1 + "code": 0, + "message": "0", + "ttl": 1 } ``` @@ -2297,7 +2573,7 @@ curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \ ### 移动关注到分组 -> https://api.bilibili.com/x/relation/tags/moveUsers +> *请求方式:POST* @@ -2329,11 +2605,11 @@ curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \ ```shell curl 'https://api.bilibili.com/x/relation/tags/moveUsers' \ - --data-urlencode 'beforeTagids=207542' \ - --data-urlencode 'afterTagids=23130' \ - --data-urlencode 'fids=321173469,327086920' \ - --data-urlencode 'csrf=xxx' \ - -b 'SESSDATA=xxx' + --data-urlencode 'beforeTagids=207542' \ + --data-urlencode 'afterTagids=23130' \ + --data-urlencode 'fids=321173469,327086920' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' ```
@@ -2341,9 +2617,9 @@ curl 'https://api.bilibili.com/x/relation/tags/moveUsers' \ ```json { - "code":0, - "message":"0", - "ttl":1 + "code": 0, + "message": "0", + "ttl": 1 } ``` From 4c8b0f9ddbf5e33015fe8de225c98b90fd4f5f73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 02:51:08 +0800 Subject: [PATCH 14/38] fix(relation): typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/user/relation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/user/relation.md b/docs/user/relation.md index 2ecb74b..83d6798 100644 --- a/docs/user/relation.md +++ b/docs/user/relation.md @@ -95,7 +95,7 @@ | ps | num | 每页项数 | 非必要 | 默认为 50 | | pn | num | 页码 | 非必要 | 默认为 1 | | offset | str | 偏移量 | 非必要 | 此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` | -| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时 `&.data.list[]` 中的 `rec_reason` 与 `track_id` 为非空 | +| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时 `$.data.list[]` 中的 `rec_reason` 与 `track_id` 为非空 | **json回复:** @@ -122,7 +122,7 @@ | 项 | 类型 | 内容 | 备注 | | ---- | ---- | ------------ | ---------------------------------- | | 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | -| n | obj | 粉丝 (n+1) | 按照添加顺序排列 | +| n | obj | 粉丝 (n+1) | | | …… | obj | …… | …… | **示例:** From e7ff12f04e11797079d815021f5fca1aae59eb4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 02:58:39 +0800 Subject: [PATCH 15/38] style(message): wrap URL with brackets & replace tabs with spaces --- docs/message/msg.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/message/msg.md b/docs/message/msg.md index ac7b47c..8e368db 100644 --- a/docs/message/msg.md +++ b/docs/message/msg.md @@ -2,9 +2,9 @@ ## 获取未读消息数 -> https://api.bilibili.com/x/msgfeed/unread +> -> https://api.vc.bilibili.com/x/im/web/msgfeed/unread (新接口) +> (新接口) *请求方式:GET* @@ -53,7 +53,7 @@ ```shell curl 'https://api.vc.bilibili.com/x/im/web/msgfeed/unread' \ --b 'SESSDATA=xxx' + -b 'SESSDATA=xxx' ```
@@ -61,23 +61,23 @@ curl 'https://api.vc.bilibili.com/x/im/web/msgfeed/unread' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "at": 3, - "chat": 0, - "coin": 0, - "danmu": 0, - "favorite": 0, - "like": 10, - "recv_like": 10, - "recv_reply": 4, - "reply": 4, - "sys_msg": 2, - "sys_msg_style": 1, - "up": 1 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "at": 3, + "chat": 0, + "coin": 0, + "danmu": 0, + "favorite": 0, + "like": 10, + "recv_like": 10, + "recv_reply": 4, + "reply": 4, + "sys_msg": 2, + "sys_msg_style": 1, + "up": 1 + } } ``` From 0ba4aef40ad7c1885cacdaeec0d736b0a131287d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 03:40:17 +0800 Subject: [PATCH 16/38] feat(message/settings): add get sys setting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- README.md | 2 +- docs/message/settings.md | 164 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 docs/message/settings.md diff --git a/README.md b/README.md index ae4f7ea..856e264 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [ ] [通知类消息](docs/message/msg.md) - [ ] [私信](docs/message/private_msg.md) - [ ] [私信消息类型、内容说明](docs/message/private_msg_content.md) - - [ ] 设置 + - [ ] [设置](docs/message/settings.md) - [ ] [用户](docs/user) - [x] [基本信息](docs/user/info.md) - [x] [状态数](docs/user/status_number.md) diff --git a/docs/message/settings.md b/docs/message/settings.md new file mode 100644 index 0000000..39e6079 --- /dev/null +++ b/docs/message/settings.md @@ -0,0 +1,164 @@ +# 消息设置 + +## 获取系统设置 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +此接口中的设置一般不能由用户随意更改 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | ---------------- | ------ | ------------------------- | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------------------------- | ---- | ---------------------------------------------------------------------------------------- | -------------------------- | +| is_create_group_available | num | 是否可创建粉丝团 | 粉丝数达到 1000 后开启 | +| is_auto_reply_available | num | 是否可使用自动回复功能 | 粉丝数达到 1000 后开启 | +| vc_hint_title | str | 稿件自动推送小灰条内容 | `我为什么会收到此类消息` | +| vc_hint_title_button | str | 稿件自动推送小灰条旁的按钮内容 | `了解更多` | +| vc_hint_detail | str | 稿件自动推送详细信息小灰条内容 | `您【特别关注】的UP主更新视频或专栏后,会第一时间在私信推送给您。如有需要可点击右上角设置关闭推送。` | +| vc_hint_detail_button | str | 关闭稿件自动推送按钮内容 | `关闭推送` | +| auto_reply_html | str | 自动回复H5页面url | `https://message.bilibili.com/h5/app/auto-reply` | +| is_receive_unfollow_wl | num | 是否显示限制接收未关注人消息功能 | | +| is_voyage | num | 是否在自动回复页面显示 “大航海自动回复” 按钮 | 仅部分用户开启 | +| is_auto_reply_recommend_available | num | 是否在自动回复中的 “被关注回复” 页面显示 “被关注后,向关注我的人推送我的往期作品” 复选框 | 仅部分用户开启 | +| is_discuss_style_im_page | num | (?) | **作用尚不明确** | +| discuss_unread_style_im_page | num | (?) | **作用尚不明确** | +| old_up_assistant_door | obj | 原 “UP主小助手” 入口相关信息 | | +| is_new_up_assistant_effective | num | 新 “UP主小助手” 是否启用 | | +| is_archive_gray | bool | 是否不显示 “私信存档” 按钮 | | +| session_cfg | obj | 特定私信会话配置信息 | | +| migrate_session_api | bool | (?) | **作用尚不明确** | +| game_msg | obj | (?) | **作用尚不明确**;仅当请求参数 `mobi_app` 不为 `web` 时有其中的项目 | +| auto_reply_msg_desc | str | 指示消息为自动回复消息的提示内容 | `此条消息为自动回复` | +| huahuo_group_icon_new | str | 浅色模式下的花火图标url | | +| huahuo_group_icon_dark_new | str | 深色模式下的花火图标url | | +| im_disabled_input_hint | str | 某UP主禁用私信功能时的提示内容 | `请到UP主空间发起咨询` | + +`data` 中的 `old_up_assistant_door` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---------------- | ---- | ---------------------------- | ------------ | +| show_old_up_door | num | 是否显示原 “UP主小助手” 入口 | 目前恒为 `0` | +| title | str | 原 “UP主小助手” 入口标题 | 目前为空文本 | +| sub_title | str | 原 “UP主小助手” 入口子标题 | 目前为空文本 | + +`data` 中的 `session_cfg` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | ---------------- | ---- | +| {用户mid} | obj | 该会话的配置信息 | | + +`session_cfg` 中的 `{用户mid}` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---------------- | ---- | -------------------- | ------------------- | +| hidden_emote_btn | bool | 是否隐藏表情按钮 | | +| hidden_pic_btn | bool | 是否隐藏发送图片按钮 | | +| max_height | num | 最大高度(?) | **作用尚不明确** | +| hint_text | str | 私信输入框的提示内容 | `你想问什么问题呢?` | +| hidden_top_hint | str | (?) | **作用尚不明确** | +| is_gpt_account | bool | 是否为AI会话 | | + +`data` 中的 `game_msg` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ---- | ---- | ------------------------------------------------------------- | +| show_install | bool | true | **作用尚不明确**;仅当请求参数 `mobi_app` 不为 `web` 时有此项 | + +**示例:** + +```shell +curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_sys_setting' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "is_create_group_available": 1, + "is_auto_reply_available": 1, + "vc_hint_title": "我为什么会收到此类消息", + "vc_hint_title_button": "了解更多", + "vc_hint_detail": "您【特别关注】的UP主更新视频或专栏后,会第一时间在私信推送给您。如有需要可点击右上角设置关闭推送。", + "vc_hint_detail_button": "关闭推送", + "auto_reply_html": "https://message.bilibili.com/h5/app/auto-reply", + "is_receive_unfollow_wl": 0, + "is_voyage": 1, + "is_auto_reply_recommend_available": 0, + "is_discuss_style_im_page": 0, + "discuss_unread_style_im_page": 0, + "old_up_assistant_door": { + "show_old_up_door": 0, + "title": "", + "sub_title": "" + }, + "is_new_up_assistant_effective": 1, + "is_archive_gray": true, + "session_cfg": { + "100000000000001": { + "hidden_emote_btn": true, + "hidden_pic_btn": true, + "max_height": 62, + "hint_text": "你想问什么问题呢?", + "hidden_top_hint": true, + "is_gpt_account": true + }, + "100000000000002": { + "hidden_emote_btn": true, + "hidden_pic_btn": true, + "max_height": 62, + "hint_text": "你想问什么问题呢?", + "hidden_top_hint": true, + "is_gpt_account": true + }, + "1400565964": { + "hidden_emote_btn": true, + "hidden_pic_btn": true, + "max_height": 62, + "hint_text": "你想问什么问题呢?", + "hidden_top_hint": true, + "is_gpt_account": true + } + }, + "migrate_session_api": false, + "game_msg": { + "show_install": true + }, + "auto_reply_msg_desc": "此条消息为自动回复", + "huahuo_group_icon_new": "http://i0.hdslb.com/bfs/kfptfe/floor/e2e3829e514ebccab1705636b0354ec89446a4b5.png", + "huahuo_group_icon_dark_new": "http://i0.hdslb.com/bfs/kfptfe/floor/d09bc8c0716a15938ec427db5fa962733703f3ce.png", + "im_disabled_input_hint": "请到UP主空间发起咨询" + } +} +``` + +
From 8150bb7be65797380f0fc1a59ac3b092192b4de2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 03:49:19 +0800 Subject: [PATCH 17/38] feat(message/settings): show create group icon --- docs/message/settings.md | 57 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/docs/message/settings.md b/docs/message/settings.md index 39e6079..b0cd82b 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -162,3 +162,60 @@ curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_sys_setting' ```
+ +## 是否显示创建粉丝团按钮 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | ---------------- | ------ | ------------------------- | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---------------------- | ---------------------- | +| show | num | 是否显示创建粉丝团按钮 | 粉丝数达到 1000 后显示 | + +**示例:** + +```shell +curl 'https://api.vc.bilibili.com/link_group/v1/member/show_create_group_icon' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "show": 1 + } +} +``` + +
From 5df6ad22be5773e2a2116508fd6fd7ed96623fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 04:24:58 +0800 Subject: [PATCH 18/38] feat(message/settings): add get user setting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/settings.md | 97 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/docs/message/settings.md b/docs/message/settings.md index b0cd82b..19aefc3 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -1,5 +1,102 @@ # 消息设置 +## 获取用户偏好设置 + +> + +*请求方式:GET 或 POST* + +认证方式:Cookie(SESSDATA) + +**url参数(GET)或 正文参数(application/x-www-form-urlencoded,POST):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------------- | ---- | -------------------------------- | ------------ | ------------------------- | +| msg_notify | num | 是否显示 “消息提醒” 设置 | 非必要 | 若此项为任意整数,则返回数据中有 `msg_notify` 项 | +| show_unfollowed_msg | num | 是否显示 “收起未关注人消息” 设置 | 非必要 | 若此项为任意整数,则返回数据中有 `show_unfollowed_msg` 项 | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | +| csrf_token | str | CSRF Token(位于cookie) | POST方式必要 | | +| csrf | str | CSRF Token(位于cookie) | POST方式必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------------ | ---- | -------------------- | --------------------------------------------------------------------------- | +| show_unfollowed_msg | num | 收起未关注人消息 | 请求参数 `show_unfollowed_msg` 为整数时显示此项
0:不收起
1:收起 | +| msg_notify | num | 消息提醒 | 请求参数 `msg_notify` 为整数时显示此项
1:接收
3:不接收 | +| set_like | num | 收到的赞提醒(旧) | 0:接收
5:不接收 | +| set_comment | num | 回复我的提醒(旧) | 0:所有人
1:关注的人
2:不接受任何消息提醒 | +| set_at | num | @ 我的提醒 (旧) | 0:所有人
1:关注的人
2:不接受任何消息提醒 | +| is_group_fold | num | 收起应援团消息 | 0:不收起
1:收起 | +| should_receive_group | num | 接收应援团消息 | 0:不接收
1:接收 | +| receive_unfollow_msg | num | 接收未关注人消息 | 前端隐藏此开关
0:不接收
1:接收 | +| followed_reply | num | 被关注回复 | 0:关闭
1:开启 | +| keys_reply | num | 关键词回复 | 0:关闭
1:开启 | +| recv_reply | num | 收到消息回复 | 0:关闭
1:开启 | +| voyage_reply | num | 大航海上船回复 | 0:关闭
1:开启 | +| recommend_followed_reply | num | 被关注时自动推送作品 | 0:关闭
1:开启 | +| ai_intercept | num | 私信智能拦截 | 0:关闭
1:开启 | +| anti_harassment | null | 防骚扰和互动人群设置 | 恒为 `null` | +| set_recv_reply | num | 收到回复提醒(新) | 0:所有人
1:关注的人
2:不接受任何消息提醒 | +| set_recv_like | num | 收到喜欢提醒(新) | 0:接收
2:不接收 | +| set_new_follow | num | 新增粉丝提醒(新) | 0:接收
2:不接收 | + +**示例:** + +```shell +curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get' \ + --data-urlencode 'msg_notify=1' \ + --data-urlencode 'show_unfollowed_msg=1' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "show_unfollowed_msg": 0, + "msg_notify": 1, + "set_like": 0, + "set_comment": 0, + "set_at": 0, + "is_group_fold": 0, + "should_receive_group": 1, + "receive_unfollow_msg": 1, + "followed_reply": 1, + "keys_reply": 0, + "recv_reply": 1, + "voyage_reply": 0, + "recommend_followed_reply": 1, + "ai_intercept": 1, + "anti_harassment": null, + "set_recv_reply": 0, + "set_recv_like": 0, + "set_new_follow": 0 + } +} +``` + +
+ ## 获取系统设置 > From 20ebf795b0bd9b7132881bd0d6a81a38980d270f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 04:58:04 +0800 Subject: [PATCH 19/38] style(private_msg): add session & message category --- docs/message/private_msg.md | 298 ++++++++++++++++++------------------ 1 file changed, 151 insertions(+), 147 deletions(-) diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index f13b4c6..4c571dc 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -93,7 +93,9 @@ | 18 | 系统提示 | 目前仅在 `msg_type` 为 `18` 时使用该代码,如:“对方主动回复或关注你前,最多发送1条消息” | | 19 | AI | 如:给[搜索AI助手测试版](https://space.bilibili.com/1400565964/)发送私信时对方的自动回复 | -## 获取未读私信数 +## 会话相关 + +### 获取未读私信数 > @@ -176,7 +178,7 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \
-## 获取指定类型会话列表 +### 获取指定类型会话列表 > @@ -407,7 +409,7 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/get_sessions' \
-## 获取新会话列表 +### 获取新会话列表 > @@ -620,7 +622,7 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/new_sessions' \
-## 获取会话详细信息 +### 获取会话详细信息 > @@ -720,7 +722,145 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/session_detail'
-## 查询私信消息记录 +### 获取会话限制状态 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +仅对用户会话调用本接口 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ----------- | ------ | ---- | +| uid | num | 聊天对象mid | 必要 | | +| type | num | 1 | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
2:非法参数
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 数据本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ---- | ------------------------ | ---------------------------- | +| is_limit | num | 用户是否被封禁 | | +| report_limit | num | 自己是否被限制举报该会话 | 常见于自己被封禁时出现该情况 | + +**示例:** + +获取`uid=123`的限制状态: + +```shell +curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/is_limit' \ + --data-urlencode 'uid=123' \ + --data-urlencode 'type=1' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "is_limit": 0, + "report_limit": 0 + } +} +``` + +
+ +### 获取会话推送设置 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +仅对用户会话调用本接口 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ---------------- | ------ | ------------- | +| talker_uid | num | 聊天对象mid | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
2:非法参数
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 数据本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----------------- | ---- | ---------------------- | ----------------------------------- | +| follow_status | num | 对方对于自己的关注属性 | 0:未关注
~~1:悄悄关注(现已下线)~~
2:已关注
6:已互粉
128:已拉黑 | +| special | num | 自己是否特别关注了对方 | | +| push_setting | num | 推送设置 | 0:接收推送
1:不接收推送 | +| show_push_setting | num | 是否显示推送设置 | | + +**示例:** + +获取`talker_uid=123`的推送设置: + +```shell +curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_session_ss' \ + --data-urlencode 'talker_uid=123' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "follow_status": 6, + "special": 1, + "push_setting": 0, + "show_push_setting": 1 + } +} +``` + +
+ +## 私信消息相关 + +### 查询私信消息记录 > @@ -869,143 +1009,7 @@ curl -G 'https://api.vc.bilibili.com/svr_sync/v1/svr_sync/fetch_session_msgs' \
-## 获取会话限制状态 - -> - -*请求方式:GET* - -认证方式:Cookie(SESSDATA) - -仅对用户会话调用本接口 - -**url参数:** - -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ----------- | ------ | ---- | -| uid | num | 聊天对象mid | 必要 | | -| type | num | 1 | 必要 | | - -**json回复:** - -根对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------- | -| code | num | 返回值 | 0:成功
2:非法参数
-101:账号未登录
-400:请求错误 | -| msg | str | 错误信息 | 默认为0 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 数据本体 | | - -`data`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------------ | ---- | ------------------------ | ---------------------------- | -| is_limit | num | 用户是否被封禁 | | -| report_limit | num | 自己是否被限制举报该会话 | 常见于自己被封禁时出现该情况 | - -**示例:** - -获取`uid=123`的限制状态: - -```shell -curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/is_limit' \ - --data-urlencode 'uid=123' \ - --data-urlencode 'type=1' \ - -b 'SESSDATA=xxx' -``` - -
-查看响应示例: - -```json -{ - "code": 0, - "msg": "0", - "message": "0", - "ttl": 1, - "data": { - "is_limit": 0, - "report_limit": 0 - } -} -``` - -
- -## 获取会话推送设置 - -> - -*请求方式:GET* - -认证方式:Cookie(SESSDATA) - -仅对用户会话调用本接口 - -**url参数:** - -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ---------------- | ------ | ------------- | -| talker_uid | num | 聊天对象mid | 必要 | | -| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | -| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | - -**json回复:** - -根对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------- | -| code | num | 返回值 | 0:成功
2:非法参数
-101:账号未登录
-400:请求错误 | -| msg | str | 错误信息 | 默认为0 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 数据本体 | | - -`data`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ----------------- | ---- | ---------------------- | ----------------------------------- | -| follow_status | num | 对方对于自己的关注属性 | 0:未关注
~~1:悄悄关注(现已下线)~~
2:已关注
6:已互粉
128:已拉黑 | -| special | num | 自己是否特别关注了对方 | | -| push_setting | num | 推送设置 | 0:接收推送
1:不接收推送 | -| show_push_setting | num | 是否显示推送设置 | | - -**示例:** - -获取`talker_uid=123`的推送设置: - -```shell -curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_session_ss' \ - --data-urlencode 'talker_uid=123' \ - --data-urlencode 'build=0' \ - --data-urlencode 'mobi_app=web' \ - -b 'SESSDATA=xxx' -``` - -
-查看响应示例: - -```json -{ - "code": 0, - "msg": "0", - "message": "0", - "ttl": 1, - "data": { - "follow_status": 6, - "special": 1, - "push_setting": 0, - "show_push_setting": 1 - } -} -``` - -
- -## 获取多个视频、番剧、专栏的信息 +### 获取多个视频、番剧、专栏的信息 > @@ -1178,7 +1182,7 @@ curl -G 'https://api.vc.bilibili.com/x/im/feed/infoweb' \
-## 设置私信为已读 +### 设置私信为已读 > @@ -1245,7 +1249,7 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/update_ack' \
-## 发送私信(web端) +### 发送私信(web端) > @@ -1296,7 +1300,7 @@ dev_id 实质上就是 UUID(版本 4)
查看生成 UUID 的代码 -### Python +#### Python ```python import uuid @@ -1304,7 +1308,7 @@ import uuid dev_id = str(uuid.uuid4()) ``` -### JavaScript +#### JavaScript 以下代码适用于较新版的 JS 引擎(Chrome≥92,Firefox≥95,Safari≥15.4,Node.js≥19.0.0): @@ -1321,7 +1325,7 @@ const dev_id = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (function })); ``` -### Java +#### Java ```java import java.util.UUID; From 11559a32916a5c88650e9e20f6ececfb6b7698d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 04:58:49 +0800 Subject: [PATCH 20/38] feat(message/settings): #1267 --- docs/message/settings.md | 76 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/docs/message/settings.md b/docs/message/settings.md index 19aefc3..6726186 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -97,6 +97,82 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get' \
+## 修改用户偏好设置 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +参数名称与值基本同「[获取用户偏好设置](#获取用户偏好设置)」中的 `data` 对象,修改设置时只需提供修改的设置对应的参数即可 + +开启自动回复功能需要 1000 粉丝及以上,否则会提示 700009 `权限不足` + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------------------ | ---- | ------------------------ | ------ | ----------------------------------------------------- | +| show_unfollowed_msg | num | 收起未关注人消息 | 非必要 | 0:不收起
1:收起 | +| msg_notify | num | 消息提醒 | 非必要 | 1:接收
3:不接收 | +| set_like | num | 收到的赞提醒 | 非必要 | 0:接收
5:不接收 | +| set_comment | num | 回复我的提醒 | 非必要 | 0:所有人
1:关注的人
2:不接受任何消息提醒 | +| set_at | num | @ 我的提醒 | 非必要 | 0:所有人
1:关注的人
2:不接受任何消息提醒 | +| is_group_fold | num | 收起应援团消息 | 非必要 | 0:不收起
1:收起 | +| should_receive_group | num | 接收应援团消息 | 非必要 | 0:不接收
1:接收 | +| receive_unfollow_msg | num | 接收未关注人消息 | 非必要 | 0:不接收
1:接收 | +| followed_reply | num | 被关注回复 | 非必要 | 需要有自动回复权限
0:关闭
1:开启 | +| keys_reply | num | 关键词回复 | 非必要 | 需要有自动回复权限
0:关闭
1:开启 | +| recv_reply | num | 收到消息回复 | 非必要 | 需要有自动回复权限
0:关闭
1:开启 | +| voyage_reply | num | 大航海上船回复 | 非必要 | 需要有自动回复权限
0:关闭
1:开启 | +| recommend_followed_reply | num | 被关注时自动推送作品 | 非必要 | 需要有自动回复权限
0:关闭
1:开启 | +| ai_intercept | num | 私信智能拦截 | 非必要 | 0:关闭
1:开启 | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | --------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
700009:权限不足 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | 空对象 | + +**示例:** + +开启接收消息提醒 + +```shell +curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set' \ + --data-urlencode 'msg_notify=1' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + --data-urlencode 'csrf_token=xxx' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ ## 获取系统设置 > From e07ef4cbde73454e62d7524cfa790c08a013fd8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 12:04:27 +0800 Subject: [PATCH 21/38] fix(message/settings): type error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/message/settings.md b/docs/message/settings.md index 6726186..a76b4a9 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -251,7 +251,7 @@ curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set' \ | hidden_pic_btn | bool | 是否隐藏发送图片按钮 | | | max_height | num | 最大高度(?) | **作用尚不明确** | | hint_text | str | 私信输入框的提示内容 | `你想问什么问题呢?` | -| hidden_top_hint | str | (?) | **作用尚不明确** | +| hidden_top_hint | bool | (?) | **作用尚不明确** | | is_gpt_account | bool | 是否为AI会话 | | `data` 中的 `game_msg` 对象: From 5d35126f812a6b51ec1eb1541b5eea58cbf7799d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 12:31:20 +0800 Subject: [PATCH 22/38] feat(message/settings): get auto reply text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/settings.md | 111 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/docs/message/settings.md b/docs/message/settings.md index a76b4a9..f00b10d 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -173,6 +173,117 @@ curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set' \
+## 获取自动回复文本 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | ---------------- | ------ | ---------------------------------------------------------------------------- | +| type\[\] | num | 自动回复类型 | 必要 | 1:被关注回复
2:关键词回复
3:收到消息回复
5:大航海上船回复 | +| uid | num | 自己的mid | 非必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
2:非法参数 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ----- | ------------ | -------------------------------------- | +| texts | array | 自动回复文本 | 若未设置此类型自动回复文本,则没有此项 | + +`data` 中的 `texts` 数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | --------- | -------------------------------- | +| 0 | obj | 文本1 | | +| n | obj | 文本(n+1) | 当类型为 “关键词回复” 时可有多项 | +| …… | obj | …… | …… | + +`texts` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | -------------- | -------------------------------------------------------------------------- | +| id | num | 自动回复规则id | | +| uid | num | 自己的mid | | +| type | num | 自动回复类型 | 同请求参数 `type[]` | +| title | str | 规则名称 | 当类型为 “关键词回复” 时有效,否则为空文本 | +| key1 | str | 精确匹配关键词 | 当类型为 “关键词回复” 时有效,否则为空文本
以中文逗号分隔每一个关键词 | +| key2 | str | 模糊匹配关键词 | 当类型为 “关键词回复” 时有效,否则为空文本
以中文逗号分隔每一个关键词 | +| reply | str | 回复内容 | | + +**示例:** + +获取关键词回复规则 + +```shell +curl -G 'https://api.vc.bilibili.com/x/im/auto_reply/get_reply_text' \ + --data-urlencode 'type[]=2' \ + --data-urlencode 'uid=425503913' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "texts": [ + { + "id": 201321, + "uid": 425503913, + "type": 2, + "title": "谢谢", + "key1": "谢谢,Thank you", + "key2": "感谢", + "reply": "我也感谢您对我的支持 (=・ω・=)" + }, + { + "id": 201320, + "uid": 425503913, + "type": 2, + "title": "哭2", + "key1": "哭", + "key2": "", + "reply": "我是不会哭的 (=・ω・=)" + }, + { + "id": 201318, + "uid": 425503913, + "type": 2, + "title": "哭", + "key1": "", + "key2": "哭", + "reply": "别哭了[tv_微笑]摸摸您 (^・ω・^)" + } + ] + } +} +``` + +
+ ## 获取系统设置 > From fecc790b9ee2dae90dd13e12198fccb1f209a48b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 13:13:56 +0800 Subject: [PATCH 23/38] feat(message/settings): set & delete auto reply text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/settings.md | 128 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 127 insertions(+), 1 deletion(-) diff --git a/docs/message/settings.md b/docs/message/settings.md index f00b10d..0d92f36 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -173,7 +173,7 @@ curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set' \
-## 获取自动回复文本 +## 获取自动回复文本/关键词回复规则 > @@ -284,6 +284,132 @@ curl -G 'https://api.vc.bilibili.com/x/im/auto_reply/get_reply_text' \
+## 修改自动回复文本/关键词回复规则 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +仅调用本接口不会开启或关闭自动回复功能,请使用 “[修改用户偏好设置](#修改用户偏好设置)” 接口 + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | ---------------------- | ---------------------------------------------------------------------------- | +| type | num | 自动回复类型 | 必要 | 1:被关注回复
2:关键词回复
3:收到消息回复
5:大航海上船回复 | +| reply | str | 回复内容 | 必要 | 最多 500 个字符 | +| id | str | 规则id | 非必要 | 当类型为 “关键词回复” 时有效
为 `0` 或为空时新增回复规则,否则修改 id 对应的回复规则 | +| title | str | 规则名称 | 关键词回复必要 | 当类型为 “关键词回复” 时有效,最多 30 个字符 | +| key1 | str | 精确匹配关键词 | 关键词回复必要(可选) | 当类型为 “关键词回复” 时有效,`key1` 与 `key2` 须至少填一个参数
以中文逗号分隔每一个关键词,最多 20 项 | +| key2 | str | 模糊匹配关键词 | 关键词回复必要(可选) | 当类型为 “关键词回复” 时有效,`key1` 与 `key2` 须至少填一个参数
以中文逗号分隔每一个关键词,最多 20 项 | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
27011:请求参数错误
1500001:自动回复内容太长 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | 空对象 | + +**示例:** + +修改关键词回复规则 `id=201321`,规则名称为 `谢谢`,精确匹配关键词为 `谢谢,Thank you,感谢`,回复内容为 `嗯嗯,不用谢[tv_微笑]` + +```shell +curl 'https://api.vc.bilibili.com/x/im/auto_reply/set_reply_text' \ + --data-urlencode 'type[]=2' \ + --data-urlencode 'reply=嗯嗯,不用谢[tv_微笑]' \ + --data-urlencode 'id=201321' \ + --data-urlencode 'title=谢谢' \ + --data-urlencode 'key1=谢谢,Thank you,感谢' \ + --data-urlencode 'key2=' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + --data-urlencode 'csrf_token=xxx' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ +## 删除关键词回复规则 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | ------ | ------------- | +| id | str | 规则id | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | --------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-500:服务器错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | 空对象 | + +**示例:** + +删除关键词回复规则 `id=201321` + +```shell +curl 'https://api.vc.bilibili.com/x/im/auto_reply/del_reply_text' \ + --data-urlencode 'id=201321' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + --data-urlencode 'csrf_token=xxx' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ ## 获取系统设置 > From 6e817b97e81f37a6eede251b8a51ddfe1e0e1a06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 13:31:37 +0800 Subject: [PATCH 24/38] feat(message/settings): get & add & del black words MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/settings.md | 199 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 199 insertions(+) diff --git a/docs/message/settings.md b/docs/message/settings.md index 0d92f36..3b2d12c 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -173,6 +173,205 @@ curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set' \
+## 获取消息屏蔽词 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | ---------------- | ------ | ------------- | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ------------------------------- | ------------------ | ---------------- | +| words | 有效时:array
无效时:null | 消息屏蔽词列表 | | +| message | str | (?) | **作用尚不明确** | +| max_word_length | num | 单个屏蔽词最大长度 | 目前为 `20` | +| max_words_size | num | 屏蔽词最大数量 | 目前为 `200` | + +`data` 中的 `words` 数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | ----------- | ---- | +| 0 | obj | 屏蔽词1 | | +| n | obj | 屏蔽词(n+1) | | +| …… | obj | …… | …… | + +`words` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------------- | ---------- | +| content | str | 屏蔽词内容 | | +| ctime | num | 屏蔽词添加时间 | 秒级时间戳 | + +**示例:** + +```shell +curl -G 'https://api.vc.bilibili.com/x/im/link_setting/get_block_words' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "words": [ + { + "content": "屏蔽词", + "ctime": 1746422088 + } + ], + "message": "", + "max_word_length": 20, + "max_words_size": 200 + } +} +``` + +
+ +## 添加消息屏蔽词 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | ------ | ------------- | +| content | str | 屏蔽词内容 | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
19004:添加失败,屏蔽词限制最多20个字 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | 空对象 | + +**示例:** + +```shell +curl 'https://api.vc.bilibili.com/x/im/link_setting/add_block_word' \ + --data-urlencode 'content=屏蔽词' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + --data-urlencode 'csrf_token=xxx' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ +## 删除消息屏蔽词 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | ------ | ------------- | +| content | str | 屏蔽词内容 | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | 空对象 | + +**示例:** + +```shell +curl 'https://api.vc.bilibili.com/x/im/link_setting/del_block_word' \ + --data-urlencode 'content=屏蔽词' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + --data-urlencode 'csrf_token=xxx' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ ## 获取自动回复文本/关键词回复规则 > From 4553e3dd1b4590fe0f727cc009ae830ac935f3f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Mon, 5 May 2025 19:40:38 +0800 Subject: [PATCH 25/38] style & fix: improve docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/login/login_notice.md | 12 ++++++------ docs/message/settings.md | 2 +- docs/video/player.md | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/login/login_notice.md b/docs/login/login_notice.md index 17a0761..720c0a2 100644 --- a/docs/login/login_notice.md +++ b/docs/login/login_notice.md @@ -2,7 +2,7 @@ ## 查询登录记录 -> https://api.bilibili.com/x/safecenter/login_notice +> *请求方式:GET* @@ -43,9 +43,9 @@ ```shell curl -G 'https://api.bilibili.com/x/safecenter/login_notice' \ ---data-urlencode 'mid=293793435' \ ---data-urlencode 'buvid=fuck_chenrui' \ --b 'SESSDATA=xxx' + --data-urlencode 'mid=293793435' \ + --data-urlencode 'buvid=fuck_chenrui' \ + -b 'SESSDATA=xxx' ```
@@ -71,7 +71,7 @@ curl -G 'https://api.bilibili.com/x/safecenter/login_notice' \ ## 最近一周的登录情况 -> https://api.bilibili.com/x/member/web/login/log +> *请求方式: GET* @@ -127,7 +127,7 @@ curl -G 'https://api.bilibili.com/x/safecenter/login_notice' \ ```shell curl -G "https://api.bilibili.com/x/member/web/login/log" \ --b "SESSDATA=xxx" + -b "SESSDATA=xxx" ```
diff --git a/docs/message/settings.md b/docs/message/settings.md index 3b2d12c..fb797a8 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -650,7 +650,7 @@ curl 'https://api.vc.bilibili.com/x/im/auto_reply/del_reply_text' \ | vc_hint_detail_button | str | 关闭稿件自动推送按钮内容 | `关闭推送` | | auto_reply_html | str | 自动回复H5页面url | `https://message.bilibili.com/h5/app/auto-reply` | | is_receive_unfollow_wl | num | 是否显示限制接收未关注人消息功能 | | -| is_voyage | num | 是否在自动回复页面显示 “大航海自动回复” 按钮 | 仅部分用户开启 | +| is_voyage | num | 是否在自动回复页面显示 “大航海自动回复” 选项 | 仅部分用户开启 | | is_auto_reply_recommend_available | num | 是否在自动回复中的 “被关注回复” 页面显示 “被关注后,向关注我的人推送我的往期作品” 复选框 | 仅部分用户开启 | | is_discuss_style_im_page | num | (?) | **作用尚不明确** | | discuss_unread_style_im_page | num | (?) | **作用尚不明确** | diff --git a/docs/video/player.md b/docs/video/player.md index 7b5a06d..5b18cdf 100644 --- a/docs/video/player.md +++ b/docs/video/player.md @@ -60,7 +60,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括: | now_time | num | 当前 UNIX 秒级时间戳 | | | online_count | num | 在线人数 | | | need_login_subtitle | bool | 是否必须登陆才能查看字幕 | 是的 | -| preview_toast | str | `为创作付费,购买观看完整视频|购买观看` | | +| preview_toast | str | `为创作付费,购买观看完整视频\|购买观看` | | | options | obj | | | | guide_attention | any | | | | jump_card | any | | | From 8d316f4cd030f1ac8b8b8d1d7dcee0d65273afd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Wed, 7 May 2025 00:43:16 +0800 Subject: [PATCH 26/38] feat(message): add details MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/private_msg.md | 257 ++++++++++++++++++++++++++++++++++-- docs/message/settings.md | 16 +-- 2 files changed, 257 insertions(+), 16 deletions(-) diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index 4c571dc..c8051fe 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -6,7 +6,7 @@ | 字段 | 类型 | 内容 | 备注 | | -------------------- | ---- | -------------------------------- | --------------------------------------------------- | -| talker_id | num | 聊天对象的id | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id | +| talker_id | num | 聊天对象的id | `session_type` 为 `1` 时表示 mid,为 `2` 时表示粉丝团 id | | session_type | num | 聊天对象的类型 | 1:用户
2:粉丝团 | | at_seqno | num | 最近一次未读at自己的消息的序列号 | 在粉丝团会话中有效,若没有未读的 at 自己的消息则为 `0` | | top_ts | num | 置顶该会话的时间 | 微秒级时间戳;若未置顶该会话则为 `0`;用于判断是否置顶了会话 | @@ -730,7 +730,7 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/session_detail' 认证方式:Cookie(SESSDATA) -仅对用户会话调用本接口 +仅支持用户会话 **url参数:** @@ -795,7 +795,7 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/is_limit' \ 认证方式:Cookie(SESSDATA) -仅对用户会话调用本接口 +仅支持用户会话 **url参数:** @@ -858,6 +858,251 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_session_ss
+### 修改会话置顶状态 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ---- | ------------------------ | ------ | ---------------------------------------------------- | +| talker_id | num | 聊天对象的id | 必要 | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id | +| session_type | num | 聊天对象的类型 | 必要 | 1:用户
2:粉丝团 | +| op_type | num | 操作类型 | 必要 | 0:置顶
1:取消置顶 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 成功时为0 | +| message | str | 错误信息 | 成功时为0 | +| ttl | num | | 默认为1 | +| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | + +**示例:** + +置顶会话`talker_id=293793435&session_type=1` + +```shell +curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/set_top' \ + --data-urlencode 'talker_id=2' \ + --data-urlencode 'session_type=1' \ + --data-urlencode 'op_type=0' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ +### 移除指定会话 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +将指定会话从会话列表中移除,不会删除聊天记录 + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ---- | ------------------------ | ------ | ---------------------------------------------------- | +| talker_id | num | 聊天对象的id | 必要 | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id | +| session_type | num | 聊天对象的类型 | 必要 | 1:用户
2:粉丝团 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 成功时为0 | +| message | str | 错误信息 | 成功时为0 | +| ttl | num | | 默认为1 | +| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | + +**示例:** + +移除会话`talker_id=2&session_type=1` + +```shell +curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/remove_session' \ + --data-urlencode 'talker_id=2' \ + --data-urlencode 'session_type=1' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ +### 修改会话免打扰状态 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ---- | ------------------------ | ------------ | -------------------------------- | +| uid | num | 自己的mid | 非必要 | | +| setting | num | 免打扰设置 | 必要 | 0:取消免打扰
1:开启免打扰 | +| dnd_uid | num | 用户mid | 必要(可选) | 当聊天对象为用户时有效 | +| dnd_group_id | num | 粉丝团id | 必要(可选) | 当聊天对象为粉丝团时有效 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 成功时为0 | +| message | str | 错误信息 | 成功时为0 | +| ttl | num | | 默认为1 | +| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | + +**示例:** + +对会话`dnd_uid=2`开启免打扰 + +```shell +curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set_msg_dnd' \ + --data-urlencode 'uid=425503913' \ + --data-urlencode 'setting=1' \ + --data-urlencode 'dnd_uid=2' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ +### 修改会话推送设置 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +仅支持用户会话 + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | ------ | ------------------------------ | +| talker_uid | num | 聊天对象mid | 必要 | | +| setting | num | 推送设置 | 必要 | 0:接收推送
1:不接收推送 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 成功时为0 | +| message | str | 错误信息 | 成功时为0 | +| ttl | num | | 默认为1 | +| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | + +**示例:** + +修改`talker_uid=2`的推送设置为不接收推送 + +```shell +curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set_push_ss' \ + --data-urlencode 'talker_uid=2' \ + --data-urlencode 'setting=1' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ ## 私信消息相关 ### 查询私信消息记录 @@ -1214,11 +1459,7 @@ curl -G 'https://api.vc.bilibili.com/x/im/feed/infoweb' \ | msg | str | 错误信息 | 成功时为0 | | message | str | 错误信息 | 成功时为0 | | ttl | num | | 默认为1 | -| data | 有效时:obj
无效时:不存在该项 | 信息本体 | | - -`data`对象: - -一个不含任何项目的对象,即 `{}` +| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | **示例:** diff --git a/docs/message/settings.md b/docs/message/settings.md index fb797a8..592ff1e 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -268,13 +268,13 @@ curl -G 'https://api.vc.bilibili.com/x/im/link_setting/get_block_words' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------------------ | ------ | ------------- | -| content | str | 屏蔽词内容 | 必要 | | -| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | -| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | -| csrf_token | str | CSRF Token(位于cookie) | 必要 | | -| csrf | str | CSRF Token(位于cookie) | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | ------ | -------------- | +| content | str | 屏蔽词内容 | 必要 | 最多 20 个字符 | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | **json回复:** @@ -282,7 +282,7 @@ curl -G 'https://api.vc.bilibili.com/x/im/link_setting/get_block_words' \ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------------------------------------------------------------------------------------- | -| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
19004:添加失败,屏蔽词限制最多20个字 | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
1900004:添加失败,屏蔽词限制最多20个字
1900005:添加失败,最多可以添加200个屏蔽词
1900006:添加失败,屏蔽词重复
1900007:添加失败,屏蔽词不支持空格 | | msg | str | 错误信息 | 默认为0 | | message | str | 错误信息 | 默认为0 | | ttl | num | 1 | | From 129dfeaf9a031e83fb2adbbe3a21e2acc468cd2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Wed, 7 May 2025 01:52:09 +0800 Subject: [PATCH 27/38] feat(README): tick checkboxes of private msg & msg settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 856e264..9489f90 100644 --- a/README.md +++ b/README.md @@ -92,9 +92,9 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [x] [Web 端 Cookie 刷新](docs/login/cookie_refresh.md) - [ ] [消息中心](docs/message) - [ ] [通知类消息](docs/message/msg.md) - - [ ] [私信](docs/message/private_msg.md) - - [ ] [私信消息类型、内容说明](docs/message/private_msg_content.md) - - [ ] [设置](docs/message/settings.md) + - [x] [私信](docs/message/private_msg.md) + - [x] [私信消息类型、内容说明](docs/message/private_msg_content.md) + - [x] [设置](docs/message/settings.md) - [ ] [用户](docs/user) - [x] [基本信息](docs/user/info.md) - [x] [状态数](docs/user/status_number.md) @@ -155,10 +155,10 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [x] [笔记操作](docs/note/action.md) - [ ] [专栏](docs/article) - [ ] [专栏分类](docs/article/category.md) - - [X] [基本信息](docs/article/info.md) - - [X] [点赞 & 投币 & 收藏 & 分享](docs/article/action.md) - - [X] [文集基本信息](docs/article/articles.md) - - [X] [删除](docs/article/delete.md) + - [x] [基本信息](docs/article/info.md) + - [x] [点赞 & 投币 & 收藏 & 分享](docs/article/action.md) + - [x] [文集基本信息](docs/article/articles.md) + - [x] [删除](docs/article/delete.md) - [ ] [音频](docs/audio) - [x] [歌曲基本信息](docs/audio/info.md) - [ ] [歌单 & 音频收藏夹详细信息](docs/audio/music_list.md) From f20ba59473fbb084280d32e4d956445268f24923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Thu, 8 May 2025 23:58:37 +0800 Subject: [PATCH 28/38] feat & fix(message/settings): add details MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/settings.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/message/settings.md b/docs/message/settings.md index 592ff1e..e94ca6e 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -49,7 +49,7 @@ | voyage_reply | num | 大航海上船回复 | 0:关闭
1:开启 | | recommend_followed_reply | num | 被关注时自动推送作品 | 0:关闭
1:开启 | | ai_intercept | num | 私信智能拦截 | 0:关闭
1:开启 | -| anti_harassment | null | 防骚扰和互动人群设置 | 恒为 `null` | +| anti_harassment | null | 防骚扰和互动人群设置 | 此接口恒返回 `null` | | set_recv_reply | num | 收到回复提醒(新) | 0:所有人
1:关注的人
2:不接受任何消息提醒 | | set_recv_like | num | 收到喜欢提醒(新) | 0:接收
2:不接收 | | set_new_follow | num | 新增粉丝提醒(新) | 0:接收
2:不接收 | @@ -136,13 +136,13 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | --------------------------------------------------- | -| code | num | 返回值 | 0:成功
-101:账号未登录
700009:权限不足 | -| msg | str | 错误信息 | 默认为0 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | 空对象 | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | -------------------------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
2:非法参数
700009:权限不足 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | 空对象 | **示例:** @@ -514,7 +514,7 @@ curl -G 'https://api.vc.bilibili.com/x/im/auto_reply/get_reply_text' \ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------------------------------------------------------------------------------------- | -| code | num | 返回值 | 0:成功
-101:账号未登录
27011:请求参数错误
1500001:自动回复内容太长 | +| code | num | 返回值 | 0:成功
-101:账号未登录
27011:请求参数错误
1500001:自动回复内容太长
1500002:规则数量已达上限,请删除后新建
1500003:您保存的内容含敏感信息,请修改后重试 | | message | str | 错误信息 | 默认为0 | | ttl | num | 1 | | | data | obj | 信息本体 | 空对象 | @@ -525,7 +525,7 @@ curl -G 'https://api.vc.bilibili.com/x/im/auto_reply/get_reply_text' \ ```shell curl 'https://api.vc.bilibili.com/x/im/auto_reply/set_reply_text' \ - --data-urlencode 'type[]=2' \ + --data-urlencode 'type=2' \ --data-urlencode 'reply=嗯嗯,不用谢[tv_微笑]' \ --data-urlencode 'id=201321' \ --data-urlencode 'title=谢谢' \ @@ -576,7 +576,7 @@ curl 'https://api.vc.bilibili.com/x/im/auto_reply/set_reply_text' \ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | --------------------------------------------------- | -| code | num | 返回值 | 0:成功
-101:账号未登录
-500:服务器错误 | +| code | num | 返回值 | 0:成功
-101:账号未登录
-500:服务器错误
1003:不能删除别人的规则 | | message | str | 错误信息 | 默认为0 | | ttl | num | 1 | | | data | obj | 信息本体 | 空对象 | @@ -772,7 +772,7 @@ curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_sys_setting'
-## 是否显示创建粉丝团按钮 +## 获取创建粉丝团按钮可见性 > From 1c5a07002b71263c31c6e9c1a4b011becaaf3e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Sun, 11 May 2025 04:28:26 +0800 Subject: [PATCH 29/38] feat(private_msg): get msg dnd & intercept MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/private_msg.md | 476 +++++++++++++++++++++++++++++------- 1 file changed, 394 insertions(+), 82 deletions(-) diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index c8051fe..34dfa6c 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -55,7 +55,7 @@ | msg_seqno | num | 消息序列号 | 按照时间顺序从小到大 | | timestamp | num | 消息发送时间 | 秒级时间戳 | | at_uids | 有效时:array
无效时:null | at的成员mid | 在粉丝团时有效;此项为 `null` 或 `[0]` 均表示没有 at 成员 | -| msg_key | num | 消息唯一id | 部分库在解析JSON对象中的大数时存在数值的精度丢失问题,因此在处理私信时可能会出现问题,建议使用修复了这一问题的库(如将大数转换成文本) | +| msg_key | num | 消息唯一id | 部分库在解析JSON对象中的大数时存在数值的精度丢失问题,因此在处理此字段时可能会出现问题,建议使用修复了这一问题的库(如将大数转换成文本) | | msg_status | num | 消息状态 | 0:正常
1:被撤回(接口仍能返回被撤回的私信内容)
2:被系统撤回(如:消息被举报;私信将不会显示在前端,B站接口也不会返回被系统撤回的私信的信息)
50:图片已失效(私信内容为一张提示“图片出现问题”的图片) | | sys_cancel | bool | 是否为系统撤回 | 仅当 `msg_type` 为 `5` 且此项值为 `true` 时有此项;若此项值为 `true`,表示目标消息是被系统撤回的,此时前端将不显示该私信且没有提示 | | notify_code | str | 通知代码 | 发送通知时使用,以下划线 `_` 分割,第 1 项表示主业务 id,第 2 项表示子业务 id;若这条私信非通知则为空文本;详细信息有待补充 | @@ -103,7 +103,7 @@ 认证方式:Cookie(SESSDATA) -注: 该接口默认每 2 分钟请求一次 +注: 该接口默认每 2 分钟请求一次;该接口不会返回[未读粉丝团私信数](#获取未读粉丝团私信数) **URL参数:** @@ -178,6 +178,67 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \
+### 获取未读粉丝团私信数 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | ---------------- | ------ | ------------- | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ---- | ---------------- | ---------------- | +| unread_count | num | 未读粉丝团私信数 | | + +**示例:** + +以下信息代表未读粉丝团私信数为 `497` 条 + +```shell +curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/my_group_unread' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "unread_count": 497 + } +} +``` + +
+ ### 获取指定类型会话列表 > @@ -190,10 +251,10 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------------- | ---- | -------------------- | ------ | ------------------------- | -| session_type | num | 会话类型 | 必要 | 1:未被折叠
2:未关注人
3:粉丝团
4:所有
5:被拦截
7:系统消息(?) | +| session_type | num | 会话类型 | 必要 | 1:用户与系统
2:未关注人
3:粉丝团
4:所有
5:被拦截
6:花火商单
7:所有系统消息
8:陌生人(与 “未关注人” 不同,不包含官方消息)
9:关注的人与系统 | | group_fold | num | 是否折叠粉丝团消息 | 非必要 | 0:否
1:是 | | unfollow_fold | num | 是否折叠未关注人消息 | 非必要 | 0:否
1:是 | -| sort_rule | num | 排序方式 | 非必要 | 1、2:按会话时间逆向排序
3:按已读时间逆向排序
其他:用户按会话时间逆向排序,粉丝团按加群时间正向排序(?) | +| sort_rule | num | 排序方式 | 非必要 | 仅当 `session_type` 不为 `4`、`7` 时有效
1、2:按会话时间逆向排序
3:按已读时间逆向排序
其他:用户与系统按会话时间逆向排序,粉丝团按加群时间正向排序 | | begin_ts | num | 起始时间 | 非必要 | 微秒级时间戳 | | end_ts | num | 终止时间 | 非必要 | 微秒级时间戳 | | size | num | 返回的会话数 | 非必要 | 默认为 `20`,最大为 `100` | @@ -204,13 +265,13 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------- | -| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | -| msg | str | 错误信息 | 默认为0 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 数据本体 | | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------ | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
2:非法参数 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 数据本体 | | `data`对象: @@ -787,6 +848,96 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/is_limit' \
+### 获取会话免打扰状态 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +仅支持用户会话 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| --------- | ---- | ---------------- | ------ | ----------------------- | +| own_uid | num | 自己的mid | 必要 | | +| uids | num | 用户mid | 非必要 | 仅支持填入 **1 个** mid | +| group_ids | num | 粉丝团id | 非必要 | 仅支持填入 **1 个** id | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
2:非法参数
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 默认为0 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 数据本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ----- | ---------------- | ------------------------------------- | +| uid_settings | array | 用户免打扰状态 | 仅当请求参数 `uids` 存在时有此项 | +| group_settings | array | 粉丝团免打扰状态 | 仅当请求参数 `group_ids` 存在时有此项 | + +`data`对象中的`uid_settings`、`group_settings`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | -------------- | --------------------------------- | +| 0 | obj | 会话免打扰状态 | 仅有1项 | + +`uid_settings`、`group_settings`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | ----------------- | -------------------------------- | +| id | num | 用户mid或粉丝团id | | +| setting | num | 免打扰状态 | 0:关闭免打扰
1:开启免打扰 | + +**示例:** + +获取会话`uids=2`与`group_ids=221082140`的免打扰状态: + +```shell +curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_msg_dnd' \ + --data-urlencode 'own_uid=425503913' \ + --data-urlencode 'uids=2' \ + --data-urlencode 'group_ids=221082140' \ + --data-urlencode 'build=0' \ + --data-urlencode 'mobi_app=web' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": { + "uid_settings": [{ + "id": 2, + "setting": 0 + }], + "group_settings": [{ + "id": 221082140, + "setting": 0 + }] + } +} +``` + +
+ ### 获取会话推送设置 > @@ -858,21 +1009,23 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_session_ss
-### 修改会话置顶状态 +### 设置会话为已读 -> +> *请求方式:POST* 认证方式:Cookie(SESSDATA) +将指定会话中的指定消息及以前的消息设置为已读 + **正文参数(application/x-www-form-urlencoded):** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------------ | ---- | ------------------------ | ------ | ---------------------------------------------------- | | talker_id | num | 聊天对象的id | 必要 | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id | | session_type | num | 聊天对象的类型 | 必要 | 1:用户
2:粉丝团 | -| op_type | num | 操作类型 | 必要 | 0:置顶
1:取消置顶 | +| ack_seqno | num | 设置为已读的消息序列号 | 非必要 | 留空表示最新的消息 | | csrf_token | str | CSRF Token(位于cookie) | 必要 | | | csrf | str | CSRF Token(位于cookie) | 必要 | | | build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | @@ -892,13 +1045,13 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_session_ss **示例:** -置顶会话`talker_id=293793435&session_type=1` +将`talker_id=293793435`、`session_type=1`的`ack_seqno=1236306587877408`消息及之前的消息设置为已读 ```shell -curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/set_top' \ - --data-urlencode 'talker_id=2' \ +curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/update_ack' \ + --data-urlencode 'talker_id=293793435' \ --data-urlencode 'session_type=1' \ - --data-urlencode 'op_type=0' \ + --data-urlencode 'ack_seqno=1236306587877408' \ --data-urlencode 'csrf=xxx' \ --data-urlencode 'csrf_token=xxx' \ -b 'SESSDATA=xxx' @@ -980,6 +1133,67 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/remove_session' \
+### 修改会话置顶状态 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ---- | ------------------------ | ------ | ---------------------------------------------------- | +| talker_id | num | 聊天对象的id | 必要 | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id | +| session_type | num | 聊天对象的类型 | 必要 | 1:用户
2:粉丝团 | +| op_type | num | 操作类型 | 必要 | 0:置顶
1:取消置顶 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 成功时为0 | +| message | str | 错误信息 | 成功时为0 | +| ttl | num | | 默认为1 | +| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | + +**示例:** + +置顶会话`talker_id=293793435&session_type=1` + +```shell +curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/set_top' \ + --data-urlencode 'talker_id=2' \ + --data-urlencode 'session_type=1' \ + --data-urlencode 'op_type=0' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +
+ ### 修改会话免打扰状态 > @@ -1103,6 +1317,167 @@ curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set_push_ss' \
+### 修改会话拦截状态 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +仅支持用户会话 + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | ------ | ---------------------------- | +| talker_id | num | 聊天对象mid | 必要 | | +| status | num | 拦截状态 | 必要 | 0:取消拦截
1:设置拦截 | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 成功时为0 | +| message | str | 错误信息 | 成功时为0 | +| ttl | num | | 默认为1 | +| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | + +**示例:** + +对会话`talker_id=2`取消拦截状态 + +```shell +curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/update_intercept' \ + --data-urlencode 'talker_id=2' \ + --data-urlencode 'status=0' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +### 设置所有拦截会话为已读 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | ------ | ------------- | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 成功时为0 | +| message | str | 错误信息 | 成功时为0 | +| ttl | num | | 默认为1 | +| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | + +**示例:** + +```shell +curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/batch_update_dustbin_ack' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + +### 移除所有拦截会话 + +> + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数(application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | ------ | ------------- | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| msg | str | 错误信息 | 成功时为0 | +| message | str | 错误信息 | 成功时为0 | +| ttl | num | | 默认为1 | +| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | + +**示例:** + +```shell +curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/batch_rm_dustbin' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'csrf_token=xxx' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": {} +} +``` + ## 私信消息相关 ### 查询私信消息记录 @@ -1113,7 +1488,7 @@ curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set_push_ss' \ 认证方式:Cookie(SESSDATA) -仅调用该接口不会设置私信为已读,详见[设置私信为已读](#设置私信为已读) +仅调用该接口不会设置会话为已读,详见[设置会话为已读](#设置会话为已读) 此接口有设计缺陷,可以获取已经撤回(`msg_status` 为 `1`)的私信内容 @@ -1427,69 +1802,6 @@ curl -G 'https://api.vc.bilibili.com/x/im/feed/infoweb' \
-### 设置私信为已读 - -> - -*请求方式:POST* - -认证方式:Cookie(SESSDATA) - -将指定会话中的指定消息及以前的消息设置为已读 - -**正文参数(application/x-www-form-urlencoded):** - -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------------ | ---- | ------------------------ | ------ | ---------------------------------------------------- | -| talker_id | num | 聊天对象的id | 必要 | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id | -| session_type | num | 聊天对象的类型 | 必要 | 1:用户
2:粉丝团 | -| ack_seqno | num | 设置为已读的消息序列号 | 必要 | | -| csrf_token | str | CSRF Token(位于cookie) | 必要 | | -| csrf | str | CSRF Token(位于cookie) | 必要 | | -| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | -| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | - -**json回复:** - -根对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------- | -| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | -| msg | str | 错误信息 | 成功时为0 | -| message | str | 错误信息 | 成功时为0 | -| ttl | num | | 默认为1 | -| data | 有效时:obj
无效时:不存在该项 | 信息本体 | 空对象 | - -**示例:** - -将`talker_id=293793435`、`session_type=1`的`ack_seqno=1236306587877408`消息及之前的消息设置为已读 - -```shell -curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/update_ack' \ - --data-urlencode 'talker_id=293793435' \ - --data-urlencode 'session_type=1' \ - --data-urlencode 'ack_seqno=1236306587877408' \ - --data-urlencode 'csrf=xxx' \ - --data-urlencode 'csrf_token=xxx' \ - -b 'SESSDATA=xxx' -``` - -
-查看响应示例: - -```json -{ - "code": 0, - "msg": "0", - "message": "0", - "ttl": 1, - "data": {} -} -``` - -
- ### 发送私信(web端) > From f3a09eeb6569628197f1fe3733359c325e86b784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Sun, 11 May 2025 04:42:40 +0800 Subject: [PATCH 30/38] fix(private_msg): some mistakes --- docs/message/private_msg.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index 34dfa6c..add0942 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -254,7 +254,7 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/my_group_unread' \ | session_type | num | 会话类型 | 必要 | 1:用户与系统
2:未关注人
3:粉丝团
4:所有
5:被拦截
6:花火商单
7:所有系统消息
8:陌生人(与 “未关注人” 不同,不包含官方消息)
9:关注的人与系统 | | group_fold | num | 是否折叠粉丝团消息 | 非必要 | 0:否
1:是 | | unfollow_fold | num | 是否折叠未关注人消息 | 非必要 | 0:否
1:是 | -| sort_rule | num | 排序方式 | 非必要 | 仅当 `session_type` 不为 `4`、`7` 时有效
1、2:按会话时间逆向排序
3:按已读时间逆向排序
其他:用户与系统按会话时间逆向排序,粉丝团按加群时间正向排序 | +| sort_rule | num | 排序方式 | 非必要 | 仅当 `session_type` 不为 `4`、`7` 时有效
1、2:按会话时间逆向排序
3:按已读时间逆向排序
其他:用户与系统按会话时间逆向排序,粉丝团按加入时间正向排序 | | begin_ts | num | 起始时间 | 非必要 | 微秒级时间戳 | | end_ts | num | 终止时间 | 非必要 | 微秒级时间戳 | | size | num | 返回的会话数 | 非必要 | 默认为 `20`,最大为 `100` | @@ -300,11 +300,11 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/my_group_unread' \ **示例:** -获取会话列表: +获取所有类型的会话列表: ```shell curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/get_sessions' \ - --data-urlencode 'session_type=1' \ + --data-urlencode 'session_type=4' \ --data-urlencode 'group_fold=0' \ --data-urlencode 'unfollow_fold=0' \ --data-urlencode 'sort_rule=2' \ @@ -856,8 +856,6 @@ curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/is_limit' \ 认证方式:Cookie(SESSDATA) -仅支持用户会话 - **url参数:** | 参数名 | 类型 | 内容 | 必要性 | 备注 | @@ -1171,7 +1169,7 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/remove_session' \ ```shell curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/set_top' \ - --data-urlencode 'talker_id=2' \ + --data-urlencode 'talker_id=293793435' \ --data-urlencode 'session_type=1' \ --data-urlencode 'op_type=0' \ --data-urlencode 'csrf=xxx' \ From c0120224eba47d278242f0fd073064e2821c6d53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Sun, 11 May 2025 13:18:08 +0800 Subject: [PATCH 31/38] fix(private_msg): add missing text --- docs/message/private_msg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index add0942..329cf68 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -6,7 +6,7 @@ | 字段 | 类型 | 内容 | 备注 | | -------------------- | ---- | -------------------------------- | --------------------------------------------------- | -| talker_id | num | 聊天对象的id | `session_type` 为 `1` 时表示 mid,为 `2` 时表示粉丝团 id | +| talker_id | num | 聊天对象的id | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id | | session_type | num | 聊天对象的类型 | 1:用户
2:粉丝团 | | at_seqno | num | 最近一次未读at自己的消息的序列号 | 在粉丝团会话中有效,若没有未读的 at 自己的消息则为 `0` | | top_ts | num | 置顶该会话的时间 | 微秒级时间戳;若未置顶该会话则为 `0`;用于判断是否置顶了会话 | From 5c4490354c52b1fc7406998057642f35b09c7dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Sun, 11 May 2025 22:13:50 +0800 Subject: [PATCH 32/38] feat(relation): add unread followers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/user/relation.md | 142 ++++++++++++++++++++++++------------------ 1 file changed, 82 insertions(+), 60 deletions(-) diff --git a/docs/user/relation.md b/docs/user/relation.md index 83d6798..1c5f401 100644 --- a/docs/user/relation.md +++ b/docs/user/relation.md @@ -24,8 +24,8 @@ | vip | obj | 会员信息 | | | name_render | 有效时:obj
无效时:null | 昵称渲染信息 | | | nft_icon | str | (?) | | -| rec_reason | str | 推荐该用户的原因 | 一般为空;如:`xxx关注了TA`、`xx粉丝 xx视频` | -| track_id | str | 内部记录id | 一般为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` | +| rec_reason | str | 推荐该用户的原因 | 大多数情况下为空;如:`xxx关注了TA`、`xx粉丝 xx视频` | +| track_id | str | 内部记录id | 大多数情况下为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` | | follow_time | str | (?) | | `list`中的对象中的`tag`数组: @@ -89,13 +89,14 @@ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | -------------- | ------------ | ------------------------------------------------------------------- | -| vmid | num | 目标用户 mid | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1 | -| offset | str | 偏移量 | 非必要 | 此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` | -| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时 `$.data.list[]` 中的 `rec_reason` 与 `track_id` 为非空 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------------- | ---- | ---------------------- | ------------ | ------------------------------------------------------------------- | +| vmid | num | 目标用户 mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1 | +| offset | str | 偏移量 | 非必要 | 从上次请求的响应数据中的 `data.offset` 获取
此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` | +| last_access_ts | num | 上次访问粉丝列表的时间 | 非必要 | 秒级时间戳,从[获取自己粉丝列表的未读状态](#获取自己粉丝列表的未读状态)接口获取
当按照**智能推荐算法**排序时,会优先展示此时间后关注的粉丝 | +| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时响应数据中的 `data.list` 的成员中的 `rec_reason` 与 `track_id` 为非空 | **json回复:** @@ -153,9 +154,7 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \ "mtime": 1746199088, "tag": null, "special": 0, - "contract_info": { - - }, + "contract_info": {}, "uname": "Astlinga_星灵", "face": "https://i1.hdslb.com/bfs/face/005264524d05c0b8c132acc3ee88bb839351025b.jpg", "sign": "", @@ -185,9 +184,7 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \ "nickname_color": "", "avatar_subscript_url": "" }, - "name_render": { - - }, + "name_render": {}, "nft_icon": "", "rec_reason": "", "track_id": "", @@ -199,9 +196,7 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \ "mtime": 1746098997, "tag": null, "special": 0, - "contract_info": { - - }, + "contract_info": {}, "uname": "JSRCode", "face": "https://i1.hdslb.com/bfs/face/f6c74700c72d27ae224c5311634b4a3770e3cdcf.jpg", "sign": "一个喜欢码代码的高中牲", @@ -231,9 +226,7 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \ "nickname_color": "", "avatar_subscript_url": "" }, - "name_render": { - - }, + "name_render": {}, "nft_icon": "", "rec_reason": "", "track_id": "", @@ -325,9 +318,7 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \ "mtime": 1746199088, "tag": null, "special": 0, - "contract_info": { - - }, + "contract_info": {}, "uname": "Astlinga_星灵", "face": "https://i1.hdslb.com/bfs/face/005264524d05c0b8c132acc3ee88bb839351025b.jpg", "sign": "", @@ -357,9 +348,7 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \ "nickname_color": "", "avatar_subscript_url": "" }, - "name_render": { - - }, + "name_render": {}, "nft_icon": "", "rec_reason": "", "track_id": "", @@ -371,9 +360,7 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \ "mtime": 1746098997, "tag": null, "special": 0, - "contract_info": { - - }, + "contract_info": {}, "uname": "JSRCode", "face": "https://i1.hdslb.com/bfs/face/f6c74700c72d27ae224c5311634b4a3770e3cdcf.jpg", "sign": "一个喜欢码代码的高中牲", @@ -403,9 +390,7 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \ "nickname_color": "", "avatar_subscript_url": "" }, - "name_render": { - - }, + "name_render": {}, "nft_icon": "", "rec_reason": "", "track_id": "", @@ -420,6 +405,58 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \
+### 获取自己粉丝列表的未读状态 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +调用此接口后会重置未读状态 + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | -------------------------- | ---------------------------------- | +| count | num | 自上次访问后新增的粉丝个数 | | +| time | num | 上次访问粉丝列表时间 | 秒级时间戳;当没有新增粉丝时为 `0` | + +**示例:** + +```shell +curl 'https://api.bilibili.com/x/relation/followers/unread/count' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "count": 55, + "time": 1743677191 + } +} +``` + +
+ ### 查询用户关注明细 > @@ -574,7 +611,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \ *请求方式:GET* -仅可查看前 5 页,对于已设置可见性隐私关注列表的用户,`$.data.list` 为 null,且 `$.data.total` 为0 +仅可查看前 5 页,对于已设置可见性隐私关注列表的用户,响应数据中的 `data.list` 为 null,且 `data.total` 为0 **url参数:** @@ -911,9 +948,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \ "mid": 53456, "attribute": 2, "mtime": 1586415053, - "tag": [ - -10 - ], + "tag": [-10], "special": 1, "uname": "Warma", "face": "https://i2.hdslb.com/bfs/face/c1bbee6d255f1e7fc434e9930f0f288c8b24293a.jpg", @@ -1039,9 +1074,7 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \ "mid": 517717593, "attribute": 2, "mtime": 1592126052, - "tag": [ - 207542 - ], + "tag": [207542], "special": 0, "uname": "上海爱丽丝幻乐团", "face": "https://i0.hdslb.com/bfs/face/851a9191cbe93e66304d7577c0f6f83834e52109.jpg", @@ -1265,9 +1298,7 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \ "mid": 24022863, "attribute": 6, "mtime": 1685026230, - "tag": [ - -10 - ], + "tag": [-10], "special": 1, "uname": "黄禄轩电脑专用账号", "face": "https://i0.hdslb.com/bfs/face/a70ec7d2a3822980a915ef4b30371af0cbc79132.jpg", @@ -1306,9 +1337,7 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \ "mid": 85438718, "attribute": 6, "mtime": 1684759843, - "tag": [ - 194110 - ], + "tag": [194110], "special": 0, "uname": "忘忧北萱草Official", "face": "https://i2.hdslb.com/bfs/face/68d8cba01aab907dbb2cf2e17074f20947156237.jpg", @@ -1667,9 +1696,9 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \ | 字段 | 类型 | 内容 | 备注 | | --------- | --------------------------------------- | ------------ | -------------------------------------------------------- | | mid | num | 目标用户 mid | | -| attribute | num | 关系属性 | 0:未关注
2:已关注
6:已互粉
128:已拉黑 | +| attribute | num | 关系属性 | 0:未关注
~~1:悄悄关注(已弃用)~~
2:已关注
6:已互粉
128:已拉黑 | | mtime | num | 关注对方时间 | 时间戳
未关注为 0 | -| tag | null默认分组
array存在至少一个分组 | 分组 id | | +| tag | 默认分组:null
存在至少一个分组:array | 分组 id | | | special | num | 特别关注标志 | 0:否
1:是 | `tag`数组: @@ -1706,7 +1735,7 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \ | ttl | num | 1 | | | data | obj | 信息本体 | 详见 [关系属性对象](#关系属性对象) | -`data`对象:**示例:** +**示例:** 可得对于`mid=258150656`的用户,在`2018/10/28 0:51:41`时关注,且设为特别关注,并位于为`-10`分组中 @@ -1804,21 +1833,14 @@ curl -G 'https://api.bilibili.com/x/space/acc/relation' \ "mid": 15858903, "attribute": 6, "mtime": 1548311059, - "tag": [ - -10, - 194110, - 248468 - ], + "tag": [-10, 194110, 248468], "special": 1 }, "be_relation": { "mid": 293793435, "attribute": 6, "mtime": 1548311059, - "tag": [ - 56502, - -10 - ], + "tag": [56502, -10], "special": 1 } } @@ -1945,7 +1967,7 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \ | 字段 | 类型 | 内容 | 备注 | | ----- | ---- | ---------- | ---- | -| tagid | num | 分组 id | -10:特别关注
0:默认分组 | +| tagid | num | 分组 id | -10:特别关注
0:默认分组 | | name | str | 分组名称 | | | count | num | 分组成员数 | | | tip | str | 提示信息 | | @@ -2014,7 +2036,7 @@ curl 'https://api.bilibili.com/x/relation/tags' \ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ---------- | ---- | -------------- | ------------ | ------------------------------------------------------- | | access_key | str | APP 登录 Token | APP 方式必要 | | -| tagid | num | 分组 id | 必要 | | +| tagid | num | 分组 id | 必要 | 0:默认分组
-10:特别关注
-20:所有 | | order_type | str | 排序方式 | 非必要 | 按照关注顺序排列:留空
按照最常访问排列:attention | | ps | num | 每页项数 | 非必要 | 默认为 20 | | pn | num | 页数 | 非必要 | 默认为1 | From 75d599714e2d943bcf9c38a23612ad69bea888aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Tue, 13 May 2025 02:29:21 +0800 Subject: [PATCH 33/38] feat(relation): add `re_src` details MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/private_msg.md | 2 ++ docs/user/relation.md | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index 329cf68..4ca619d 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -480,6 +480,8 @@ curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/get_sessions' \ 获取指定时间之后的新会话列表 +注:该接口默认每 20 秒请求一次 + **url参数:** | 参数名 | 类型 | 内容 | 必要性 | 备注 | diff --git a/docs/user/relation.md b/docs/user/relation.md index 1c5f401..6b5d143 100644 --- a/docs/user/relation.md +++ b/docs/user/relation.md @@ -1564,7 +1564,7 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \ | access_key | str | APP 登录 Token | APP 方式必要 | | | fid | num | 目标用户mid | 必要 | | | act | num | 操作代码 | 必要 | **操作代码见下表** | -| re_src | num | 关注来源代码 | 必要 | 空间:11
视频:14
文章:115
活动页面:222 | +| re_src | num | 关注来源代码 | 非必要 | 包月充电:1
个人空间:11
视频:14
评论区:15
视频播放器结束页面:17
H5推荐关注:58
H5关注列表:106
H5粉丝列表:107
专栏:115
私信:118
搜索:120
视频播放器左上角关注按钮:164
H5共同关注:167
创作激励计划:192
活动页面:222
联合投稿视频:229
消息中心点赞详情:235
视频播放器关注弹幕:245 | | csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | 操作代码`act`: @@ -1573,7 +1573,7 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \ | ---- | ------------ | ------------------------------------------------ | | 1 | 关注 | 无法对已注销或不存在的用户进行此操作 | | 2 | 取关 | | -| 3 | 悄悄关注 | 现已下线,使用本操作代码请求接口会提示“请求错误” | +| 3 | 悄悄关注 | **现已下线**,使用本操作代码请求接口会提示“请求错误” | | 4 | 取消悄悄关注 | | | 5 | 拉黑 | 无法对已注销或不存在的用户进行此操作 | | 6 | 取消拉黑 | | @@ -1632,7 +1632,7 @@ curl 'https://api.bilibili.com/x/relation/modify' \ | access_key | str | APP 登录 Token | APP 方式必要 | | | fids | nums | 目标用户 mid 列表 | 必要 | 每个成员之间用 `,` 间隔,最多 50 个成员,不能包含自己的 mid | | act | num | 操作代码 | 必要 | 同上
仅可为 1 或 5,故只能进行批量关注和拉黑 | -| re_src | num | 关注来源代码 | 必要 | 同上 | +| re_src | num | 关注来源代码 | 非必要 | 同上 | | csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** From 450d38b55751b45570f5aea31c5f82f6dc463d3c Mon Sep 17 00:00:00 2001 From: OPPO9008 <41640509+OPPO9008@users.noreply.github.com> Date: Tue, 13 May 2025 15:55:55 +0800 Subject: [PATCH 34/38] Update detail.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 缺失features=itemOpusStyle部分动态会报错500 --- docs/dynamic/detail.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dynamic/detail.md b/docs/dynamic/detail.md index 8692e8b..a0bb866 100644 --- a/docs/dynamic/detail.md +++ b/docs/dynamic/detail.md @@ -18,7 +18,7 @@ | timezone_offset | num | -480 | 非必要 | | | platform | str | 平台 | 非必要 | `web` | | gaia_source | str | 来源 | 非必要 | `main_web` | -| features | str | 功能 | 非必要 | `itemOpusStyle,opusBigCover,onlyfansVote,endFooterHidden,decorationCard,onlyfansAssetsV2,ugcDelete,onlyfansQaCard,commentsNewVersion` | +| features | str | 功能 | 必要 | `itemOpusStyle,opusBigCover,onlyfansVote,endFooterHidden,decorationCard,onlyfansAssetsV2,ugcDelete,onlyfansQaCard,commentsNewVersion` | | web_location | str | `333.1368` | 非必要 | | | x-bili-device-req-json | obj | 设备信息? | 非必要 | `{"platform":"web","device":"pc"}` | | x-bili-web-req-json | obj | 请求信息? | 非必要 | `{"spm_id":"333.1368"}` | From ad7fe656f79bd203406d81ecc60fd22d89240e68 Mon Sep 17 00:00:00 2001 From: dingjinghui Date: Wed, 14 May 2025 11:53:12 +0800 Subject: [PATCH 35/38] =?UTF-8?q?update:=20=E6=9B=B4=E6=96=B0=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E6=B8=85=E6=99=B0=E5=BA=A6=E6=A0=87=E8=AF=86-100-?= =?UTF-8?q?=E6=99=BA=E8=83=BD=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/video/videostream_url.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/video/videostream_url.md b/docs/video/videostream_url.md index 4ed5ea3..304e617 100644 --- a/docs/video/videostream_url.md +++ b/docs/video/videostream_url.md @@ -18,6 +18,7 @@ | 64 | 720P 高清 | WEB 端默认值
~~B站前端需要登录才能选择,但是直接发送请求可以不登录就拿到 720P 的取流地址~~
**无 720P 时则为 720P60** | | 74 | 720P60 高帧率 | 登录认证 | | 80 | 1080P 高清 | TV 端与 APP 端默认值
登录认证 | +| 100 | 智能修复 | 人工智能增强画质
大会员认证 | 112 | 1080P+ 高码率 | 大会员认证 | | 116 | 1080P60 高帧率 | 大会员认证 | | 120 | 4K 超清 | 需要`fnval&128=128`且`fourk=1`
大会员认证 | From ac79452058f9fcebfdc3c54e1a8938eea3495492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Thu, 15 May 2025 23:26:25 +0800 Subject: [PATCH 36/38] fix(private_msg_content): invalid bold syntax --- docs/message/private_msg_content.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/message/private_msg_content.md b/docs/message/private_msg_content.md index e2af0f3..21a5deb 100644 --- a/docs/message/private_msg_content.md +++ b/docs/message/private_msg_content.md @@ -167,8 +167,8 @@ **按钮显示逻辑说明:** -- **按钮的url:**首先尝试读取 `jump_uri_config`、`jump_uri_2_config`、`jump_uri_3_config` 对象中表示当前设备类型的 url(如 `web_uri`、`android_uri` 等);若为空值,则尝试读取 `jump_uri_config`、`jump_uri_2_config`、`jump_uri_3_config` 对象中 `all_uri` 的值;若仍为空值,则读取根对象中 `jump_uri`、`jump_uri_2`、`jump_uri_3` 的值;若仍为空值,则不显示该按钮(无论提示文字是否为空) -- **按钮提示文字:**若按钮是可见的,则先尝试读取 `jump_uri_config`、`jump_uri_2_config`、`jump_uri_3_config` 对象中 `text` 的值;若为空值,则读取根对象中 `jump_text`、`jump_text_2`、`jump_text_3` 的值;若仍为空值,则提示文字为 `查看详情` +- **按钮的url**:首先尝试读取 `jump_uri_config`、`jump_uri_2_config`、`jump_uri_3_config` 对象中表示当前设备类型的 url(如 `web_uri`、`android_uri` 等);若为空值,则尝试读取 `jump_uri_config`、`jump_uri_2_config`、`jump_uri_3_config` 对象中 `all_uri` 的值;若仍为空值,则读取根对象中 `jump_uri`、`jump_uri_2`、`jump_uri_3` 的值;若仍为空值,则不显示该按钮(无论提示文字是否为空) +- **按钮提示文字**:若按钮是可见的,则先尝试读取 `jump_uri_config`、`jump_uri_2_config`、`jump_uri_3_config` 对象中 `text` 的值;若为空值,则读取根对象中 `jump_text`、`jump_text_2`、`jump_text_3` 的值;若仍为空值,则提示文字为 `查看详情` 根对象: From af1fdba3985599286c68764d74cfbf2d5816f346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=8F=B6=E6=A2=A6=E6=98=A5?= <65224318+wuziqian211@users.noreply.github.com> Date: Fri, 16 May 2025 00:28:02 +0800 Subject: [PATCH 37/38] fix(private_msg): missing end tags & wrong request method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com> --- docs/message/private_msg.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/message/private_msg.md b/docs/message/private_msg.md index 4ca619d..0baf0b4 100644 --- a/docs/message/private_msg.md +++ b/docs/message/private_msg.md @@ -145,7 +145,7 @@ 以下信息代表未读未关注用户私信数为 `1` 条,未读已关注用户私信数为 `6` 条 ```shell -curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \ +curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \ --data-urlencode 'unread_type=0' \ --data-urlencode 'show_unfollow_list=1' \ --data-urlencode 'show_dustbin=1' \ @@ -216,7 +216,7 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \ 以下信息代表未读粉丝团私信数为 `497` 条 ```shell -curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/my_group_unread' \ +curl -G 'https://api.vc.bilibili.com/session_svr/v1/session_svr/my_group_unread' \ --data-urlencode 'build=0' \ --data-urlencode 'mobi_app=web' \ -b 'SESSDATA=xxx' @@ -1376,6 +1376,8 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/update_intercept' \ } ``` +
+ ### 设置所有拦截会话为已读 > @@ -1427,6 +1429,8 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/batch_update_dustbi } ``` +
+ ### 移除所有拦截会话 > @@ -1478,6 +1482,8 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/batch_rm_dustbin' \ } ``` +
+ ## 私信消息相关 ### 查询私信消息记录 From 3a2c9ce62cc25c9b12a8b42c21a5c7cbb2bf68c6 Mon Sep 17 00:00:00 2001 From: pskdje <77605497+pskdje@users.noreply.github.com> Date: Fri, 16 May 2025 11:32:59 +0800 Subject: [PATCH 38/38] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E9=97=B4=E7=AE=A1=E7=90=86=E6=96=87=E6=A1=A3=EF=BC=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=BC=80=E5=85=B3=E6=92=AD=E5=93=8D=E5=BA=94=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 重命名 更新直播间标题 → 更新直播间信息 删除 编辑直播间标签 将“编辑直播间标签”的内容合并到“更新直播间信息” https://github.com/SocialSisterYi/bilibili-API-collect/issues/1277 --- docs/live/manage.md | 359 ++++++++++++++++++++++++-------------------- 1 file changed, 195 insertions(+), 164 deletions(-) diff --git a/docs/live/manage.md b/docs/live/manage.md index 2111097..8150b28 100644 --- a/docs/live/manage.md +++ b/docs/live/manage.md @@ -78,7 +78,7 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \ -## 更新直播间标题 +## 更新直播间信息 > https://api.live.bilibili.com/room/v1/Room/update @@ -92,10 +92,15 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------- | ---- | ------------------------ | ------ | -------------------- | -| room_id | num | 直播间id | 必要 | 必须为自己的直播间id | -| title | str | 直播间标题 | | 最大20字符 | | csrf | str | CSRF Token(位于cookie) | 必要 | | -| csrf_token | str | CSRF Token(位于 cookie) | | | +| csrf_token | str | CSRF Token(位于 cookie) | 非必要 | | +| platform | str | 平台标识 | 非必要 | | +| visit_id | str | (?) | 非必要 | 某种标识? | +| room_id | num | 直播间id | 必要 | 必须为自己的直播间id | +| title | str | 直播间标题 | 非必要 | 上限40个字符 | +| area\_id | num | 直播分区id(子分区id) | 非必要 | 详见[直播分区](live_area.md) | +| add\_tag | str | 要添加的标签 | 非必要 | 开播设置界面上限10个字符 | +| del\_tag | str | 要删除的标签 | 非必要 | 若存在`add_tag`时不起作用 | **json回复:** @@ -103,10 +108,26 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \ | 字段 | 类型 | 内容 | 备注 | | ------- | ------ | -------- | ------------------------------------------------------ | -| code | num | 返回值 | 0:成功
65530:token错误(登录错误)
1:错误 | +| code | num | 返回值 | 0:成功
-1:操作太频繁
1:错误
3:未登录或鉴权失败
405:不允许的请求方法
60009:分区已下线
65530:token错误(登录错误)
| | msg | str | 错误信息 | 默认为ok | | message | str | 错误信息 | 默认为ok | -| data | array | 空 | | +| data | obj | 信息本体 | 部分失败情况下是`[]`(空数组) | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | ---- | ---- | +| sub_session_key | str | 信息变动标识 | | +| audit_info | obj | 标题审核信息 | | + +`data`中的`audit_info`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | ---- | ---- | +| audit_title_reason | str | 标题审核提示 | | +| audit_title_status | num | 标题审核状态 | | +| audit_title | str | 被审核的标题 | 更新标题时存在 | +| update_title | str | `""` | 作用尚不明确 | **示例:** @@ -114,10 +135,10 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \ ```shell curl 'https://api.live.bilibili.com/room/v1/Room/update' \ ---data-urlencode 'room_id=10352053' \ ---data-urlencode 'title=测试' \ ---data-urlencode 'csrf=xxx' \ --b 'SESSDATA=xxx;bili_jct=xx' + --data-urlencode 'room_id=10352053' \ + --data-urlencode 'title=测试' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xx' ```
@@ -125,10 +146,111 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ ```json { - "code": 0, - "msg": "ok", - "message": "ok", - "data": [] + "code":0, + "msg":"ok", + "message":"ok", + "data":{ + "sub_session_key":"", + "audit_info":{ + "audit_title_reason":"先发后审", + "update_title":"", + "audit_title_status":2, + "audit_title":"测试" + } + } +} +``` + +
+ +修改直播间`10352053`分区为`40` + +```shell +curl 'https://api.live.bilibili.com/room/v1/Room/update' \ + --data-urlencode 'room_id=10352053' \ + --data-urlencode 'area_id=40' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "ok", + "message": "ok", + "data": { + "sub_session_key": "", + "audit_info": { + "audit_title_reason": "", + "update_title": "", + "audit_title_status": 0 + } + } +} +``` + +
+ +给直播间`11996900`添加一个标签为`测试标签` + +```shell +curl 'https://api.live.bilibili.com/room/v1/Room/update' \ + --data-urlencode 'room_id=11996900' \ + --data-urlencode 'add_tag=测试标签' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "ok", + "message": "ok", + "data": { + "sub_session_key": "", + "audit_info": { + "audit_title_reason": "", + "update_title": "", + "audit_title_status": 0 + } + } +} +``` + +
+ +给直播间`11996900`删除内容为`测试标签`的标签 + +```shell +curl 'https://api.live.bilibili.com/room/v1/Room/update' \ + --data-urlencode 'room_id=11996900' \ + --data-urlencode 'del_tag=测试标签' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "ok", + "message": "ok", + "data": { + "sub_session_key": "", + "audit_info": { + "audit_title_reason": "", + "update_title": "", + "audit_title_status": 0 + } + } } ``` @@ -152,7 +274,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | -------- | ---- | ------------------------ | ------ | ----------------------------------- | | room_id | num | 直播间id | 必要 | 必须为自己的直播间id | | area_v2 | num | 直播分区id(子分区id) | 必要 | 详见[直播分区](live_area.md) | -| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link
web端:
bililink:android_link | +| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link
web在线直播:web_link
bililink:android_link | | csrf | str | CSRF Token(位于cookie) | 必要 | | **json回复:** @@ -171,13 +293,19 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | 字段 | 类型 | 内容 | 备注 | | --------- | ----- | ---------------- | ---------------------- | | change | num | 是否改变状态 | 0:未改变
1:改变 | -| status | str | LIVE | | +| status | str | 直播间状态 | `LIVE` | | room_type | num | 0 | 作用尚不明确 | | rtmp | obj | RTMP推流地址信息 | | | protocols | array | ??? | 作用尚不明确 | | try_time | str | ??? | 作用尚不明确 | -| live_key | str | ??? | 作用尚不明确 | +| live_key | str | 标记直播场次的key | | +| sub_session_key | str | 信息变动标识 | | | notice | obj | ??? | 作用尚不明确 | +| qr | str | `""` | 作用尚不明确 | +| need_face_auth | bool | 需要人脸识别? | 作用尚不明确 | +| service_source | str | ??? | 作用尚不明确 | +| rtmp\_backup | null | ??? | 作用尚不明确 | +| up_stream_extra | obj | 主播推流额外信息? | | `data`中的`rtmp`对象: @@ -215,6 +343,12 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | button_text | str | 空 | 作用尚不明确 | | button_url | str | 空 | 作用尚不明确 | +`data`中的`up_stream_extra`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| isp | str | 主播的互联网服务提供商 | | + **示例:** 以`27`作为分区id开播直播间`10352053` @@ -237,39 +371,47 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \ ```json { - "code": 0, - "msg": "", - "message": "", - "data": { - "change": 1, - "status": "LIVE", - "room_type": 0, - "rtmp": { - "addr": "rtmp://txy.live-send.acg.tv/live-txy/", - "code": "?streamname=live_293793435_1567354&key=***", - "new_link": "http://tcdns.myqcloud.com:8086/bilibili_redirect?up_rtmp=txy.live-send.acg.tv%2Flive-txy%2F%3Fstreamname%3Dlive_293793435_1567354%26key%3D***", - "provider": "txy" - }, - "protocols": [ - { - "protocol": "rtmp", - "addr": "rtmp://txy.live-send.acg.tv/live-txy/", - "code": "?streamname=live_293793435_1567354&key=***", - "new_link": "http://tcdns.myqcloud.com:8086/bilibili_redirect?up_rtmp=txy.live-send.acg.tv%2Flive-txy%2F%3Fstreamname%3Dlive_293793435_1567354%26key%3D***", - "provider": "txy" - } - ], - "try_time": "0000-00-00 00:00:00", - "live_key": "l:one:live:record:10352053:1589344980", - "notice": { - "type": 1, - "status": 0, - "title": "", - "msg": "", - "button_text": "", - "button_url": "" - } + "code": 0, + "data":{ + "change": 1, + "status": "LIVE", + "try_time": "0000-00-00 00:00:00", + "room_type": 0, + "live_key": "608336837537435443", + "sub_session_key": "608336837537435443sub_time:1747292297", + "rtmp":{ + "type": 1, + "addr": "rtmp://live-push.bilivideo.com/live-bvc/", + "code": "?streamname=live_348892132_32373699\u0026key=e03061d4a7529d8eaa322dc4d330ca1c\u0026schedule=rtmp\u0026pflag=11", + "new_link": "https://core.bilivideo.com/video/uplinkcore/selfbuild/schedule?up_rtmp=live-push.bilivideo.com%2Flive-bvc%2F%3Fstreamname%3Dlive_348892132_32373699%26key%3De73061d8a7539d8eaa233dc4d880ca1c%26schedule%3Drtmp%26pflag%3D11\u0026edge=edge", + "provider": "live" + }, + "protocols":[ + { + "protocol": "rtmp", + "addr": "rtmp://live-push.bilivideo.com/live-bvc/","code":"?streamname=live_348892132_32373699\u0026key=e73061d4a1002d8eaa322dc4d880ca1c\u0026schedule=rtmp\u0026pflag=11", + "new_link": "https://core.bilivideo.com/video/uplinkcore/selfbuild/schedule?up_rtmp=live-push.bilivideo.com%2Flive-bvc%2F%3Fstreamname%3Dlive_348892132_32373699%26key%3De10298d4a7539d8eaa322dc4d220ca1c%26schedule%3Drtmp%26pflag%3D11\u0026edge=edge", + "provider": "txy" + } + ], + "notice":{ + "type": 1, + "status": 0, + "title": "", + "msg": "", + "button_text": "", + "button_url": "" + }, + "qr": "", + "need_face_auth": false, + "service_source": "live-streaming", + "rtmp_backup": null, + "up_stream_extra":{ + "isp": "电信" } + }, + "message": "", + "msg": "" } ``` @@ -308,7 +450,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \ | 字段 | 类型 | 内容 | 备注 | | ------ | ---- | ------------ | ---------------------- | | change | num | 是否改变状态 | 0:未改变
1:改变 | -| status | str | PREPARING | | +| status | str | 直播间状态 | `PREPARING`、`ROUND` | **示例:** @@ -316,9 +458,9 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \ ```shell curl 'https://api.live.bilibili.com/room/v1/Room/stopLive' \ ---data-urlencode 'room_id=10352053' \ ---data-urlencode 'csrf=xxx' \ --b 'SESSDATA=xxx;bili_jct=xxx' + --data-urlencode 'room_id=10352053' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' ```
@@ -397,114 +539,3 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/index/updateRoomNews' \ ```
- -## 编辑直播间标签 - -> https://api.live.bilibili.com/room/v1/Room/update - -*请求方式:POST* - -认证方式:Cookie(SESSDATA) - -鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同 - -**正文参数( application/x-www-form-urlencoded ):** - -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------- | ---- | ------------------------ | ------ | -------------------- | -| room_id | num | 直播间id | 必要 | 必须为自己的直播间id | -| add_tag | str | 要添加的标签 | 必要 | 最大10个字符 | -| del_tag | str | 要删除的标签 | 必要 | | -| csrf | str | CSRF Token(位于cookie) | 必要 | | -| csrf_token | str | CSRF Token(位于 cookie) | | | - -**json回复:** - -根对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------ | -| code | num | 返回值 | 0:成功
65530:token错误(登录错误)
1:错误 | -| data | obj | | | -| message | str | 错误信息 | 默认为ok | -| msg | str | 错误信息 | 默认为ok | - -`data`对象: - -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ---- | ---- | ---- | -| audit_info | obj | | | -| sub_session_key | str | | | - -`data`中的`audit_info`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------------------ | ---- | ---- | ---- | -| audit_title_reason | str | | | -| audit_title_status | num | 0 | | -| update_title | str | | | - -**示例:** - -给直播间`11996900`添加一个标签为`测试标签` - -```shell -curl 'https://api.live.bilibili.com/room/v1/Room/update' \ ---data-urlencode 'room_id=11996900' \ ---data-urlencode 'add_tag=测试标签' \ ---data-urlencode 'csrf_token=xxx' \ ---data-urlencode 'csrf=xxx' \ --b 'SESSDATA=xxx;bili_jct=xxx' -``` - -
-查看响应示例: - -```json -{ - "code": 0, - "msg": "ok", - "message": "ok", - "data": { - "sub_session_key": "", - "audit_info": { - "audit_title_reason": "", - "update_title": "", - "audit_title_status": 0 - } - } -} -``` -
- -给直播间`11996900`删除内容为`测试标签`的标签 - -```shell -curl 'https://api.live.bilibili.com/room/v1/Room/update' \ ---data-urlencode 'room_id=11996900' \ ---data-urlencode 'del_tag=测试标签' \ ---data-urlencode 'csrf_token=xxx' \ ---data-urlencode 'csrf=xxx' \ --b 'SESSDATA=xxx;bili_jct=xxx' -``` - -
-查看响应示例: - -```json -{ - "code": 0, - "msg": "ok", - "message": "ok", - "data": { - "sub_session_key": "", - "audit_info": { - "audit_title_reason": "", - "update_title": "", - "audit_title_status": 0 - } - } -} -``` - -