NoneBot2 链接分享解析 Alconna 版, 通用媒体卡片渲染(PIL 实现), 支持 B站/抖音/快手/微博/小红书/youtube/tiktok/twitter/acfun/nga
Project description
[!IMPORTANT] 收藏项目,你将从 GitHub 上无延迟地接收所有发布通知~⭐️
📖 介绍
| 平台 | 触发的消息形态 | 视频 | 图集 | 音频 |
|---|---|---|---|---|
| B站 | BV号/链接(包含短链,BV,av)/卡片/小程序 | ✅ | ✅ | ✅ |
| 抖音 | 链接(分享链接,兼容电脑端链接) | ✅ | ✅ | ❌️ |
| 微博 | 链接(博文,视频,show) | ✅ | ✅ | ❌️ |
| 小红书 | 链接(含短链)/卡片 | ✅ | ✅ | ❌️ |
| 快手 | 链接(包含标准链接和短链) | ✅ | ✅ | ❌️ |
| acfun | 链接 | ✅ | ❌️ | ❌️ |
| youtube | 链接(含短链) | ✅ | ❌️ | ✅ |
| tiktok | 链接 | ✅ | ❌️ | ❌️ |
| 链接 | ✅ | ✅ | ❌️ |
支持的链接,可参考 测试链接
🎨 效果图
插件默认启用 PIL 实现的通用媒体卡片渲染,效果图如下
💿 安装
[!Warning] 如果你已经在使用 nonebot-plugin-resolver[2],请在安装此插件前卸载
[!Important] 插件可选依赖
htmlkit,ytdlp,all,分别用于 htmlkit 渲染和 youtube / tiktok 解析,如果需要使用,请在安装时指定,如nb plugin install nonebot-plugin-parser[ytdlp]
使用 nb-cli 安装/更新
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装nb plugin install nonebot-plugin-parser --upgrade
使用 pypi 源更新
nb plugin install nonebot-plugin-parser --upgrade -i https://pypi.org/simple
安装仓库 dev 分支
uv pip install git+https://github.com/fllesser/nonebot-plugin-parser.git@dev
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令uv
使用 uv 安装uv add nonebot-plugin-parser
安装仓库 dev 分支
uv add git+https://github.com/fllesser/nonebot-plugin-parser.git@master
pip
pip install --upgrade nonebot-plugin-parser
pdm
pdm add nonebot-plugin-parser
poetry
poetry add nonebot-plugin-parser
打开 nonebot2 项目根目录下的 pyproject.toml 文件, 在 [tool.nonebot] 部分追加写入
plugins = ["nonebot_plugin_parser"]
使用 nbr 安装(使用 uv 管理依赖可用)
nbr 是一个基于 uv 的 nb-cli,可以方便地管理 nonebot2
nbr plugin install nonebot-plugin-parser
使用 pypi 源安装
nbr plugin install nonebot-plugin-parser -i "https://pypi.org/simple"
使用清华源安装
nbr plugin install nonebot-plugin-parser -i "https://pypi.tuna.tsinghua.edu.cn/simple"
安装必要组件
部分解析依赖于 ffmpegubuntu/debian
sudo apt-get install ffmpeg
其他 linux 参考(原项目推荐): https://gitee.com/baihu433/ffmpeg
Windows 参考(原项目推荐): https://www.jianshu.com/p/5015a477de3c
⚙️ 配置
在 nonebot2 项目的.env文件中添加下表中的必填配置
| 配置项 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| NICKNAME | 否 | [""] | nonebot2 内置配置,可作为解析结果消息的前缀 |
| API_TIMEOUT | 否 | 30.0 | nonebot2 内置配置,若服务器上传带宽太低,建议调高,防止超时 |
| parser_bili_ck | 否 | "" | B 站 cookie, 必须含有 SESSDATA 项,可附加 B 站 AI 总结功能, 如果需要长期使用此凭据则不应该在浏览器登录账户导致 cookie 被刷新,建议注册个小号获取, 也可以配置 ac_time_value 项,用于凭据的自动刷新,获取方式 |
| parser_bili_video_codes | 否 | '["avc", "av01", "hev"]' | 允许的 B 站视频编码,越靠前的编码优先级越高,可选 "avc"(H.264,体积较大), "hev"(HEVC), "av01"(AV1), 后两项在不同设备可能有兼容性问题,如需完全避免,可只填一项,如 '["avc"]' |
| parser_ytb_ck | 否 | "" | Youtube cookie, Youtube 视频因人机检测下载失败,需填 |
| parser_proxy | 否 | None | 仅作用于 youtube, tiktok 解析,推特解析会自动读取环境变量中的 http_proxy / https_proxy(代理软件通常会自动设置) |
| parser_need_upload | 否 | False | 音频解析,是否需要上传群文件 |
| parser_use_base64 | 否 | False | 视频,图片,音频是否使用 base64 发送,注意:编解码和传输 base64 会占用更多的内存,性能和带宽, 甚至可能会使 websocket 连接崩溃,因此该配置项仅推荐 nonebot 和 协议端不在同一机器的用户配置 |
| parser_duration_maximum | 否 | 480 | 视频最大解析时长,单位:秒 |
| parser_max_size | 否 | 90 | 音视频下载最大文件大小,单位 MB,超过该配置将阻断下载 |
| parser_disabled_platforms | 否 | [] | 全局禁止的解析,示例 parser_disabled_platforms=["bilibili", "douyin"] 表示禁止了哔哩哔哩和抖, 请根据自己需求填写["bilibili", "douyin", "kuaishou", "twitter", "youtube", "acfun", "tiktok", "weibo", "xiaohongshu"] |
| parser_render_type | 否 | "common" | 渲染器类型,可选 "default"(无图片渲染), "common"(PIL 通用图片渲染), "htmlkit"(htmlkit, 暂不可用) |
| parser_append_url | 否 | False | 是否在解析结果中附加原始URL |
| parser_custom_font | 否 | None | 自定义渲染字体,配置字体文件名,并将字体文件放置于 localstore 生成的插件 data 目录下(如 ./data/nonebot_plugin_parser/) |
| parser_need_forward_contents | 否 | True | 是否需要转发媒体内容(超过 4 项时始终使用合并转发) |
🎉 使用
指令表
| 指令 | 权限 | 需要@ | 范围 | 说明 |
|---|---|---|---|---|
| 开启解析 | SUPERUSER/OWNER/ADMIN | 是 | 群聊 | 开启解析 |
| 关闭解析 | SUPERUSER/OWNER/ADMIN | 是 | 群聊 | 关闭解析 |
推荐的字体
致谢
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonebot_plugin_parser-2.1.1.tar.gz.
File metadata
- Download URL: nonebot_plugin_parser-2.1.1.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
230f5f30fdd5b9c2dae41d885e1af8cd4d9d2c1dc620dd2d3e4084219d885b01
|
|
| MD5 |
b9c29192f5108f0a880d20f2d6aefd0b
|
|
| BLAKE2b-256 |
f29948b4d0d1f705bf91742e6681c305cc6003e4dc80351f5a96272f838a9005
|
File details
Details for the file nonebot_plugin_parser-2.1.1-py3-none-any.whl.
File metadata
- Download URL: nonebot_plugin_parser-2.1.1-py3-none-any.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67f3c2322a5bd6e66ee6c7b5cf9af8171fee42646eef0d2624ac68884650b5cf
|
|
| MD5 |
9386675665dfd3c01624aa70fcf55a8a
|
|
| BLAKE2b-256 |
692c8c82214c4540f1a23599877fe58789c45d0a100e9494d459089602f26308
|