mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
523 字
1 分钟
AstrBiliRelay 一个用于把AstrBot接入Bilibili私信的工具

这篇博客实际上是Readme.md

AstrBiliRelay#

仓库:https://github.com/MEMZGBL/AstrBiliRelay#

一个从零实现的 AstrBot Bilibili 私信接入项目,包含:

  • 原生 AstrBot 平台适配器 bilibili_native
  • 原生 Bilibili 私信 HTTP 客户端
  • WBI 参数签名实现
  • Windows 桌面启用/关闭控制器

本项目不依赖任何现成的 Bilibili AstrBot 适配器,也不会下载第三方适配器源码

功能#

  • 使用 Bilibili Cookie 登录
  • 轮询 Bilibili 私信会话
  • 接收文本私信并提交给 AstrBot
  • 把 AstrBot 的文本回复发送回 Bilibili 私信
  • 桌面 GUI 一键启用/关闭 bilibili_dm
  • 自动重启 AstrBot 后端使配置生效

当前版本聚焦文本私信闭环。图片、文件、表情和群聊不是本版本目标。

环境要求#

  • Windows 10/11
  • AstrBot Desktop
  • AstrBot 已配置可用 LLM Provider
  • PowerShell
  • Python 依赖:aiohttp

快速开始#

  1. 用浏览器登录 https://www.bilibili.com
  2. F12 打开开发者工具
  3. 进入 Application -> Cookies -> https://www.bilibili.com
  4. 复制 SESSDATAbili_jct

不要把真实 Cookie 提交到 GitHub。它们等同于登录凭据。

2. 安装原生适配器并写入配置#

Terminal window
powershell -ExecutionPolicy Bypass -File .\scripts\install_bilibili_adapter.ps1 `
-SessData "PASTE_YOUR_SESSDATA" `
-BiliJct "PASTE_YOUR_BILI_JCT" `
-Enable

如果 AstrBot 数据目录不在 %USERPROFILE%\.astrbot

Terminal window
powershell -ExecutionPolicy Bypass -File .\scripts\install_bilibili_adapter.ps1 `
-AstrBotRoot "D:\path\to\.astrbot" `
-SessData "PASTE_YOUR_SESSDATA" `
-BiliJct "PASTE_YOUR_BILI_JCT" `
-Enable

脚本会复制 astrbot_plugin_bilibili_native 到 AstrBot 插件目录,并在 cmd_config.json 中写入 bilibili_dm

3. 创建桌面控制器快捷方式#

Terminal window
powershell -ExecutionPolicy Bypass -File .\scripts\create_desktop_shortcut.ps1

4. 重启 AstrBot 后端#

Terminal window
powershell -ExecutionPolicy Bypass -File .\scripts\restart_astrbot_backend.ps1

也可以在图形控制器里点击 Restart AstrBot Backend

配置模板#

configs/bilibili_platform.template.json

核心字段:

{
"id": "bilibili_dm",
"type": "bilibili_native",
"enable": true,
"SESSDATA": "...",
"bili_jct": "...",
"polling_interval": 5
}

项目结构#

AstrBiliRelay/
astrbot_plugin_bilibili_native/
bilibili_client.py
bilibili_event.py
main.py
metadata.yaml
platform_adapter.py
requirements.txt
wbi.py
configs/
scripts/
src/
README.md

原生实现说明#

AstrBot 侧通过 register_platform_adapter("bilibili_native", ...) 注册平台适配器。收到 Bilibili 私信后,适配器构造 AstrBotMessageAstrMessageEvent,提交到 AstrBot 事件队列。AstrBot 生成回复后,事件对象的 send() 方法调用本项目内置客户端发送文本私信。

Bilibili 侧实现:

  • x/web-interface/nav:登录校验、获取 UID、获取 WBI key
  • session_svr/get_sessions:轮询私信会话
  • svr_sync/fetch_session_msgs:拉取会话消息
  • web_im/send_msg:发送文本私信
  • wbi.py:WBI 参数签名

安全注意事项#

  • Cookie 泄露后可能导致账号被他人登录
  • 建议使用单独 Bilibili 账号测试
  • 自动回复可能触发平台风控,请控制频率和内容

License#

MIT

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

AstrBiliRelay 一个用于把AstrBot接入Bilibili私信的工具
http://blog.mcstarland.top/posts/astrbilirelay/
作者
MEMZGBL
发布于
2026-06-19
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00