mirror of
https://github.com/Nezumi-2711/astrbot_plugin_qq_group_daily_analysis.git
synced 2026-09-22 20:01:04 +00:00
feat(html): 增加了html_only_url选项,使在选择输出格式为html时可以单独发送BaseURL (#166 @shiitin)
* 更改了AstrBot中面板的的设置项,增加了html_only_url选项 * 增加了html_only_url * 增加了单独发送URL 在html_only_url设置被打开且配置了Base URL后,将会单独发送URL * 加入测试日志,尝试解决存在问题 * 加入测试日志,尝试解决存在问题 * 删除了定时触发部分的测试日志 * 修改了手动触发部分的发送HTML的判断 * 修改了main.py的单行长度过长问题 * 修复了dispatcher.py的缩进问题
This commit is contained in:
@@ -266,6 +266,15 @@ class ConfigManager:
|
||||
"""获取HTML外链Base URL"""
|
||||
return self._get_group("html").get("html_base_url", "")
|
||||
|
||||
def get_html_only_url(self) -> bool:
|
||||
"""获取是否仅输出外链而不发送文件本体"""
|
||||
return self._get_group("html").get("html_only_url", False)
|
||||
|
||||
def set_html_only_url(self, enabled: bool):
|
||||
"""设置是否仅输出外链而不发送文件本体"""
|
||||
self._ensure_group("html")["html_only_url"] = enabled
|
||||
self.config.save_config()
|
||||
|
||||
def get_html_filename_format(self) -> str:
|
||||
"""获取HTML文件名格式"""
|
||||
return self._get_group("html").get(
|
||||
|
||||
@@ -41,6 +41,7 @@ class ReportDispatcher:
|
||||
"""
|
||||
trace_id = TraceContext.get()
|
||||
output_format = self.config_manager.get_output_format()
|
||||
|
||||
logger.info(
|
||||
f"[{trace_id}] 正在分发群 {group_id} 的报告 (格式: {output_format})"
|
||||
)
|
||||
@@ -125,6 +126,27 @@ class ReportDispatcher:
|
||||
logger.error(f"[{trace_id}] Failed to generate HTML report: {e}")
|
||||
|
||||
if html_path:
|
||||
is_only_url = self.config_manager.get_html_only_url()
|
||||
base_url = self.config_manager.get_html_base_url()
|
||||
|
||||
if is_only_url:
|
||||
if base_url and base_url.strip():
|
||||
filename = os.path.basename(html_path)
|
||||
report_url = f"{base_url.rstrip('/')}/{filename}"
|
||||
|
||||
sent = await self.message_sender.send_text(
|
||||
group_id,
|
||||
f"📊 今日群聊分析报告已生成:\n{report_url}",
|
||||
platform_id,
|
||||
)
|
||||
|
||||
if sent:
|
||||
return True
|
||||
else:
|
||||
logger.warning(
|
||||
f"[{trace_id}] 群 {group_id} 开启了仅发送外链,但未配置 html_base_url,已进行降级,回退至发送 HTML 文件。"
|
||||
)
|
||||
|
||||
caption = self.report_generator.build_html_caption(html_path)
|
||||
|
||||
sent = await self.message_sender.send_file(
|
||||
|
||||
Reference in New Issue
Block a user