# 按钮替换 **Repository Path**: wind-trace-typ/replaceButton-plugin ## Basic Information - **Project Name**: 按钮替换 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2026-05-30 - **Last Updated**: 2026-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ReplaceButton **Yunzai-Bot 按钮替换插件(QQBot 专用)** 自动拦截消息,根据正则规则 **替换或注入 QQ 按钮**,无需修改任何现有插件。 如果有些插件自带的按钮样式不喜欢,但是自己修改了更新后又会丢失,可以使用本插件进行拦截替换。 如果想给一些功能添加按钮,那么也可以使用本插件添加。 如果想要去掉喵喵插件按钮结尾uid但是又不想修改插件导致更新问题,也可使用本插件。 --- ## ✨ 功能特性 - ✅ 仅对 `QQBot` 适配器生效 - ✅ 自动移除原消息中的按钮 - ✅ 根据正则匹配注入自定义按钮 - ✅ 支持多个 JSON 规则文件 - ✅ 支持指令重载规则 - ✅ 支持开关控制(启用 / 停用) - ✅ 插件级实现,不污染全局原型 - ✅ 喵喵插件按钮结尾uid拦截 --- ## 📁 目录结构 ``` yunzai/plugins/ └─ replace-button/ ├─ index.js # 插件主体 └─ buttons/ # 按钮规则目录(自动创建) ├─ help.json ├─ sign.json ├─ fun.json └─ xxxx.json ``` --- ## 📦 安装方法 将插件放入 Yunzai 插件目录: ```bash git clone https://gitee.com/wind-trace-typ/replaceButton-plugin.git ./plugins/replaceButton-plugin ``` 重启 Yunzai 即可生效。 如需拦截或替换某插件的按钮,请参考下方 **按钮替换规则写法**。 --- ## ⚙️ 按钮替换规则写法 - 规则文件为 **JSON 格式** - 文件名可自定义,但必须以 `.json` 结尾 - 建议 **同一插件的规则写在同一个 JSON 文件中** - 文件名推荐使用插件名命名,便于维护和查找 📄 例:`buttons/help.json` ```json { "rules": [ { "regex": "^帮助$", "buttons": [ [ { "text": "使用帮助", "callback": "帮助" } ] ] }, { "regex": "^菜单$", "buttons": [ [ { "text": "功能列表", "callback": "功能" } ], [ { "text": "设置", "callback": "设置" } ] ] } ] } ``` ### 字段说明 | 字段 | 说明 | |---|---| | `regex` | 正则字符串,匹配 `raw_message` | | `buttons` | 按钮矩阵(buttons内部每个数组row为一行按钮的对象数组,每一个对象都代表一个按钮) | | `text` | 按钮显示文字 | | `callback` | 点击后发送的指令 | | 按钮其他的属性参考 | [🔗按钮写法](https://gitee.com/wind-trace-typ/Yunzai-QQBot-Plugin/blob/main/%E6%8C%89%E9%92%AE%E5%86%99%E6%B3%95.md) | --- ## 🔧 使用指令(仅限主人) | 指令 | 说明 | |---|---| | `#开启按钮替换` | 启用按钮替换 | | `#关闭按钮替换` | 禁用按钮替换 | | `#重载按钮替换` | 重新加载按钮规则 | | `#开启UID去除` | 开启去除喵喵插件按钮结尾uid | | `#关闭UID去除` | 关闭去除喵喵插件按钮结尾uid | --- ## 🧠 工作原理 1. 插件启动时加载 `buttons/*.json` 2. 每条消息到达时: - 仅处理 `QQBot` - 使用 `e.raw_message` 进行正则匹配 3. 命中规则后: - 移除原消息中的 `segment.button` - 注入新的按钮 --- ## ⚠️ 注意事项 - 仅支持 **QQBot 官方适配器** - 按钮格式必须符合 Yunzai `segment.button` 规范 - 正则匹配默认忽略大小写 - 本插件 **不会阻断其他插件执行** --- ## ❤️ 适用 Yunzai 分支 - ✅ TRSS Yunzai --- ## 交流群 [🔗@windtrace/qq-group-bot](https://qm.qq.com/q/N1rjDkd7qu)