消息设置

获取用户偏好设置

https://api.vc.bilibili.com/link_setting/v1/link_setting/getopen in new window

请求方式:GET 或 POST

认证方式:Cookie(SESSDATA)

url参数(GET)或 正文参数(application/x-www-form-urlencoded,POST):

参数名类型内容必要性备注
msg_notifynum是否显示 “消息提醒” 设置非必要若此项为任意整数,则返回数据中有 msg_notify
show_unfollowed_msgnum是否显示 “收起未关注人消息” 设置非必要若此项为任意整数,则返回数据中有 show_unfollowed_msg
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web
csrf_tokenstrCSRF Token(位于cookie)POST方式必要
csrfstrCSRF Token(位于cookie)POST方式必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
msgstr错误信息默认为0
messagestr错误信息默认为0
ttlnum1
dataobj信息本体

data 对象:

字段类型内容备注
show_unfollowed_msgnum收起未关注人消息请求参数 show_unfollowed_msg 为整数时显示此项
0:不收起
1:收起
msg_notifynum消息提醒请求参数 msg_notify 为整数时显示此项
1:接收
3:不接收
set_likenum收到的赞提醒(旧)0:接收
5:不接收
set_commentnum回复我的提醒(旧)0:所有人
1:关注的人
2:不接受任何消息提醒
set_atnum@ 我的提醒 (旧)0:所有人
1:关注的人
2:不接受任何消息提醒
is_group_foldnum收起应援团消息0:不收起
1:收起
should_receive_groupnum接收应援团消息0:不接收
1:接收
receive_unfollow_msgnum接收未关注人消息前端隐藏此开关
0:不接收
1:接收
followed_replynum被关注回复0:关闭
1:开启
keys_replynum关键词回复0:关闭
1:开启
recv_replynum收到消息回复0:关闭
1:开启
voyage_replynum大航海上船回复0:关闭
1:开启
recommend_followed_replynum被关注时自动推送作品0:关闭
1:开启
ai_interceptnum私信智能拦截0:关闭
1:开启
anti_harassmentnull防骚扰和互动人群设置此接口恒返回 null
set_recv_replynum收到回复提醒(新)0:所有人
1:关注的人
2:不接受任何消息提醒
set_recv_likenum收到喜欢提醒(新)0:接收
2:不接收
set_new_follownum新增粉丝提醒(新)0:接收
2:不接收

示例:

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'
查看响应示例:
{
  "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
  }
}

修改用户偏好设置

https://api.vc.bilibili.com/link_setting/v1/link_setting/setopen in new window

请求方式:POST

认证方式:Cookie(SESSDATA)

参数名称与值基本同「获取用户偏好设置」中的 data 对象,修改设置时只需提供修改的设置对应的参数即可

开启自动回复功能需要 1000 粉丝及以上,否则会提示 700009 权限不足

正文参数(application/x-www-form-urlencoded):

参数名类型内容必要性备注
show_unfollowed_msgnum收起未关注人消息非必要0:不收起
1:收起
msg_notifynum消息提醒非必要1:接收
3:不接收
set_likenum收到的赞提醒非必要0:接收
5:不接收
set_commentnum回复我的提醒非必要0:所有人
1:关注的人
2:不接受任何消息提醒
set_atnum@ 我的提醒非必要0:所有人
1:关注的人
2:不接受任何消息提醒
is_group_foldnum收起应援团消息非必要0:不收起
1:收起
should_receive_groupnum接收应援团消息非必要0:不接收
1:接收
receive_unfollow_msgnum接收未关注人消息非必要0:不接收
1:接收
followed_replynum被关注回复非必要需要有自动回复权限
0:关闭
1:开启
keys_replynum关键词回复非必要需要有自动回复权限
0:关闭
1:开启
recv_replynum收到消息回复非必要需要有自动回复权限
0:关闭
1:开启
voyage_replynum大航海上船回复非必要需要有自动回复权限
0:关闭
1:开启
recommend_followed_replynum被关注时自动推送作品非必要需要有自动回复权限
0:关闭
1:开启
ai_interceptnum私信智能拦截非必要0:关闭
1:开启
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web
csrf_tokenstrCSRF Token(位于cookie)必要
csrfstrCSRF Token(位于cookie)必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
2:非法参数
700009:权限不足
msgstr错误信息默认为0
messagestr错误信息默认为0
ttlnum1
dataobj信息本体空对象

示例:

开启接收消息提醒

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'
查看响应示例:
{
  "code": 0,
  "msg": "0",
  "message": "0",
  "ttl": 1,
  "data": {}
}

获取消息屏蔽词

https://api.vc.bilibili.com/x/im/link_setting/get_block_wordsopen in new window

请求方式:GET

认证方式:Cookie(SESSDATA)

url参数:

参数名类型内容必要性备注
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
msgstr错误信息默认为0
messagestr错误信息默认为0
ttlnum1
dataobj信息本体

data 对象:

字段类型内容备注
words有效时:array
无效时:null
消息屏蔽词列表
messagestr(?)作用尚不明确
max_word_lengthnum单个屏蔽词最大长度目前为 20
max_words_sizenum屏蔽词最大数量目前为 200

data 中的 words 数组:

类型内容备注
0obj屏蔽词1
nobj屏蔽词(n+1)
……obj…………

words 数组中的对象:

字段类型内容备注
contentstr屏蔽词内容
ctimenum屏蔽词添加时间秒级时间戳

示例:

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'
查看响应示例:
{
  "code": 0,
  "msg": "0",
  "message": "0",
  "ttl": 1,
  "data": {
    "words": [
      {
        "content": "屏蔽词",
        "ctime": 1746422088
      }
    ],
    "message": "",
    "max_word_length": 20,
    "max_words_size": 200
  }
}

添加消息屏蔽词

https://api.vc.bilibili.com/x/im/link_setting/add_block_wordopen in new window

请求方式:POST

认证方式:Cookie(SESSDATA)

正文参数(application/x-www-form-urlencoded):

参数名类型内容必要性备注
contentstr屏蔽词内容必要最多 20 个字符
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web
csrf_tokenstrCSRF Token(位于cookie)必要
csrfstrCSRF Token(位于cookie)必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
-400:请求错误
1900004:添加失败,屏蔽词限制最多20个字
1900005:添加失败,最多可以添加200个屏蔽词
1900006:添加失败,屏蔽词重复
1900007:添加失败,屏蔽词不支持空格
msgstr错误信息默认为0
messagestr错误信息默认为0
ttlnum1
dataobj信息本体空对象

示例:

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'
查看响应示例:
{
  "code": 0,
  "msg": "0",
  "message": "0",
  "ttl": 1,
  "data": {}
}

删除消息屏蔽词

https://api.vc.bilibili.com/x/im/link_setting/del_block_wordopen in new window

请求方式:POST

认证方式:Cookie(SESSDATA)

正文参数(application/x-www-form-urlencoded):

参数名类型内容必要性备注
contentstr屏蔽词内容必要
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web
csrf_tokenstrCSRF Token(位于cookie)必要
csrfstrCSRF Token(位于cookie)必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
-400:请求错误
msgstr错误信息默认为0
messagestr错误信息默认为0
ttlnum1
dataobj信息本体空对象

示例:

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'
查看响应示例:
{
  "code": 0,
  "msg": "0",
  "message": "0",
  "ttl": 1,
  "data": {}
}

获取自动回复文本/关键词回复规则

https://api.vc.bilibili.com/x/im/auto_reply/get_reply_textopen in new window

请求方式:GET

认证方式:Cookie(SESSDATA)

url参数:

参数名类型内容必要性备注
type[]num自动回复类型必要1:被关注回复
2:关键词回复
3:收到消息回复
5:大航海上船回复
uidnum自己的mid非必要
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
2:非法参数
messagestr错误信息默认为0
ttlnum1
dataobj信息本体

data 对象:

字段类型内容备注
textsarray自动回复文本若未设置此类型自动回复文本,则没有此项

data 中的 texts 数组:

类型内容备注
0obj文本1
nobj文本(n+1)当类型为 “关键词回复” 时可有多项
……obj…………

texts 数组中的对象:

字段类型内容备注
idnum自动回复规则id
uidnum自己的mid
typenum自动回复类型同请求参数 type[]
titlestr规则名称当类型为 “关键词回复” 时有效,否则为空文本
key1str精确匹配关键词当类型为 “关键词回复” 时有效,否则为空文本
以中文逗号分隔每一个关键词
key2str模糊匹配关键词当类型为 “关键词回复” 时有效,否则为空文本
以中文逗号分隔每一个关键词
replystr回复内容

示例:

获取关键词回复规则

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'
查看响应示例:
{
  "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_微笑]摸摸您 (^・ω・^)"
      }
    ]
  }
}

修改自动回复文本/关键词回复规则

https://api.vc.bilibili.com/x/im/auto_reply/set_reply_textopen in new window

请求方式:POST

认证方式:Cookie(SESSDATA)

仅调用本接口不会开启或关闭自动回复功能,请使用 “修改用户偏好设置” 接口

正文参数(application/x-www-form-urlencoded):

参数名类型内容必要性备注
typenum自动回复类型必要1:被关注回复
2:关键词回复
3:收到消息回复
5:大航海上船回复
replystr回复内容必要最多 500 个字符
idstr规则id非必要当类型为 “关键词回复” 时有效
0 或为空时新增回复规则,否则修改 id 对应的回复规则
titlestr规则名称关键词回复必要当类型为 “关键词回复” 时有效,最多 30 个字符
key1str精确匹配关键词关键词回复必要(可选)当类型为 “关键词回复” 时有效,key1key2 须至少填一个参数
以中文逗号分隔每一个关键词,最多 20 项
key2str模糊匹配关键词关键词回复必要(可选)当类型为 “关键词回复” 时有效,key1key2 须至少填一个参数
以中文逗号分隔每一个关键词,最多 20 项
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web
csrf_tokenstrCSRF Token(位于cookie)必要
csrfstrCSRF Token(位于cookie)必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
27011:请求参数错误
1500001:自动回复内容太长
1500002:规则数量已达上限,请删除后新建
1500003:您保存的内容含敏感信息,请修改后重试
messagestr错误信息默认为0
ttlnum1
dataobj信息本体空对象

示例:

修改关键词回复规则 id=201321,规则名称为 谢谢,精确匹配关键词为 谢谢,Thank you,感谢,回复内容为 嗯嗯,不用谢[tv_微笑]

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'
查看响应示例:
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {}
}

删除关键词回复规则

https://api.vc.bilibili.com/x/im/auto_reply/del_reply_textopen in new window

请求方式:POST

认证方式:Cookie(SESSDATA)

正文参数(application/x-www-form-urlencoded):

参数名类型内容必要性备注
idstr规则id必要
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web
csrf_tokenstrCSRF Token(位于cookie)必要
csrfstrCSRF Token(位于cookie)必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
-500:服务器错误
1003:不能删除别人的规则
messagestr错误信息默认为0
ttlnum1
dataobj信息本体空对象

示例:

删除关键词回复规则 id=201321

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'
查看响应示例:
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {}
}

获取系统设置

https://api.vc.bilibili.com/link_setting/v1/link_setting/get_sys_settingopen in new window

请求方式:GET

认证方式:Cookie(SESSDATA)

此接口中的设置一般不能由用户随意更改

url参数:

参数名类型内容必要性备注
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
msgstr错误信息默认为0
messagestr错误信息默认为0
ttlnum1
dataobj信息本体

data 对象:

字段类型内容备注
is_create_group_availablenum是否可创建粉丝团粉丝数达到 1000 后开启
is_auto_reply_availablenum是否可使用自动回复功能粉丝数达到 1000 后开启
vc_hint_titlestr稿件自动推送小灰条内容我为什么会收到此类消息
vc_hint_title_buttonstr稿件自动推送小灰条旁的按钮内容了解更多
vc_hint_detailstr稿件自动推送详细信息小灰条内容您【特别关注】的UP主更新视频或专栏后,会第一时间在私信推送给您。如有需要可点击右上角设置关闭推送。
vc_hint_detail_buttonstr关闭稿件自动推送按钮内容关闭推送
auto_reply_htmlstr自动回复H5页面urlhttps://message.bilibili.com/h5/app/auto-reply
is_receive_unfollow_wlnum是否显示限制接收未关注人消息功能
is_voyagenum是否在自动回复页面显示 “大航海自动回复” 选项仅部分用户开启
is_auto_reply_recommend_availablenum是否在自动回复中的 “被关注回复” 页面显示 “被关注后,向关注我的人推送我的往期作品” 复选框仅部分用户开启
is_discuss_style_im_pagenum(?)作用尚不明确
discuss_unread_style_im_pagenum(?)作用尚不明确
old_up_assistant_doorobj原 “UP主小助手” 入口相关信息
is_new_up_assistant_effectivenum新 “UP主小助手” 是否启用
is_archive_graybool是否不显示 “私信存档” 按钮
session_cfgobj特定私信会话配置信息
migrate_session_apibool(?)作用尚不明确
game_msgobj(?)作用尚不明确;仅当请求参数 mobi_app 不为 web 时有其中的项目
auto_reply_msg_descstr指示消息为自动回复消息的提示内容此条消息为自动回复
huahuo_group_icon_newstr浅色模式下的花火图标url
huahuo_group_icon_dark_newstr深色模式下的花火图标url
im_disabled_input_hintstr某UP主禁用私信功能时的提示内容请到UP主空间发起咨询

data 中的 old_up_assistant_door 对象:

字段类型内容备注
show_old_up_doornum是否显示原 “UP主小助手” 入口目前恒为 0
titlestr原 “UP主小助手” 入口标题目前为空文本
sub_titlestr原 “UP主小助手” 入口子标题目前为空文本

data 中的 session_cfg 对象:

字段类型内容备注
{用户mid}obj该会话的配置信息

session_cfg 中的 {用户mid} 对象:

字段类型内容备注
hidden_emote_btnbool是否隐藏表情按钮
hidden_pic_btnbool是否隐藏发送图片按钮
max_heightnum最大高度(?)作用尚不明确
hint_textstr私信输入框的提示内容你想问什么问题呢?
hidden_top_hintbool(?)作用尚不明确
is_gpt_accountbool是否为AI会话

data 中的 game_msg 对象:

字段类型内容备注
show_installbooltrue作用尚不明确;仅当请求参数 mobi_app 不为 web 时有此项

示例:

curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_sys_setting' \
  -b 'SESSDATA=xxx'
查看响应示例:
{
  "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主空间发起咨询"
  }
}

获取创建粉丝团按钮可见性

https://api.vc.bilibili.com/link_group/v1/member/show_create_group_iconopen in new window

请求方式:GET

认证方式:Cookie(SESSDATA)

url参数:

参数名类型内容必要性备注
buildnum客户端内部版本号非必要默认为 0
mobi_appstr平台标识非必要可为 web

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
msgstr错误信息默认为0
messagestr错误信息默认为0
ttlnum1
dataobj信息本体

data 对象:

字段类型内容备注
shownum是否显示创建粉丝团按钮粉丝数达到 1000 后显示

示例:

curl 'https://api.vc.bilibili.com/link_group/v1/member/show_create_group_icon' \
  -b 'SESSDATA=xxx'
查看响应示例:
{
  "code": 0,
  "msg": "0",
  "message": "0",
  "ttl": 1,
  "data": {
    "show": 1
  }
}