QQbox - 仿QQ聊天气泡生成插件
项目简介
QQbox 是一个基于 AstrBot 框架的插件,用于生成仿QQ风格的聊天气泡图片。它可以模拟QQ聊天界面,包括用户头像、昵称、自定义头衔和聊天气泡,支持纯文字、纯图片以及图文混合消息的生成。该插件还提供了用户信息缓存功能,能够自动获取QQ用户的昵称和头像,并支持自定义头衔颜色和备注名。
功能特性
- 🎨 仿QQ聊天气泡:生成高度还原QQ风格的聊天气泡
- 👤 自动获取用户信息:通过QQ号自动获取用户昵称和头像
- 🏷️ 自定义头衔系统:支持为不同QQ用户设置个性化头衔和颜色
- 📝 备注名功能:可以为用户设置显示备注名
- 🖼️ 多媒体支持:支持纯文字、纯图片、图文混合消息
- 🎯 高清输出:采用4倍超采样技术,生成高清图片
- 💾 数据持久化:用户设置自动保存到JSON文件
安装与配置
前置要求
- AstrBot 框架
- Python 3.10+
- 所需字体文件(插件包内包含)
配置文件
在 AstrBot 配置中设置头像缓存路径:
avatar_image_path: "./img/avatar"
使用指南
基础命令
1. 生成聊天气泡
/QQbox_echo [QQ号] [消息内容]
生成指定QQ用户发送消息的气泡图片。
示例:
/QQbox_echo 123456 你好,这是一条测试消息!
2. 设置头衔颜色
/QQbox_color [QQ号] [颜色编号]
为指定QQ用户设置头衔背景颜色。
颜色编号:
- 1:灰色 (#B5B6B5)
- 2:紫色 (#D69AFF)
- 3:黄色 (#FFC629)
- 4:绿色 (#52D7C5)
示例:
/QQbox_color 123456 2
3. 设置头衔内容
/QQbox_title [QQ号] [头衔内容]
为指定QQ用户设置显示的头衔文字。
示例:
/QQbox_title 123456 管理员
4. 设置备注名
/QQbox_note [QQ号] [备注名]
为指定QQ用户设置显示备注名(替代原昵称)。
示例:
/QQbox_note 123456 张三
5. 帮助命令
/QQbox_help
显示完整的命令帮助信息。
使用示例
完整配置一个用户:
/QQbox_title 123456 群主
/QQbox_color 123456 3
/QQbox_note 123456 张三大大
/QQbox_echo 123456 欢迎大家加入本群!
这将生成一个带有:
- 黄色"群主"头衔
- 显示名为"张三大大"
- 包含指定消息内容
的仿QQ聊天气泡图片。
高级功能
图片消息支持
插件支持图片消息生成,可以通过修改代码扩展此功能。
用户信息缓存
- 第一次查询用户信息时会从API获取并缓存到本地
- 后续使用直接读取缓存,提高响应速度
- 缓存文件位于配置的
avatar_image_path目录
数据持久化
所有用户设置(头衔、颜色、备注)会自动保存到 qq_data.json 文件中,重启后依然有效。
技术细节
字体要求
插件需要以下字体文件:
Microsoft-YaHei-Semilight.ttc- 气泡文字字体SourceHanSansSC-ExtraLight.otf- 昵称字体Microsoft-YaHei-Bold.ttc- 头衔字体
API依赖
插件使用以下API获取QQ用户信息:
http://api.mmp.cc/api/qqname?qq={qq}- 获取QQ昵称https://q1.qlogo.cn/g?b=qq&nk={qq}&s=640- 获取QQ头像
常见问题
1. 字体显示异常
确保字体文件已正确放置在 resources/fonts/ 目录下。
2. 头像获取失败
检查网络连接,确保可以访问QQ头像服务器。
3. 图片生成缓慢
首次生成需要下载头像,后续会使用缓存加快速度。
更新日志
v1.0.0
- 初始版本发布
- 支持基础聊天气泡生成
- 实现头衔系统
- 添加用户备注功能
- 支持数据持久化
注意事项
- 请遵守相关API的使用条款
- 生成的图片仅供娱乐使用
- 注意用户隐私保护
- 建议定期清理缓存文件
帮助与支持
如遇到问题,请:
- 检查命令格式是否正确
- 确认网络连接正常
- 查看日志文件中的错误信息
- 确保有足够的存储空间
开发作者: Lishining
插件版本: 1.1.7
兼容框架: AstrBot
最后更新: 2025.12.13