来提交你的插件吧!
有疑问?来看看呗!

插件详情

万能解析器 logo

万能解析器

高性能低耦合的万能链接解析器。支持视频、图集、音频类型和 A站、B站、抖音、TikTok、微博、小红书、快手、Youtube、X 等平台

解析
链接
版本v1.1.2
作者Zhalslar
Star34
更新2026/01/02

插件说明

:name

astrbot_plugin_parser

✨ 链接解析器 ✨

License
Python 3.10+
AstrBot
GitHub

📖 介绍

当前支持的平台和类型:

平台 触发的消息形态 视频 图集 音频
B 站 av 号/BV 号/链接/短链/卡片/小程序 ✅​ ✅​ ✅​
抖音 链接(分享链接,兼容电脑端链接) ✅​ ✅​ ❌️
微博 链接(博文,视频,show, 文章) ✅​ ✅​ ❌️
小红书 链接(含短链)/卡片 ✅​ ✅​ ❌️
快手 链接(包含标准链接和短链) ✅​ ✅​ ❌️
acfun 链接 ✅​ ❌️ ❌️
youtube 链接(含短链) ✅​ ❌️ ✅​
tiktok 链接 ✅​ ❌️ ❌️
twitter 链接 ✅​ ✅​ ❌️

本插件目标:凡是链接皆可解析!尽请期待更新(如果可以,请提交PR)

🎨 效果图

插件默认启用 PIL 实现的通用媒体卡片渲染,效果图如下

💿 安装

直接在astrbot的插件市场搜索astrbot_plugin_parser,点击安装,等待完成即可

⚙️ 配置

请在astrbot的插件配置面板查看并修改

🎉 指令

指令 权限 说明
开启解析 ADMIN 开启解析
关闭解析 ADMIN 关闭解析
bm - 下载 B 站音频
ym - 下载 youtube 音频
blogin ADMIN 扫码获取 B 站凭证

🧠 插件工作流程

当插件运行后,每一条消息的处理流程如下:

  1. 消息接收
    监听所有消息事件,获取消息链与原始文本内容

    • 支持普通文本、链接、卡片(Json 组件)
  2. 基础过滤

    • 跳过已被禁用的会话
    • 跳过空消息
    • 若消息首段为 @ 且目标不是本 Bot,则不解析
  3. 链接提取与匹配

    • 若为卡片消息,先从 Json 中提取 URL
    • 使用「关键词 + 正则」双重匹配,定位对应解析器
    • 未匹配到解析规则则直接退出
  4. 仲裁判定(Emoji Like Arbiter)

    • 仅在 aiocqhttp 平台生效
    • 通过固定表情进行 Bot 间仲裁
    • 未胜出的 Bot 自动放弃解析
  5. 防抖判定(Link Debouncer)

    • 对同一会话内的相同链接进行时间窗口限制
    • 命中防抖规则则跳过解析,避免短时间重复处理
  6. 解析任务启动

    • 创建异步任务执行解析流程
    • 同一会话仅维护一个运行中的解析任务
  7. 内容解析

    • 调用对应平台解析器获取媒体信息
    • 生成统一的 ParseResult 数据结构
  8. 媒体下载与消息构建

    • 下载视频 / 图片 / 音频 / 文件
    • 根据配置决定音频发送方式
    • 可按配置提示下载失败项
  9. 卡片渲染(可选)

    • 在非简洁模式或无直传媒体时生成媒体卡片
    • 使用 PIL 渲染并缓存图片
  10. 消息合并与发送

    • 当消息段数量超过阈值时自动合并为转发消息
    • 最终将结果发送到对应会话
  11. 任务回收

    • 解析完成或异常后清理任务状态
    • 插件卸载时统一取消所有运行中的任务

整体设计目标:
在保证多 Bot 场景下解析唯一性的前提下,实现稳定、高效、可扩展的链接解析流程。

🧩 扩展

插件支持自定义解析器,通过继承 BaseParser 类并实现 platform, handle 即可。

示例解析器请看 示例解析器

🎉 致谢

本项目核心代码来自nonebot-plugin-parser,请前往原仓库给作者点个Star!

AstrBot LogoAstrBot 插件市场社区

AstrBot 插件市场 是一个开放的插件分享平台,欢迎开发者们贡献优质插件。本站致力于为 AstrBot 用户提供高质量扩展,帮助您快速找到喜欢的插件,并鼓励社区伙伴分享使用心得、提出改进建议。

相关链接

官方项目主站 官方插件市场 官方项目仓库 侧边展示主站

开发相关

插件开发文档 快速提交插件 官方项目文档

© 2026 AstrBot 插件市场 Made with by Community