Skip to main content

Next-gen PicMenu plugin for NoneBot2

Project description

NoneBotPluginLogo

NoneBotPluginText

NoneBot-Plugin-PicMenu-Next

✨ 新一代的图片帮助插件 ✨

python uv wakatime
Pydantic Version 1 Or 2 license pypi pypi download
NoneBot Registry Supported Adapters

📖 介绍

  • 美观的图片界面:直观友好的图片界面
  • 🛠️ PicMenu 兼容:本插件使用 PicMenu 插件格式的三级菜单(功能详情),兼容 PicMenu 的 <ft> 富文本标签(但不太推荐使用)
  • 🧩 Alconna 集成:开箱即用地自动探测 Alconna 命令并生成三级菜单,另可通过 PMN_ALCONNA_GLOBAL_EXT 启用接管 Alconna 内置帮助参数模式,将帮助输出渲染为图片
  • 🔍 支持模糊搜索:支持通过序号或名称查找插件及功能,并提供插件名称的模糊匹配
  • 🔤 拼音支持:插件排序与模糊搜索时考虑拼音,提高中文环境下的使用体验
  • 📜 Markdown 支持:支持 Markdown 格式的帮助信息展示(需要插件开发者主动适配)
  • 🔒 隐藏控制:默认状态下类型为 library 的插件会对普通用户隐藏
  • 🎨 自定义模板:提供模板开发者注册模板的接口,提供插件开发者自定义某插件使用的详细信息模板的方式,提供配置供用户自定义想要使用的模板
  • 🔌 插件扩展机制:提供强大的 mixin 支持,允许插件通过中间件方式自定义帮助菜单展示和行为

展示图

主页面

亮色主页
暗色主页

插件详情

亮色插件详情
暗色插件详情

插件详情(带功能详情三级菜单)

亮色带三级菜单插件详情
暗色带三级菜单插件详情

功能详情

亮色功能详情
暗色功能详情

Markdown 测试

亮色 Markdown 测试
暗色 Markdown 测试

💿 安装

以下提到的方法 任选其一 即可

[推荐] 使用 nb-cli 安装 在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-picmenu-next
使用包管理器安装 在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
pip
pip install nonebot-plugin-picmenu-next
pdm
pdm add nonebot-plugin-picmenu-next
poetry
poetry add nonebot-plugin-picmenu-next
conda
conda install nonebot-plugin-picmenu-next

打开 nonebot2 项目根目录下的 pyproject.toml 文件, 在 [tool.nonebot] 部分的 plugins 项里追加写入

[tool.nonebot]
plugins = [
    # ...
    "nonebot_plugin_picmenu_next"
]

⚙️ 配置

在 NoneBot2 项目的 .env 文件中添加下表中的配置

配置项 必填 默认值 说明
本体配置
PMN_INDEX_TEMPLATE default 首页展示模板的名称
PMN_DETAIL_TEMPLATE default 插件详情模板的名称
PMN_FUNC_DETAIL_TEMPLATE default 插件功能详情模板的名称
PMN_ONLY_SUPERUSER_SEE_HIDDEN False 是否仅超级用户可以查看隐藏内容
PMN_ALCONNA_GLOBAL_EXT False 是否接管 Alconna 帮助输出为 PicMenu 图片
默认模板配置
PMN_DEFAULT_DARK False 是否使用暗色模式
PMN_DEFAULT_ENABLE_BUILTIN_CODE_CSS True 是否启用内置代码着色 CSS
PMN_DEFAULT_ADDITIONAL_CSS [] 要附加的 CSS 路径列表
PMN_DEFAULT_RENDER_BACKEND None 默认模板使用的 htmlrender 后端

🎉 使用

发送 帮助 指令试试吧!

外部菜单加载说明

本插件兼容原 PicMenu 的外部菜单路径及格式,并在其基础上做了些许扩展,详见下方开发文档

🔧 开发

更完整的开发说明请查看 开发文档,涵盖 编写外部菜单项、插件开发者对接、Mixin 开发 与 菜单模板开发 等内容。

📞 联系

QQ:3076823485
Telegram:@lgc2333
吹水群:168603371
邮箱:lgc2333@126.com

💡 鸣谢

hamo-reid/nonebot_plugin_PicMenu

  • 灵感来源(因为这个太久没更新了所以自己写了一个)

💰 赞助

赞助我

感谢大家的赞助!你们的赞助将是我继续创作的动力!

📝 更新日志

0.3.0

  • 新增 Alconna 集成:
    • 支持自动探测插件注册的 Alconna 命令,并在插件未声明 menu_data 或声明为 None 时自动补全三级菜单
    • 支持通过 CommandMeta.extra["pmn"] 覆盖自动探测生成的功能名称、触发方式、触发条件、详细用法等字段
    • 支持 extra["pmn"]["alc_force_enable_detect"] 在已有手写菜单时强制附加 Alconna 自动探测结果
    • 新增 PMN_ALCONNA_GLOBAL_EXT 配置,可接管 Alconna 内置帮助参数输出并渲染为 PicMenu 图片
  • 新增基于插件 supported_adapters 的适配器过滤,当前适配器不受支持的插件会在普通帮助菜单中自动隐藏
  • 优化 Alconna 命令帮助的 Markdown 生成格式,并在插件启用 Markdown 且命令未自定义 formatter 时自动使用
  • 修复普通帮助菜单中,插件详情页仍会展示隐藏功能项的问题
  • 修复默认模板 Markdown 渲染中触发方式、触发条件等字段的换行排版问题
  • 完善开发文档,新增 Alconna 自动探测、禁用探测、强制附加探测结果与 mixin 注意事项说明
  • 补充 Alconna 自动探测与适配器过滤相关测试

0.2.0

  • 适配 nonebot-plugin-htmlrender 0.7 渲染后端接口:
    • 默认模板改为无运行时 JS 渲染,Markdown 公式改为 Python 侧预渲染 KaTeX HTML
    • 默认模板本地样式改为内联读取,不再依赖 Playwright 路由加载静态资源
    • 新增 PMN_DEFAULT_RENDER_BACKEND 配置,可为默认模板指定 htmlrender 渲染后端
    • 移除默认模板的 PMN_DEFAULT_ADDITIONAL_JS 配置支持

0.1.6

  • 尝试修复与 Pydantic V1 的兼容性

0.1.5

  • 修复上个版本中的 Bug

0.1.4

  • 支持加载外部菜单

0.1.3

  • 优化默认模板

0.1.2

  • 修复上个版本中的 Bug

0.1.1

  • 尝试兼容 Pydantic V1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_picmenu_next-0.3.0.tar.gz (918.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_picmenu_next-0.3.0-py3-none-any.whl (936.4 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_picmenu_next-0.3.0.tar.gz.

File metadata

  • Download URL: nonebot_plugin_picmenu_next-0.3.0.tar.gz
  • Upload date:
  • Size: 918.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nonebot_plugin_picmenu_next-0.3.0.tar.gz
Algorithm Hash digest
SHA256 cbf4ab51206adff7fc4da07e82808378deb35eae7c773c2e1da5def5841e0b4c
MD5 35938b523c8763d0dde59c0e658d0a08
BLAKE2b-256 767a793d53e2084635e28ac8069b0cd0fe737204e7147caade59d2fd509e2a53

See more details on using hashes here.

File details

Details for the file nonebot_plugin_picmenu_next-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: nonebot_plugin_picmenu_next-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 936.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nonebot_plugin_picmenu_next-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0ec7c05fc676f0d728c52617fe9456a79be260c2dca86e3fdb178e834f2e4c7
MD5 b77f7b90ae6a8212104430350da2ef8a
BLAKE2b-256 7b74cd455176570635725e322f10ed77629699566324e0ed936c5c136ddb48ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page