XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/bilibili-API-collect

add more docs

8539abd
wuziqian211 <65224318+wuziqian211@users.noreply.github.com>
提交于

代码差异

2 个文件 +236 -18
Modified docs/message/private_msg.md +40 -5
@@ -4,7 +4,42 @@
4 4
5 5 ### 会话对象
6 6
7 待补充……
7 | 字段 | 类型 | 内容 | 备注 |
8 | -------------------- | ---- | -------------- | -------------------------------------------------------------- |
9 | talker_id | num | 聊天对象的id | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id |
10 | session_type | num | 聊天对象的类型 | 1:用户<br />2:粉丝团 |
11 | at_seqno | num | 最近一次未读at自己的消息的序列号 | 在粉丝团时有效,若没有未读的at自己的消息则为`0` |
12 | top_ts | num | | |
13 | group_name | str | 粉丝团名称 | 在粉丝团时有效 |
14 | group_cover | str | 粉丝团头像 | 在粉丝团时有效 |
15 | is_follow | num | 是否已关注对方 | 在用户会话中有效 |
16 | is_dnd | num | 是否设置了免打扰 | |
17 | ack_seqno | num | 最近一次已读的消息序列号 | |
18 | ack_ts | num | 最近一次已读时间 | 微秒级时间戳|
19 | session_ts | num | 会话时间 | 微秒级时间戳|
20 | unread_count | num | 未读消息数 | |
21 | last_msg | obj | 最近的一条消息 | 详见[私信主体对象](#私信主体对象) |
22 | group_type | num | 粉丝团类型 | 在粉丝团时有效<br />0:应援团<br />2:官方群 |
23 | can_fold | num | | |
24 | status | num | 会话状态 | |
25 | max_seqno | num | 最近一条消息的序列号 | |
26 | new_push_msg | num | 是否有新推送的消息 | |
27 | setting | num | | |
28 | is_guardian | num | | |
29 | is_intercept | num | 是否被拦截 | |
30 | is_trust | num | 是否不拦截此会话 | |
31 | system_msg_type | num | 系统消息类型 | 0:不是系统消息<br />7:UP主小助手 |
32 | account_info | obj | 会话信息 | 仅在系统消息中出现 |
33 | live_status | num | 是否正在直播 | |
34 | biz_msg_unread_count | num | 未读推送消息数 | |
35 | user_label | null | | |
36
37 `account_info`对象:
38
39 | 字段 | 类型 | 内容 | 备注 |
40 | ------- | ---- | -------- | ---- |
41 | name | str | 会话名称 | |
42 | pic_url | str | 会话头像 | |
8 43
9 44 ### 私信主体对象
10 45
@@ -14,7 +49,7 @@
14 49 | ---------------- | ---- | -------------- | -------------------------------------------------------------- |
15 50 | sender_uid | num | 发送者mid | |
16 51 | receiver_type | num | 接收者类型 | 1:用户<br />2:粉丝团 |
17 | receiver_id | num | 接收者id | `receiver_type` 为 `1` 时表示用户 mid,为 `2` 时表示应援团 id |
52 | receiver_id | num | 接收者id | `receiver_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id |
18 53 | msg_type | num | 消息类型 | 详见[私信消息类型、内容说明](private_msg_content.md) |
19 54 | content | str | 消息内容 | [私信内容对象](private_msg_content.md)经过 JSON 序列化后的文本 |
20 55 | msg_seqno | num | 消息序列号 | 按照时间顺序从小到大 |
@@ -52,7 +87,7 @@
52 87 | 10 | 自动回复 - 关键词回复 | |
53 88 | 11 | 自动回复 - 大航海上船回复 | |
54 89 | 12 | 自动推送 - UP 主赠言 | 在以前稿件的自动推送与其附带的 UP 主赠言是 2 条不同的私信(其中 UP 主赠言的消息来源代码为 12),现在 UP 主赠言已被合并成为稿件自动推送的一部分 |
55 | 13 | 应援团系统提示 | 如:应援团中的提示信息“欢迎xxx入群” |
90 | 13 | 粉丝团系统提示 | 如:粉丝团中的提示信息“欢迎xxx入群” |
56 91 | 16 | (?) | **作用尚不明确** |
57 92 | 17 | 互相关注 | 互相关注时自动发送的私信“我们已互相关注,开始聊天吧~” |
58 93 | 18 | 系统提示 | 如:“对方主动回复或关注你前,最多发送1条消息” |
@@ -138,7 +173,7 @@ curl 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \
138 173
139 174 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
140 175 | ----------------- | ---- | ---------------- | ------ | ------------------------------------------------------ |
141 | talker_id | num | 聊天对象的id | 必要 | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示应援团 id |
176 | talker_id | num | 聊天对象的id | 必要 | `session_type` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id |
142 177 | session_type | num | 聊天对象的类型 | 必要 | 1:用户<br />2:粉丝团 |
143 178 | size | num | 返回消息数量 | 非必要 | 默认为 20,最大为 200 |
144 179 | begin_seqno | num | 开始的序列号 | 非必要 | 提供本参数时返回以本序列号开始(不包括本序列号)的消息 |
@@ -284,7 +319,7 @@ curl -G 'https://api.vc.bilibili.com/svr_sync/v1/svr_sync/fetch_session_msgs' \
284 319 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
285 320 | --------------------- | ---- | ------------------------ | ------ | ---------------------------------------------------- |
286 321 | msg[sender_uid] | num | 发送者mid | 必要 | 必须为自己的 mid |
287 | msg[receiver_id] | num | 接收者id | 必要 | `msg[receiver_type]` 为 `1` 时表示用户 mid,为 `2` 时表示应援团 id |
322 | msg[receiver_id] | num | 接收者id | 必要 | `msg[receiver_type]` 为 `1` 时表示用户 mid,为 `2` 时表示粉丝团 id |
288 323 | msg[receiver_type] | num | 接收者类型 | 必要 | 1:用户<br />2:粉丝团 |
289 324 | msg[msg_type] | num | 消息类型 | 必要 | 详见[私信消息类型、内容说明](private_msg_content.md) |
290 325 | msg[msg_status] | num | 消息状态 | 非必要 | 恒为 `0` |
Modified docs/message/private_msg_content.md +196 -13
@@ -28,6 +28,8 @@
28 28
29 29 在发送私信时,请确保下面的对象合法且 `url` 项的值为 B 站的图床 url,否则会报 21037 `图片格式不合法,不要调戏接口啦` 错误
30 30
31 建议设置 `height` 与 `width` 属性,否则可能会导致消息显示异常
32
31 33 根对象:
32 34
33 35 | 字段 | 类型 | 内容 | 备注 |
@@ -58,7 +60,7 @@
58 60
59 61 内容为目标私信的 `msg_key`
60 62
61 请确保目标私信存在、在撤回有效期(120 秒)里,且与发送的私信在同一会话内;成功发送此私信后,目标私信的 `msg_status` 会变成 `1`
63 请确保目标私信存在、在撤回有效期(120 秒)里,且与发送的私信在同一会话内;成功发送此私信后,目标私信的 `msg_status` 会变成 `1`(在前端会显示目标消息被撤回)
62 64
63 65 **示例:**
64 66
@@ -68,7 +70,7 @@
68 70 7345551441311046575
69 71 ```
70 72
71 若发送成功,则私信 A 会被撤回,并且其 `msg_status` 也会变成 `1`
73 若发送成功,则私信 A 会被撤回(在前端显示该消息被撤回),并且其 `msg_status` 也会变成 `1`
72 74
73 75 ## 自定义表情消息(`msg_type=6`)
74 76
@@ -83,7 +85,7 @@
83 85 | author | str | 分享内容作者 | 此项不实时更新,在发送私信时设置(非必要) |
84 86 | headline | str | 分享内容主标题 | 比 `title` 更突出;此项不实时更新,在发送私信时设置(非必要) |
85 87 | id | num | 分享内容id | |
86 | source | num | 分享内容类型 | ~~1:小视频~~(已弃用)<br />2:相簿<br />3:纯文字<br />4:直播<br />5:视频<br />6:专栏<br />7:番剧(`id` 为 season_id)<br />8:音乐<br />9:国产动画(`id` 为 AV 号)<br />10:图片<br />11:动态<br />16:番剧(`id` 为 epid)<br />17:番剧 |
88 | source | num | 分享内容类型 | ~~1:小视频~~(已弃用)<br />2:相簿<br />3:纯文字<br />4:直播(此类型不常用,见[分享其他内容消息](#分享其他内容消息msg_type14))<br />5:视频<br />6:专栏<br />7:番剧(`id` 为 season_id)<br />8:音乐<br />9:国产动画(`id` 为 AV 号)<br />10:图片<br />11:动态<br />16:番剧(`id` 为 epid)<br />17:番剧 |
87 89 | source_desc | str | 分享内容类型说明 | 仅当 `source` 值为 `16` 时有此项 |
88 90 | thumb | str | 分享内容封面 | 此项不实时更新,在发送私信时设置 |
89 91 | title | str | 分享内容标题 | 此项不实时更新,在发送私信时设置 |
@@ -92,6 +94,8 @@
92 94
93 95 **示例:**
94 96
97 分享 UP 主 “社会易姐QwQ” 的视频 av246551172
98
95 99 ```json
96 100 {
97 101 "author": "社会易姐QwQ",
@@ -106,6 +110,8 @@
106 110
107 111 ### 小程序消息(`msg_type=9`)
108 112
113 由于 B 站并没有对外公开小程序,此消息类型不常用
114
109 115 根对象:
110 116
111 117 | 字段 | 类型 | 内容 | 备注 |
@@ -121,6 +127,8 @@
121 127
122 128 **示例:**
123 129
130 分享 “主站测试专用小程序”
131
124 132 ```json
125 133 {
126 134 "avatar": "http://i0.hdslb.com/bfs/mall/mall/7b/dd/7bdd072290de017593791b52e937ca29.png",
@@ -138,27 +146,80 @@
138 146
139 147 此类型消息仅可接收,不可直接发送
140 148
149 **按钮显示逻辑说明:**
150
151 - **按钮的url:**首先尝试读取 `jump_uri_*_config` 对象中表示当前设备类型的 url(如 `web_uri`、`android_uri` 等);若为空值,则尝试读取 `jump_uri_*_config` 对象中 `all_uri` 的值;若仍为空值,则读取根对象中 `jump_uri_*` 的值;若仍为空值,则不显示该按钮(无论 `jump_text_*` 或 `jump_uri_*_config` 中的 `text` 是否为非空值)
152 - **按钮提示文字:**若按钮是可见的,则先尝试读取 `jump_uri_*_config` 对象中 `text` 的值;若为空值,则读取根对象中 `jump_text_*` 的值;若仍为空值,则提示文字为 `查看详情`
153
141 154 根对象:
142 155
143 156 | 字段 | 类型 | 内容 | 备注 |
144 157 | ----------------- | ----- | ------------- | ------------------------- |
145 158 | title | str | 通知标题 | |
146 159 | text | str | 通知内容 | |
147 | jump_text | str | 按钮1提示文字 | |
148 | jump_uri | str | 按钮1跳转链接 | |
149 | modules | array | 详细信息 | |
150 | jump_text_2 | str | 按钮2提示文字 | |
151 | jump_uri_2 | str | 按钮2跳转链接 | |
152 | jump_text_3 | str | 按钮3提示文字 | |
153 | jump_uri_3 | str | 按钮3跳转链接 | |
154 | notifier | obj | 发送者信息 | |
160 | jump_text | str | 按钮1提示文字 | 若按钮1不存在则为空;若按钮1存在此项也可能为空,此时前端显示文字为 `查看详情` |
161 | jump_uri | str | 按钮1跳转链接 | 若按钮1不存在则为空 |
162 | modules | 有效时:array<br />无效时:null | 详细信息 | |
163 | jump_text_2 | str | 按钮2提示文字 | 若按钮2不存在则为空;若按钮2存在此项也可能为空,此时前端显示文字为 `查看详情` |
164 | jump_uri_2 | str | 按钮2跳转链接 | 若按钮2不存在则为空 |
165 | jump_text_3 | str | 按钮3提示文字 | 若按钮3不存在则为空;若按钮3存在此项也可能为空,此时前端显示文字为 `查看详情` |
166 | jump_uri_3 | str | 按钮3跳转链接 | 若按钮3不存在则为空 |
167 | notifier | 有效时:obj<br />无效时:null | 发送者信息 | |
155 168 | jump_uri_config | obj | 按钮1配置 | |
156 169 | jump_uri_2_config | obj | 按钮2配置 | |
157 170 | jump_uri_3_config | obj | 按钮3配置 | |
158 | biz_content | obj | 扩展信息 | |
171 | biz_content | 有效时:obj<br />无效时:null | 扩展信息 | |
172
173 `modules`数组:
174
175 | 项 | 类型 | 内容 | 备注 |
176 | ---- | ---- | ------------- | ---- |
177 | 0 | obj | 详细信息1 | |
178 | n | obj | 详细信息(n+1) | |
179 | …… | obj | …… | …… |
180
181 `modules`数组中的对象:
182
183 | 字段 | 类型 | 内容 | 备注 |
184 | ------ | ---- | ---- | ---- |
185 | title | str | 标题 | |
186 | detail | str | 内容 | |
187
188 `notifier`对象:
189
190 | 字段 | 类型 | 内容 | 备注 |
191 | ---------- | ---- | ---------- | ------ |
192 | avatar_url | str | 发送者头像 | |
193 | nickname | str | 发送者名称 | |
194 | jump_url | str | 发送者链接 | 可为空 |
195
196 `jump_uri_config`、`jump_uri_2_config`、`jump_uri_3_config`对象:
197
198 | 字段 | 类型 | 内容 | 备注 |
199 | ----------- | ---- | ----------------------- | -------------------- |
200 | all_uri | str | 所有设备的跳转链接 | 若按钮不存在则无此项 |
201 | android_uri | str | Android客户端的跳转链接 | 若按钮不存在则无此项 |
202 | iphone_uri | str | iPhone客户端的跳转链接 | 若按钮不存在则无此项 |
203 | ipad_uri | str | iPad客户端的跳转链接 | 若按钮不存在则无此项 |
204 | web_uri | str | 网页上的跳转链接 | 若按钮不存在则无此项 |
205 | text | str | 按钮提示文字 | 若按钮不存在则为空 |
206
207 `biz_content`对象:
208
209 | 字段 | 类型 | 内容 | 备注 |
210 | ------------ | ---- | ----------- | ---------------- |
211 | cover | str | 封面url | |
212 | backup_cover | str | 备用封面url | |
213 | refresh_type | num | (?) | **作用尚不明确** |
214 | biz_type | num | (?) | **作用尚不明确** |
215 | biz_id1 | str | (?) | **作用尚不明确** |
216 | biz_id2 | str | (?) | **作用尚不明确** |
217 | biz_status | num | (?) | **作用尚不明确** |
159 218
160 219 **示例:**
161 220
221 直播开始提醒
222
162 223 ```json
163 224 {
164 225 "title": "直播开始提醒",
@@ -222,8 +283,17 @@
222 283 | pub_date | num | 视频发布时间 | 秒级时间戳,若视频失效则为 `0` |
223 284 | attach_msg | 有效时:obj<br />无效时:null | UP主赠言 | |
224 285
286 `attach_msg`对象:
287
288 | 字段 | 类型 | 内容 | 备注 |
289 | ------- | ---- | -------- | ---------------------------------------------- |
290 | id | num | 赠言id | |
291 | content | str | 赠言内容 | 会自动加上 `UP主赠言:` 前缀,可能包含私信表情 |
292
225 293 **示例:**
226 294
295 推送视频 av740817783/BV1Dk4y1E7MZ
296
227 297 ```json
228 298 {
229 299 "title": "【2023嵌入式大赛】浅浅测试一下龙芯开发板",
@@ -260,8 +330,17 @@
260 330 | attach_msg | 有效时:obj<br />无效时:null | UP主赠言 | |
261 331 | pub_date | num | 专栏发布时间 | 秒级时间戳,若专栏失效则为 `0` |
262 332
333 `attach_msg`对象:
334
335 | 字段 | 类型 | 内容 | 备注 |
336 | ------- | ---- | -------- | ---------------------------------------------- |
337 | id | num | 赠言id | |
338 | content | str | 赠言内容 | 会自动加上 `UP主赠言:` 前缀,可能包含私信表情 |
339
263 340 **示例:**
264 341
342 推送专栏 cv18275013
343
265 344 ```json
266 345 {
267 346 "rid": 18275013,
@@ -303,8 +382,71 @@
303 382 }
304 383 ```
305 384
385 ### 分享其他内容消息(`msg_type=14`)
386
387 常见于分享直播
388
389 根对象:
390
391 | 字段 | 类型 | 内容 | 备注 |
392 | ------ | ---- | ---------------- | -------------------------------- |
393 | author | str | 分享内容作者 | 此项不实时更新,在发送私信时设置 |
394 | cover | str | 分享内容封面 | 此项不实时更新,在发送私信时设置 |
395 | desc | str | 分享内容简介 | 此项不实时更新,在发送私信时设置 |
396 | source | str | 分享内容类型说明 | 常见的值为 `直播` |
397 | title | str | 分享内容标题 | 此项不实时更新,在发送私信时设置 |
398 | url | str | 分享内容url | |
399
400 **示例:**
401
402 分享直播 ID 21738461
403
404 ```json
405 {
406 "author": "哔哩哔哩晚会",
407 "cover": "https://i1.hdslb.com/bfs/face/1b593d28fcd0cf63837c3ea80ac96d01bb85ec3b.jpg",
408 "desc": "主播:哔哩哔哩晚会 https://live.bilibili.com/21738461",
409 "source": "直播",
410 "title": "2023最美的夜 bilibili晚会",
411 "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"
412 }
413 ```
414
306 415 ### 被关注时的自动推送消息(`msg_type=16`)
307 416
417 一般仅在开启了 B 站的 “被关注回复” 功能与勾选 “被关注后,向关注我的人推送我的往期作品” 选项(仅部分用户会显示此选项)时才会发送此类型消息,紧接在自动发送的文字消息其后
418
419 根对象:
420
421 | 字段 | 类型 | 内容 | 备注 |
422 | ------------- | ----- | ---------------- | ------------------------------------ |
423 | main_title | str | 主标题 | 一般为 `更多宝藏内容` |
424 | reply_content | str | 自动回复文字内容 | 仅显示在聊天列表,在私信内容中不显示 |
425 | sub_cards | array | 推送的作品列表 | 一般为3个 |
426
427 `sub_cards`数组:
428
429 | 项 | 类型 | 内容 | 备注 |
430 | ---- | ---- | --------- | ---- |
431 | 0 | obj | 作品1 | |
432 | n | obj | 作品(n+1) | |
433 | …… | obj | …… | …… |
434
435 `sub_cards`数组中的对象:
436
437 | 字段 | 类型 | 内容 | 备注 |
438 | --------- | ---- | ------------ | -------------------------------------------------------------- |
439 | card_id | num | 作品id | 当作品为视频时:表示AV号<br />当作品为专栏时:表示CV号 |
440 | card_type | num | 作品类型 | 1:视频 |
441 | jump_url | str | 作品链接 | |
442 | cover_url | str | 作品封面url | |
443 | field1 | str | 作品标题 | |
444 | field2 | str | 作品发布时间 | 格式:`YYYY-MM-DD` |
445 | field3 | str | 字段3 | 当作品为视频时:表示作品播放量<br />当作品为专栏时:表示阅读量 |
446 | icon3 | num | 图标3类型 | 1:播放量 |
447 | field4 | str | 字段4 | 当作品为视频时:表示作品弹幕数<br />当作品为专栏时:表示评论数 |
448 | icon4 | num | 图标4类型 | 3:弹幕数 |
449
308 450 **示例:**
309 451
310 452 ```json
@@ -350,7 +492,7 @@
350 492
351 493 ### 系统提示消息(`msg_type=18`)
352 494
353 此类型消息仅可接收,不可直接发送
495 此类型消息仅可接收,不可直接发送;由系统自动发送,但仅自己可见
354 496
355 497 根对象:
356 498
@@ -376,6 +518,8 @@
376 518
377 519 **示例:**
378 520
521 若自己与对方从未聊过天,且对方未关注自己,则会有系统提示
522
379 523 ```json
380 524 {
381 525 "content": "[{\"text\":\"对方主动回复或关注你前,最多发送1条消息\",\"color_day\":\"#9499A0\",\"color_nig\":\"#9499A0\"}]"
@@ -386,4 +530,43 @@
386 530
387 531 以下消息类型仅常见于粉丝团中的系统消息(`receiver_type` 为 `2` 且 `sender_uid` 为 `0`)
388 532
533 ### 成员入群消息(`msg_type=301`)
534
535 ### 成员退群消息(`msg_type=302`)
536
537 ### 粉丝团冻结消息(`msg_type=303`)
538
539 ### 粉丝团解散消息(`msg_type=304`)
540
541 ### 粉丝团开通消息(`msg_type=305`)
542
543 ### 成员入群消息(`msg_type=306`)
544
545 以上6种消息类型均为以下数据类型结构
546
547 根对象:
548
549 | 字段 | 类型 | 内容 | 备注 |
550 | -------- | ---- | -------- | ---- |
551 | group_id | num | 粉丝团id | |
552 | content | str | 提示文字 | |
553
554 **示例:**
389 555
556 `社会易姐QwQ的应援团` 开通的消息
557
558 ```json
559 {
560 "group_id": 221082140,
561 "content": "社会易姐QwQ的应援团开通啦 (>▽<)"
562 }
563 ```
564
565 成员 `wuziqian211` 进入 `社会易姐QwQ的应援团` 的消息
566
567 ```json
568 {
569 "group_id": 221082140,
570 "content": "欢迎wuziqian211入群"
571 }
572 ```