51 lines
1.7 KiB
Bash
Executable File
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" |