# 私信消息类型、内容说明
## 通用消息类型
以下消息类型适用于大多数会话
### 文字消息(`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`
请确保目标私信存在、在撤回有效期(120 秒)里,且与发送的私信在同一会话内;成功发送此私信后,目标私信的 `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:小视频~~(已弃用)
2:相簿
3:纯文字
4:直播
5:视频
6:专栏
7:番剧(`id` 为 season_id)
8:音乐
9:国产动画(`id` 为 AV 号)
10:图片
11:动态
16:番剧(`id` 为 epid)
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`)
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ------------ | ------------------------- |
| avatar | str | 小程序图标 | |
| cover | str | 小程序封面 | |
| id | str | 小程序id | |
| jump_uri | str | 小程序链接 | |
| label_cover | str | 标签图标 | |
| label_name | str | 标签文字内容 | |
| name | str | 小程序名称 | |
| title | str | 小程序标题 | |
**示例:**
```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": "主站测试专用小程序"
}
```
### 通知消息(`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`)
此类型消息仅可接收,不可直接发送;有小概率会出现即使视频存在,也只会出现 `rid`、`type` 和 `attach_msg` 三项的现象
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------ | ------------------------------------------------------ |
| 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
无效时:null | UP主赠言 | |
**示例:**
```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
}
```
### 专栏推送消息(`msg_type=12`)
此类型消息仅可接收,不可直接发送;有小概率会出现即使专栏存在,也只会出现 `rid`、`type` 和 `attach_msg` 三项的现象
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ------------ | ------------------------------------------------------ |
| 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
无效时:null | 专栏封面列表 | 接收私信时实时更新此项,若专栏失效则为 `null` |
| attach_msg | 有效时:obj
无效时: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\"}]"
}
```
## 粉丝团消息类型
以下消息类型仅常见于粉丝团中的系统消息(`receiver_type` 为 `2` 且 `sender_uid` 为 `0`)