bilibili-API-collect/docs/message/private_msg_content.md
wuziqian211 b8da0e5b18 update
2024-03-16 03:32:52 +08:00

354 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 私信消息类型、内容说明
## 文字消息(`msg_type=1`
在发送私信时,请确保下面的对象合法且 `content` 项的值为非空文本,否则会提示 `请求错误`
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---- |
| content | str | 私信内容 | |
**示例:**
内容为 `Hello` 的文字消息
```json
{
"content": "Hello"
}
```
## 图片消息(`msg_type=2`
在发送私信时,请确保下面的对象合法且 `url` 项的值为 B 站的图床 url否则会报 21037 `图片格式不合法,不要调戏接口啦` 错误
根对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ---------- | ------------------------- |
| url | str | 图片url | 一般为B站图床url |
| height | num | 图片高度 | 单位:像素(非必要) |
| width | num | 图片宽度 | 单位:像素(非必要) |
| type | str | 图片格式 | (非必要) |
| original | num | 是否为原图 | 当本参数值为`1`时APP上会出现“下载原图”按钮非必要 |
| size | num | 文件大小 | 单位:千字节(非必要) |
**示例:**
图片 `https://message.biliimg.com/bfs/im_new/c161fdf51d901c1607a15e30f10116dd425503913.jpg`
```json
{
"url": "https://message.biliimg.com/bfs/im_new/c161fdf51d901c1607a15e30f10116dd425503913.jpg",
"height": 300,
"width": 300,
"imageType": "jpeg",
"original": 1,
"size": 55.443
}
```
## 撤回消息(`msg_type=5`
内容为目标私信的 `msg_key`
请确保目标私信存在、在撤回有效期里,且与发送的私信在同一会话内;成功发送此私信后,目标私信的 `msg_status` 会变成 `1`
**示例:**
假如存在 `msg_key``7345551441311046575` 的私信 A用户发送了 `msg_type``5``content` 为以下内容的私信 B
```json
7345551441311046575
```
若发送成功,则私信 A 会被撤回,并且其 `msg_status` 也会变成 `1`
## 自定义表情消息(`msg_type=6`
对象结构基本同 [图片消息](#图片消息msg_type2)
## 分享消息(`msg_type=7`
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ---------------- | -------------------------------------------------------------- |
| author | str | 分享内容作者 | 此项不实时更新,在发送私信时设置(非必要) |
| headline | str | 分享内容主标题 | 比 `title` 更突出;此项不实时更新,在发送私信时设置(非必要) |
| id | num | 分享内容id | |
| 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番剧 |
| source_desc | str | 分享内容类型说明 | 仅当 `source` 值为 `16` 时有此项 |
| thumb | str | 分享内容封面 | 此项不实时更新,在发送私信时设置 |
| title | str | 分享内容标题 | 此项不实时更新,在发送私信时设置 |
| url | str | 分享内容url | (非必要) |
| bvid | str | 视频BV号 | (非必要) |
**示例:**
```json
{
"author": "社会易姐QwQ",
"headline": "",
"id": 246551172,
"source": 5,
"thumb": "http://i2.hdslb.com/bfs/archive/14ba78056f946ece8c954a10677ef6b073edb178.jpg",
"title": "合 成 大 東 瓜",
"bvid": "BV16v411e7CW"
}
```
## 小程序消息(`msg_type=9`
待补充
## 通知消息(`msg_type=10`
此类型消息仅可接收,不可直接发送
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------------- | ----- | ------------- | ------------------------- |
| title | str | 通知标题 | |
| text | str | 通知内容 | |
| jump_text | str | 按钮1提示文字 | |
| jump_uri | str | 按钮1跳转链接 | |
| modules | array | 详细信息 | |
| jump_text_2 | str | 按钮2提示文字 | |
| jump_uri_2 | str | 按钮2跳转链接 | |
| jump_text_3 | str | 按钮3提示文字 | |
| jump_uri_3 | str | 按钮3跳转链接 | |
| notifier | obj | 发送者信息 | |
| jump_uri_config | obj | 按钮1配置 | |
| jump_uri_2_config | obj | 按钮2配置 | |
| jump_uri_3_config | obj | 按钮3配置 | |
| biz_content | obj | 扩展信息 | |
**示例:**
```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
}
}
```
## 视频推送消息(`msg_type=11`
此类型消息仅可接收,不可直接发送
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------ | ------------------------------------------------------ |
| title | str | 视频标题 | 接收私信时实时更新此项,若视频失效则为空文本 |
| times | num | 视频时长 | 以秒为单位,接收私信时实时更新此项,若视频失效则为 `0` |
| cover | str | 视频封面 | 接收私信时实时更新此项,若视频失效则为空文本 |
| rid | num | 视频AV号 | |
| type_ | num | | **作用尚不明确** |
| desc | str | 视频简介 | 接收私信时实时更新此项,若视频失效则为空文本 |
| bvid | str | 视频BV号 | |
| view | num | 视频播放量 | 接收私信时实时更新此项,若视频失效则为 `0` |
| danmaku | num | 视频弹幕数 | 接收私信时实时更新此项,若视频失效则为 `0` |
| pub_date | num | 视频发布时间 | 秒级时间戳,若视频失效则为 `0` |
| attach_msg | 有效时obj<br />无效时null | UP主赠言 | |
**示例:**
```json
{
"title": "【2023嵌入式大赛】浅浅测试一下龙芯开发板",
"times": 308,
"cover": "http://i2.hdslb.com/bfs/archive/880c937de9af758451aa94ee29771e0264c1903a.jpg",
"rid": 740817783,
"type_": 8,
"desc": "最近把龙芯开发板部分(任务一)程序完成了,时间非常紧迫,就不知道为啥突然给省赛加个(本来国赛的题\n从硬件焊接开始到软件整完不过5天啊喂肝疼过几天比赛完发硬件制作过程\n硬件使用龙芯一号LS1B010SOC软件使用 C 语言+FreeRTOS+VSCode 开发",
"bvid": "BV1Dk4y1E7MZ",
"view": 13492,
"danmaku": 5,
"pub_date": 1683381582,
"attach_msg": null
}
```
## 专栏推送消息(`msg_type=12`
此类型消息仅可接收,不可直接发送
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ------------ | ------------------------------------------------------ |
| rid | num | 专栏CV号 | |
| title | str | 专栏标题 | 接收私信时实时更新此项,若专栏失效则为 `内容已失效` |
| summary | str | 专栏内容概要 | 接收私信时实时更新此项,若专栏失效则为空文本 |
| author | str | 专栏UP主昵称 | 接收私信时实时更新此项,若专栏失效则为空文本 |
| view | num | 专栏观看数 | 接收私信时实时更新此项,若专栏失效则为 `0` |
| like | num | 专栏点赞数 | 接收私信时实时更新此项,若专栏失效则为 `0` |
| reply | num | 专栏评论数 | 接收私信时实时更新此项,若专栏失效则为 `0` |
| template_id | num | | **作用尚不明确** |
| image_urls | 有效时array<br />无效时null | 专栏封面列表 | 接收私信时实时更新此项,若专栏失效则为 `null` |
| attach_msg | 有效时obj<br />无效时null | UP主赠言 | |
| pub_date | num | 专栏发布时间 | 秒级时间戳,若专栏失效则为 `0` |
**示例:**
```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
}
```
## 图片卡片消息(`msg_type=13`
此类型消息仅可接收,不可直接发送
根对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ------------------- | -------------------- |
| pic_url | str | 图片url | |
| jump_url | str | 点击图片跳转到的url | |
| title | str | 文字说明 | 显示在聊天列表的文字 |
**示例:**
```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": "原神,启动!"
}
```
## 被关注时的自动推送消息(`msg_type=16`
**示例:**
```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": "195299",
"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": "151613",
"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": "56077",
"icon3": 1,
"field4": "102",
"icon4": 3
}]
}
```
## 系统提示消息(`msg_type=18`
此类型消息仅可接收,不可直接发送
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------- |
| content | str | 提示列表 | 经过序列化后的JSON数组 |
`content`文本经JSON解析后的数组
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | ---- |
| 0 | obj | 提示1 | |
| n | obj | 提示(n+1) | |
| …… | obj | …… | …… |
`content`文本经JSON解析后的数组中的对象
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---- | ------------------------ | ----------- |
| text | str | 提示文字 | |
| color_day | str | 浅色模式下的提示文字颜色 | HEX颜色代码 |
| color_nig | str | 深色模式下的提示文字颜色 | HEX颜色代码 |
**示例:**
```json
{
"content": "[{\"text\":\"对方主动回复或关注你前最多发送1条消息\",\"color_day\":\"#9499A0\",\"color_nig\":\"#9499A0\"}]"
}
```