mirror of
https://github.com/Nezumi-2711/astrbot_plugin_qq_group_daily_analysis.git
synced 2026-09-22 13:38:43 +00:00
[v4.4.0] 修复可能的图片生成成功但是发送失败的情况,增加 Fallback 的 BASE64 编码的图片发送方式 @Heximiao
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
# QQ群日常分析插件
|
||||
|
||||
|
||||
[](https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis)
|
||||
[](https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis)
|
||||
[](https://github.com/AstrBotDevs/AstrBot)
|
||||
[](LICENSE)
|
||||
[](https://qm.qq.com/q/oTzIrdDBIc)
|
||||
@@ -108,6 +108,9 @@ simple 模板效果图(用于展示贡献指南)
|
||||
<details>
|
||||
<summary>📋 点击展开查看完整更新日志</summary>
|
||||
|
||||
### v4.4.0
|
||||
- 修复可能的图片生成成功但是发送失败的情况,增加 Fallback 的 BASE64 编码的图片发送方式(@Heximiao)
|
||||
|
||||
### v4.3.0
|
||||
- 纠正关闭特定分析区但是基础样式没有去除的 bug
|
||||
|
||||
|
||||
+1
-1
@@ -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 # 插件的仓库地址
|
||||
|
||||
@@ -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 安全限制
|
||||
|
||||
Reference in New Issue
Block a user