Files
openclaw-backups/automations/check-krilly-email.sh
2026-02-19 12:11:01 +00:00

51 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# Check Krilly's AgentMail inbox and alert Anthony of new emails
# SILENT MODE: Only outputs anything if there are new emails to report
set -e
INBOX="krilly@agentmail.to"
API_KEY="am_us_22a6a04a84144467993d5b90be8bbd5d1482ca615a4e17561682dd3d6831f932"
LAST_CHECK_FILE="/tmp/krilly-last-email-check"
# Get current timestamp
CURRENT_TIME=$(date -u +"%Y-%m-%dT%H:%M:%S.000Z")
# Get last check time (default to 1 hour ago if file doesn't exist)
if [[ -f "$LAST_CHECK_FILE" ]]; then
LAST_CHECK=$(cat "$LAST_CHECK_FILE")
else
LAST_CHECK=$(date -u -d '1 hour ago' +"%Y-%m-%dT%H:%M:%S.000Z")
fi
# Get messages since last check
MESSAGES=$(curl -s -H "Authorization: Bearer $API_KEY" \
"https://api.agentmail.to/v0/inboxes/$INBOX/messages?limit=20&after=$LAST_CHECK")
# Simple check for new messages (look for messages without "sent" label)
if echo "$MESSAGES" | grep -q '"messages":\s*\[\s*\]'; then
NEW_COUNT=0
elif echo "$MESSAGES" | grep -v '"sent"' | grep -q '"message_id"'; then
NEW_COUNT=$(echo "$MESSAGES" | grep -o '"message_id"' | grep -v -A5 -B5 '"sent"' | wc -l)
if [[ "$NEW_COUNT" -lt 1 ]]; then
NEW_COUNT=1 # At least one if we found messages
fi
else
NEW_COUNT=0
fi
# SILENT: Only output and notify if there are new emails
if [[ "$NEW_COUNT" -gt 0 ]]; then
# Send Telegram notification
MESSAGE="🦀 **Krilly received $NEW_COUNT new email(s)!**
📧 Check full inbox: https://sendclaw.com/dashboard"
/home/openclaw/.npm-global/bin/openclaw message send \
--channel telegram \
--target "telegram:1793951355" \
--message "$MESSAGE" 2>/dev/null || true
fi
# Always update last check time (silently)
echo "$CURRENT_TIME" > "$LAST_CHECK_FILE"