diff --git a/README.md b/README.md index a6b04c4..c245528 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # QQ群日常分析插件 -[![Plugin Version](https://img.shields.io/badge/Latest_Version-v4.3.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-v4.4.0-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) [![](https://img.shields.io/badge/五彩斑斓的Bug群-Bug反馈群&水群-white?style=for-the-badge&color=76bad9&logo=qq&logoColor=76bad9)](https://qm.qq.com/q/oTzIrdDBIc) @@ -108,6 +108,9 @@ simple 模板效果图(用于展示贡献指南)
📋 点击展开查看完整更新日志 +### v4.4.0 +- 修复可能的图片生成成功但是发送失败的情况,增加 Fallback 的 BASE64 编码的图片发送方式(@Heximiao) + ### v4.3.0 - 纠正关闭特定分析区但是基础样式没有去除的 bug diff --git a/metadata.yaml b/metadata.yaml index ab4a136..8158186 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -14,6 +14,6 @@ help: | # 插件的帮助信息 命令: /群分析 [天数] - 分析群聊活动 /分析设置 [操作] - 管理设置(enable/disable/status/test) -version: v4.3.0 # 插件版本号。格式:v1.1.1 或者 v1.1 +version: v4.4.0 # 插件版本号。格式:v1.1.1 或者 v1.1 author: SXP-Simon # 作者 repo: https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis # 插件的仓库地址 diff --git a/src/scheduler/auto_scheduler.py b/src/scheduler/auto_scheduler.py index a13fa81..aeb7d48 100644 --- a/src/scheduler/auto_scheduler.py +++ b/src/scheduler/auto_scheduler.py @@ -7,8 +7,6 @@ import asyncio import weakref from datetime import datetime, timedelta import aiohttp -import tempfile -import os import base64 @@ -489,8 +487,6 @@ class AutoScheduler: f"analysis_result_keys={list(analysis_result.keys()) if isinstance(analysis_result, dict) else type(analysis_result)}" ) - - """发送分析报告到群""" try: output_format = self.config_manager.get_output_format() @@ -503,15 +499,16 @@ class AutoScheduler: image_url = await self.report_generator.generate_image_report( analysis_result, group_id, self.html_render_func ) - logger.info( - f"[DEBUG][SEND_REPORT] image ready " - f"group_id={group_id}, " - f"image_url={image_url}" - ) + logger.debug( + f"[DEBUG][SEND_REPORT] 图片生成成功" + f"group_id={group_id}, " + f"image_url={image_url}" + ) - if image_url: - success = await self._send_image_message(group_id, image_url) + success = await self._send_image_message( + group_id, image_url + ) if success: logger.info(f"群 {group_id} 图片报告发送成功") else: @@ -519,8 +516,10 @@ class AutoScheduler: logger.warning( f"群 {group_id} 发送图片报告失败,回退到文本报告" ) - text_report = self.report_generator.generate_text_report( - analysis_result + text_report = ( + self.report_generator.generate_text_report( + analysis_result + ) ) await self._send_text_message( group_id, f"📊 每日群聊分析报告:\n\n{text_report}" @@ -658,9 +657,7 @@ class AutoScheduler: return True except Exception as e: - logger.debug( - f"平台 {test_platform_id} URL 图片发送失败: {e}" - ) + logger.debug(f"平台 {test_platform_id} URL 图片发送失败: {e}") logger.warning(f"群 {group_id} URL 方式发送图片失败,尝试 base64") @@ -673,7 +670,9 @@ class AutoScheduler: async with aiohttp.ClientSession(timeout=timeout) as session: async with session.get(image_url) as resp: if resp.status != 200: - logger.error(f"群 {group_id} base64 下载图片失败: status={resp.status}") + logger.error( + f"群 {group_id} base64 下载图片失败: status={resp.status}" + ) image_bytes = None else: max_bytes = 5 * 1024 * 1024 # 5 MiB 安全限制