mirror of
https://github.com/Nezumi-2711/astrbot_plugin_qq_group_daily_analysis.git
synced 2026-09-22 13:38:43 +00:00
[v1.1.0] (定时推送分析 | PDF 功能 | propmt 调整)
- 修复了部分 bug - 优化了权限情况,管理员控制绝大部分命令(防止滥用 token) - 增加了定时自动触发分析功能 - 发送 PDF 版的推送,提供命令安装相关配置,也可以不配置 PDF 版
This commit is contained in:
+172
@@ -0,0 +1,172 @@
|
||||
# QQ群日常分析插件 - PDF 功能说明
|
||||
|
||||
## 概述
|
||||
|
||||
本插件现已支持生成 PDF 格式的群聊分析报告,提供更专业的报告输出格式。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 📄 **PDF 报告生成**: 将群聊分析结果导出为精美的 PDF 文档
|
||||
- 🎨 **专业排版**: 针对 PDF 打印优化的样式设计
|
||||
- 📊 **完整内容**: 包含所有分析数据(统计信息、话题分析、用户称号、群聊金句)
|
||||
- 🔧 **灵活配置**: 可自定义输出目录和文件名格式
|
||||
|
||||
## 安装依赖
|
||||
|
||||
使用 PDF 功能前,需要安装 pyppeteer 库。有以下几种安装方式:
|
||||
|
||||
### 方式一:使用命令安装(推荐)
|
||||
|
||||
在群聊中直接使用安装命令:
|
||||
|
||||
```
|
||||
/安装PDF
|
||||
```
|
||||
|
||||
此命令会自动:
|
||||
- 检查 pyppeteer 是否已安装
|
||||
- 如未安装,自动安装 pyppeteer 库
|
||||
- 下载 Chromium 浏览器
|
||||
- 测试 PDF 功能是否正常
|
||||
|
||||
### 方式二:手动安装
|
||||
|
||||
```bash
|
||||
pip install pyppeteer==1.0.2
|
||||
```
|
||||
|
||||
首次使用时,pyppeteer 还需要下载 Chromium 浏览器,请确保网络连接正常。
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 1. 设置输出格式
|
||||
|
||||
使用新增的 `/设置格式` 命令来切换输出格式:
|
||||
|
||||
```
|
||||
/设置格式 pdf
|
||||
```
|
||||
|
||||
支持的格式:
|
||||
- `image` - 图片格式(默认)
|
||||
- `text` - 文本格式
|
||||
- `pdf` - PDF 格式
|
||||
|
||||
### 2. 生成 PDF 报告
|
||||
|
||||
设置为 PDF 格式后,使用常规的分析命令:
|
||||
|
||||
```
|
||||
/群分析
|
||||
/群分析 3 # 分析近3天的数据
|
||||
```
|
||||
|
||||
### 3. 查看当前设置
|
||||
|
||||
```
|
||||
/设置格式 # 不带参数,查看当前格式设置
|
||||
/分析设置 status # 查看完整的插件状态
|
||||
```
|
||||
|
||||
## 配置选项
|
||||
|
||||
在 `config.json` 中可以配置以下 PDF 相关选项:
|
||||
|
||||
```json
|
||||
{
|
||||
"output_format": "pdf",
|
||||
"pdf_output_dir": "reports",
|
||||
"pdf_filename_format": "群聊分析报告_{group_id}_{date}.pdf"
|
||||
}
|
||||
```
|
||||
|
||||
### 配置说明
|
||||
|
||||
- `output_format`: 输出格式,可选 "image"、"text"、"pdf"
|
||||
- `pdf_output_dir`: PDF 文件保存目录
|
||||
- `pdf_filename_format`: PDF 文件名格式,支持以下占位符:
|
||||
- `{group_id}`: 群组ID
|
||||
- `{date}`: 日期(YYYYMMDD 格式)
|
||||
|
||||
## PDF 报告内容
|
||||
|
||||
生成的 PDF 报告包含以下部分:
|
||||
|
||||
1. **报告标题和日期**
|
||||
2. **基础统计数据**
|
||||
- 消息总数
|
||||
- 参与人数
|
||||
- 总字符数
|
||||
- 表情数量
|
||||
- 最活跃时段
|
||||
|
||||
3. **热门话题分析**
|
||||
- 话题名称
|
||||
- 主要参与者
|
||||
- 详细描述
|
||||
|
||||
4. **群友称号**
|
||||
- 用户昵称
|
||||
- 获得称号
|
||||
- MBTI 类型
|
||||
- 获得理由
|
||||
|
||||
5. **群聊金句**
|
||||
- 精选的有趣发言
|
||||
- 发言人
|
||||
- 选择理由
|
||||
|
||||
## 故障排除
|
||||
|
||||
pyppeteer 版本要为稳定版的 1.0.2。
|
||||
|
||||
### 1. pyppeteer 安装失败
|
||||
|
||||
```bash
|
||||
# 使用国内镜像安装
|
||||
pip install pyppeteer -i https://pypi.tuna.tsinghua.edu.cn/simple/
|
||||
```
|
||||
|
||||
### 2. Chromium 下载失败
|
||||
|
||||
```bash
|
||||
# 手动下载 Chromium
|
||||
python -m pyppeteer.install
|
||||
```
|
||||
|
||||
### 3. PDF 生成失败
|
||||
|
||||
- 检查系统内存是否充足
|
||||
- 确保有足够的磁盘空间
|
||||
- 检查输出目录权限
|
||||
|
||||
### 4. 中文字体显示问题
|
||||
|
||||
PDF 使用系统默认字体,如果中文显示异常,请确保系统安装了中文字体。
|
||||
|
||||
## 性能说明
|
||||
|
||||
- PDF 生成比图片格式稍慢,通常需要 3-10 秒
|
||||
- 首次使用时需要启动浏览器,可能需要更长时间
|
||||
- 建议在服务器资源充足时使用
|
||||
|
||||
## 更新日志
|
||||
|
||||
### v1.1.0
|
||||
- ✨ 新增 PDF 报告生成功能
|
||||
- ✨ 新增 `/设置格式` 命令
|
||||
- 🎨 优化 PDF 样式和排版
|
||||
- 📝 完善配置选项和文档
|
||||
|
||||
## 技术实现
|
||||
|
||||
PDF 生成基于以下技术:
|
||||
- **pyppeteer**: 无头浏览器控制
|
||||
- **HTML/CSS**: 报告模板和样式
|
||||
- **异步处理**: 非阻塞的 PDF 生成过程
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. PDF 功能需要额外的系统资源,建议在配置较好的服务器上使用
|
||||
2. 生成的 PDF 文件会保存在指定目录中,注意定期清理
|
||||
3. 如果遇到权限问题,请检查输出目录的写入权限
|
||||
@@ -62,10 +62,14 @@ _✨ 一个基于AstrBot的智能群聊分析插件,能够生成精美的群
|
||||
| enabled_groups | 启用分析的QQ群列表 | [] (所有群) |
|
||||
| max_messages | 最大分析消息数量 | 1000 |
|
||||
| analysis_days | 默认分析天数 | 1 |
|
||||
| output_format | 输出格式 (pdf/image/text) | pdf |
|
||||
| require_admin | 仅管理员可用 | false |
|
||||
| output_format | 输出格式 (image/text/pdf) | image |
|
||||
| topic_analysis_enabled | 启用话题分析 | true |
|
||||
| user_title_analysis_enabled | 启用用户称号分析 | true |
|
||||
| pdf_output_dir | PDF文件输出目录 | reports |
|
||||
| pdf_filename_format | PDF文件名格式 | 群聊分析报告_{group_id}_{date}.pdf |
|
||||
| enable_auto_analysis | 启用自动分析 | false |
|
||||
| auto_analysis_time | 自动分析时间 | 09:00 |
|
||||
|
||||
|
||||
## 分析内容
|
||||
|
||||
@@ -77,12 +81,12 @@ _✨ 一个基于AstrBot的智能群聊分析插件,能够生成精美的群
|
||||
- 最活跃时段
|
||||
|
||||
### 💬 话题分析
|
||||
- 自动提取3-5个主要话题
|
||||
- 自动提取主要话题
|
||||
- 识别话题参与者
|
||||
- 总结讨论要点和结论
|
||||
|
||||
### 🏆 用户称号
|
||||
基于用户行为特征分配称号:
|
||||
基于用户行为特征分配称号(例):
|
||||
- **水群小能手**: 发言频繁的活跃用户
|
||||
- **技术专家**: 经常讨论技术话题
|
||||
- **夜猫子**: 深夜活跃用户
|
||||
@@ -118,6 +122,12 @@ _✨ 一个基于AstrBot的智能群聊分析插件,能够生成精美的群
|
||||
- 智能话题和用户称号分析
|
||||
- 精美可视化报告生成
|
||||
|
||||
### v1.1.0
|
||||
- 修复了部分bug
|
||||
- 优化了权限情况,管理员控制绝大部分命令(防止滥用 token)
|
||||
- 增加了定时自动触发分析功能
|
||||
- 发送 PDF 版的推送,提供命令安装相关配置,也可以不配置 PDF 版
|
||||
|
||||
## 许可证
|
||||
|
||||
MIT License
|
||||
|
||||
+14
-2
@@ -23,7 +23,7 @@
|
||||
"auto_analysis_time": {
|
||||
"type": "string",
|
||||
"description": "自动分析时间",
|
||||
"default": "22:00",
|
||||
"default": "09:00",
|
||||
"hint": "每日自动分析的时间,格式HH:MM"
|
||||
},
|
||||
"enable_auto_analysis": {
|
||||
@@ -36,7 +36,7 @@
|
||||
"type": "string",
|
||||
"description": "输出格式",
|
||||
"default": "image",
|
||||
"hint": "分析报告的输出格式:image(图片)、text(文本)"
|
||||
"hint": "分析报告的输出格式:image(图片)、text(文本)、pdf(PDF文件)"
|
||||
},
|
||||
|
||||
"min_messages_threshold": {
|
||||
@@ -74,5 +74,17 @@
|
||||
"description": "最大消息查询轮数",
|
||||
"default": 35,
|
||||
"hint": "⚠️ 警告:增加此值会导致大量Token消耗!默认值35轮(有一定消耗)。设置过高可能导致LLM费用激增"
|
||||
},
|
||||
"pdf_output_dir": {
|
||||
"type": "string",
|
||||
"description": "PDF输出目录",
|
||||
"default": "data/plugins/astrbot-qq-group-daily-analysis/reports",
|
||||
"hint": "PDF报告文件的保存目录"
|
||||
},
|
||||
"pdf_filename_format": {
|
||||
"type": "string",
|
||||
"description": "PDF文件名格式",
|
||||
"default": "群聊分析报告_{group_id}_{date}.pdf",
|
||||
"hint": "PDF文件名格式,支持变量:{group_id}(群号)、{date}(日期)"
|
||||
}
|
||||
}
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"enabled_groups": [
|
||||
"936617127"
|
||||
],
|
||||
"max_messages": 1000,
|
||||
"analysis_days": 1,
|
||||
"auto_analysis_time": "19:41",
|
||||
"enable_auto_analysis": true,
|
||||
"output_format": "image",
|
||||
"min_messages_threshold": 50,
|
||||
"topic_analysis_enabled": true,
|
||||
"user_title_analysis_enabled": true,
|
||||
"max_topics": 5,
|
||||
"max_user_titles": 8,
|
||||
"max_query_rounds": 50
|
||||
}
|
||||
+1
-1
@@ -13,6 +13,6 @@ help: | # 插件的帮助信息
|
||||
命令:
|
||||
/群分析 [天数] - 分析群聊活动
|
||||
/分析设置 [操作] - 管理设置(enable/disable/status/test)
|
||||
version: v1.0.0 # 插件版本号。格式:v1.1.1 或者 v1.1
|
||||
version: v1.1.0 # 插件版本号。格式:v1.1.1 或者 v1.1
|
||||
author: SXP-Simon # 作者
|
||||
repo: https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis # 插件的仓库地址
|
||||
@@ -0,0 +1 @@
|
||||
pyppeteer==1.0.2
|
||||
Reference in New Issue
Block a user