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

插件详情

astrbot_plugin_custom_menu logo

astrbot_plugin_custom_menu

一个web菜单在线diy插件

版本v1.7.0
作者shskjw
Star10
更新2025/12/28

插件说明

测试版本有问题lssues 不咋会写md 可能有漏 请上演示测试

下个版本预告 支持自动填充模板

🎨 可视化菜单编辑器

架构: Multiprocessing (Spawn) + Quart + Pillow
适配: AstrBot (Star 协议)

拒绝手写 JSON,拒绝繁琐配置!
这是一个为 AstrBot 量身打造的高级可视化功能菜单生成器。通过 Web 界面所见即所得地设计你的机器人菜单,支持拖拽布局、自由缩放、自定义字体与全配色管理。


问题反馈

可以进饰乐的群,460973561
版本报错请手动更新
pip install -U pillow
pip show pillow

依赖安装

pip install Pillow imageio imageio-ffmpeg

国内下载慢可以用下面清华源的加速

pip install Pillow imageio imageio-ffmpeg -i https://pypi.tuna.tsinghua.edu.cn/simple

效果展示

展示网站 效果展示,演示网站 密码:astrbot123

示例: 菜单展示

菜单效果
示例: web界面展示
分组功能展示
示例: 界面展示
菜单功能展示
示例: llm判断是否发送
菜单功能展示
示例: 动态壁纸演示
动态壁纸展示具体可以上演示网站查看

✨ 核心特性

  • 🖥️ Web 可视化编辑器:内置独立 Web 后台,实时预览,修改即保存。
  • 🖱️ 自由拖拽交互:
    • 支持鼠标拖拽任意改变文本位置。
    • 支持右下角手柄拖动缩放字号。
  • 🎨 全自定义外观:
    • 背景图:支持上传自定义背景,长图自动适应,不截断。
    • 字体库:Web 端直接上传 .ttf/.otf 字体,浏览器与生成图实时同步。
    • 全配色:主标题、副标题、分组、功能名、描述均可独立设色。
  • 🛡️ 稳定性:
    • 采用 multiprocessing (spawn) 独立进程架构。
  • ⚡ 动静分离:
    • Web 端只负责编辑,生成配置后自动渲染为静态图片。
    • 关闭后台后,Bot 依然可以毫秒级发送菜单,零内存占用。
  • 🔐 权限控制:只有配置文件中指定的管理员 (admins_id) 才能开启后台。

📂 目录结构 (安装前必看)

请确保你的插件目录结构如下,否则可能无法启动:

astrbot_plugin_custom_menu/
├── main.py
├── web_server.py
├── storage.py
├── _conf_schema.json
├── README.md
│
├── fonts/              <-- [必须] 必须包含 title.ttf 和 text.ttf
│
├── renderer/
│   ├── __init__.py
│   └── menu.py
│
├── static/
│   ├── style.css
│   └── editor.js
│
└── templates/
    ├── index.html
    └── login.html

🛠️ 安装与依赖

  1. 安装 Python 库

本插件依赖轻量级异步 Web 框架和图像处理库,请在 AstrBot 环境下运行:

code
Bash

pip install quart hypercorn pillow
  1. 放置插件

将插件解压至:

AstrBot/data/plugins/astrbot_plugin_custom_menu/
  1. 首次运行

重启 AstrBot。
如果之前运行过旧版本,建议删除 data/menu.json 以便生成新的数据结构。


🎮 使用指南

  1. 开启后台 (仅管理员)

在 Bot 聊天窗口发送指令:

code
Text

/开启后台

Bot 会返回一个访问地址(如 http://你的IP:9876)和登录密钥。

  1. Web 编辑流程

登录:浏览器打开地址,输入密钥。

上传素材:

  • 上传背景图。
  • 上传字体文件(支持中文预览)。

调整布局:

  • 选择列数(1~5 列自动网格)。
  • 设置标题对齐方式(左 / 中 / 右)。

自由组件:

  • 点击 “+ 添加” 增加自由文本。
  • 在画布中拖拽移动位置。
  • 拖动文本框右下角手柄调整大小。

保存:

  • 点击左上角 “💾 保存并生成”。
  1. 发送菜单

回到 Bot 聊天窗口发送:

code
Text

/菜单

即可看到刚刚设计好的菜单图片。

  1. 关闭后台

编辑完成后,建议关闭 Web 服务以释放资源:

code
Text

/关闭后台

⚙️ 配置文件

可在 AstrBot 管理面板或 plugin_config.json 中修改:

  • web_host
  • web_port
  • web_token
  • admins_id

❓ 常见问题 (FAQ)

Q1: 开启后台后,浏览器打不开?

检查配置中 web_host 是否为 0.0.0.0。
云服务器请在安全组中放行端口。
Docker 用户请确认端口映射。

Q2: 修改了样式,但网页上没变化?

这是浏览器缓存导致的。
请使用强制刷新或无痕窗口访问。

Q3: 生成的图片里全是方框?

这是因为缺少字体文件或文件名不正确。
请确保 fonts 目录下存在 title.ttf 和 text.ttf。

Q4: 提示“权限不足”?

请在 AstrBot 全局配置中将你的 ID 加入 admins_id。

Q5: 点击“开启后台”提示进程退出?

请检查插件目录下的 web_crash.log。
常见原因是端口被占用或依赖未安装。


📝 更新日志

AstrBot LogoAstrBot 插件市场社区

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

相关链接

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

开发相关

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

© 2026 AstrBot 插件市场 Made with by Community