[v3.4.1] 避免用户手动卸载插件配置文件的更新,避免受 3.3.0 以及 3.2.0 错误版本的提示词配置影响导致群分析不可用

This commit is contained in:
SXP-Simon
2025-11-04 17:20:54 +08:00
parent 16b3b9c6a9
commit bc88955107
4 changed files with 35 additions and 20 deletions
+4 -1
View File
@@ -3,7 +3,7 @@
# QQ群日常分析插件
[![Plugin Version](https://img.shields.io/badge/Latest_Version-v3.4.0-blue.svg?style=for-the-badge&color=76bad9)](https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis)
[![Plugin Version](https://img.shields.io/badge/Latest_Version-v3.4.1-blue.svg?style=for-the-badge&color=76bad9)](https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis)
[![AstrBot](https://img.shields.io/badge/AstrBot-Plugin-ff69b4?style=for-the-badge)](https://github.com/AstrBotDevs/AstrBot)
[![License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE)
@@ -158,6 +158,9 @@ _✨ 一个基于AstrBot的智能群聊分析插件,能够生成精美的群
### v3.4.0
- 自定义提示词模板,简单修复格式问题,尽量保证可用
### v3.4.1
- 更新配置文件配置项名称,为了避免用户手动卸载插件配置文件的更新,避免受 3.3.0 以及 3.2.0 错误版本的提示词配置影响导致群分析不可用
## 许可证
MIT License
+3 -3
View File
@@ -152,7 +152,7 @@
"type": "object",
"hint": "话题分析提示词模板,可自定义修改,保留变量 {max_topics} 和 {messages_text} 写法不要更改,需要写 JSON 块请使用双花括号 {{ ... }} 兼容当前编辑存在的问题。非常推荐根据实际群聊情况进行优化,保留一定提示样本示例供模型参考",
"items": {
"default": {
"topic_prompt": {
"description": "默认话题分析提示词",
"type": "text",
"editor_mode": true,
@@ -166,7 +166,7 @@
"type": "object",
"hint": "用户称号分析提示词模板,可自定义修改,保留变量 {users_text} 写法不要更改,需要写 JSON 块请使用双花括号 {{ ... }} 兼容当前编辑存在的问题。非常推荐根据实际群聊情况进行优化,保留一定提示样本示例供模型参考",
"items": {
"default": {
"user_title_prompt": {
"description": "默认用户称号分析提示词",
"type": "text",
"editor_mode": true,
@@ -180,7 +180,7 @@
"type": "object",
"hint": "金句分析提示词模板,可自定义修改,保留变量 {max_golden_quotes} 和 {messages_text} 写法不要更改,需要写 JSON 块请使用双花括号 {{ ... }} 兼容当前编辑存在的问题。非常推荐根据实际群聊情况进行优化,保留一定提示样本示例供模型参考",
"items": {
"default": {
"golden_quote_prompt": {
"description": "默认金句分析提示词",
"type": "text",
"editor_mode": true,
+1 -1
View File
@@ -13,6 +13,6 @@ help: | # 插件的帮助信息
命令:
/群分析 [天数] - 分析群聊活动
/分析设置 [操作] - 管理设置(enable/disable/status/test
version: v3.4.0 # 插件版本号。格式:v1.1.1 或者 v1.1
version: v3.4.1 # 插件版本号。格式:v1.1.1 或者 v1.1
author: SXP-Simon # 作者
repo: https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis # 插件的仓库地址
+27 -15
View File
@@ -110,58 +110,70 @@ class ConfigManager:
"""获取PDF文件名格式"""
return self.config.get("pdf_filename_format", "群聊分析报告_{group_id}_{date}.pdf")
def get_topic_analysis_prompt(self, style: str = "default") -> str:
def get_topic_analysis_prompt(self, style: str = "topic_prompt") -> str:
"""
获取话题分析提示词模板
Args:
style: 提示词风格,默认为 "default"
style: 提示词条目名称,默认为 "topic_prompt"
Returns:
提示词模板字符串
"""
# 直接从配置中获取 prompts 对象
# 从配置中获取 topic_analysis_prompts 对象
prompts_config = self.config.get("topic_analysis_prompts", {})
# 获取指定的 prompt
prompt = prompts_config.get(style, "default")
# 获取 items 对象
items = prompts_config.get("items", {})
# 从 items 中获取指定的 prompt 配置
prompt_config = items.get(style, {})
# 获取 default 字段的值
prompt = prompt_config.get("default", "")
if prompt:
return prompt
# 兼容旧配置
return self.config.get("topic_analysis_prompt", "")
def get_user_title_analysis_prompt(self, style: str = "default") -> str:
def get_user_title_analysis_prompt(self, style: str = "user_title_prompt") -> str:
"""
获取用户称号分析提示词模板
Args:
style: 提示词风格,默认为 "default"
style: 提示词条目名称,默认为 "user_title_prompt"
Returns:
提示词模板字符串
"""
# 直接从配置中获取 prompts 对象
# 从配置中获取 user_title_analysis_prompts 对象
prompts_config = self.config.get("user_title_analysis_prompts", {})
# 获取指定的 prompt
prompt = prompts_config.get(style, "default")
# 获取 items 对象
items = prompts_config.get("items", {})
# 从 items 中获取指定的 prompt 配置
prompt_config = items.get(style, {})
# 获取 default 字段的值
prompt = prompt_config.get("default", "")
if prompt:
return prompt
# 兼容旧配置
return self.config.get("user_title_analysis_prompt", "")
def get_golden_quote_analysis_prompt(self, style: str = "default") -> str:
def get_golden_quote_analysis_prompt(self, style: str = "golden_quote_prompt") -> str:
"""
获取金句分析提示词模板
Args:
style: 提示词风格,默认为 "default"
style: 提示词条目名称,默认为 "golden_quote_prompt"
Returns:
提示词模板字符串
"""
# 直接从配置中获取 prompts 对象
# 从配置中获取 golden_quote_analysis_prompts 对象
prompts_config = self.config.get("golden_quote_analysis_prompts", {})
# 获取指定的 prompt
prompt = prompts_config.get(style, "default")
# 获取 items 对象
items = prompts_config.get("items", {})
# 从 items 中获取指定的 prompt 配置
prompt_config = items.get(style, {})
# 获取 default 字段的值
prompt = prompt_config.get("default", "")
if prompt:
return prompt
# 兼容旧配置