当前支持的平台和类型:
| 平台 | 触发的消息形态 | 视频 | 图集 | 音频 |
|---|---|---|---|---|
| B 站 | av 号/BV 号/链接/短链/卡片/小程序 | ✅ | ✅ | ✅ |
| 抖音 | 链接(分享链接,兼容电脑端链接) | ✅ | ✅ | ❌️ |
| 微博 | 链接(博文,视频,show, 文章) | ✅ | ✅ | ❌️ |
| 小红书 | 链接(含短链)/卡片 | ✅ | ✅ | ❌️ |
| 小黑盒 | 链接/卡片 | ✅ | ✅ | ❌️ |
| 快手 | 链接(包含标准链接和短链) | ✅ | ✅ | ❌️ |
| acfun | 链接 | ✅ | ❌️ | ❌️ |
| youtube | 链接(含短链) | ✅ | ❌️ | ✅ |
| tiktok | 链接 | ✅ | ❌️ | ❌️ |
| 链接 | ✅ | ✅ | ❌️ | |
| 链接 | ✅ | ✅ | ❌️ |
本插件目标:凡是链接皆可解析!尽请期待更新(如果可以,请提交PR)
插件默认启用 PIL 实现的通用媒体卡片渲染,效果图如下
直接在astrbot的插件市场搜索astrbot_plugin_parser,点击安装,等待完成即可
请在astrbot的插件配置面板查看并修改
| 指令 | 权限 | 说明 |
|---|---|---|
| 开启解析 | ADMIN | 开启当前会话的解析功能 |
| 关闭解析 | ADMIN | 关闭当前会话的解析功能 |
| blogin | ADMIN | 扫码获取 B 站凭证 |
当插件运行后,每一条消息的处理流程如下:
-
消息接收
监听所有消息事件,获取消息链与原始文本内容- 支持普通文本、链接、卡片(Json 组件)
-
基础过滤
- 跳过已被禁用的会话
- 跳过空消息
- 若消息首段为
@且目标不是本 Bot,则不解析
-
链接提取与匹配
- 若为卡片消息,先从 Json 中提取 URL
- 使用「关键词 + 正则」双重匹配,定位对应解析器
- 未匹配到解析规则则直接退出
-
仲裁判定(Emoji Like Arbiter)
- 仅在
aiocqhttp平台生效 - 通过固定表情进行 Bot 间仲裁
- 未胜出的 Bot 自动放弃解析
- 仅在
-
防抖判定(Link Debouncer)
- 对同一会话内的相同链接进行时间窗口限制
- 命中防抖规则则跳过解析,避免短时间重复处理
-
内容解析
- 调用对应平台解析器获取媒体信息
- 生成统一的
ParseResult数据结构
-
媒体下载与消息构建
- 下载视频 / 图片 / 音频 / 文件
- 根据配置决定音频发送方式
- 可按配置提示下载失败项
-
卡片渲染(可选)
- 在非简洁模式或无直传媒体时生成媒体卡片
- 使用 PIL 渲染并缓存图片
-
消息合并与发送
- 当消息段数量超过阈值时自动合并为转发消息
- 最终将结果发送到对应会话
插件支持自定义解析器,通过继承 BaseParser 类并实现 platform, handle 即可。
示例解析器请看 示例解析器
本项目核心代码来自nonebot-plugin-parser,请前往原仓库给作者点个Star!




