#!/bin/bash
# 每日资讯推送 - 定时任务入口脚本
# 通过 OpenClaw 发送消息到企业微信

set -e

WORKSPACE="/root/.openclaw/workspace"
SCRIPT="$WORKSPACE/scripts/daily-news.py"
LOG_FILE="$WORKSPACE/logs/daily-news-$(date +%Y%m%d).log"

# 创建日志目录
mkdir -p "$WORKSPACE/logs"

log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

log "========== 开始执行每日资讯推送 =========="

# 执行 Python 脚本获取资讯
NEWS_CONTENT=$(python3 "$SCRIPT" 2>&1)

if [ $? -ne 0 ]; then
    log "错误：资讯获取失败"
    echo "$NEWS_CONTENT" >> "$LOG_FILE"
    exit 1
fi

log "资讯内容获取成功"

# 保存资讯内容到文件
echo "$NEWS_CONTENT" > "$WORKSPACE/tmp/daily-news-$(date +%Y%m%d).md"

# 使用 OpenClaw 发送消息到企业微信
# 注意：这里需要通过 OpenClaw 的 message 工具发送
# 由于 shell 无法直接调用 OpenClaw 工具，我们创建一个会话任务

log "准备发送消息到企业微信..."

# 方法：创建一个子代理会话来发送消息
openclaw sessions spawn --runtime=subagent --mode=run --task="发送以下每日资讯到企业微信：

$NEWS_CONTENT

请使用 message 工具，action=send，channel=wecom，target 使用当前会话。" \
    --label="daily-news-sender" \
    --timeoutSeconds=60 2>&1 | tee -a "$LOG_FILE"

SEND_RESULT=$?

if [ $SEND_RESULT -eq 0 ]; then
    log "========== 资讯推送成功 =========="
else
    log "========== 资讯推送失败 (退出码：$SEND_RESULT) =========="
fi

exit $SEND_RESULT
