#!/bin/bash
# telegrammer-relay — Send messages to Orochi from telegrammer
# Usage: telegrammer-relay send "message" [--channel '#telegram']
#        telegrammer-relay health
#        telegrammer-relay who
#        telegrammer-relay --self-test

set -uo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
source "${SCRIPT_DIR}/../lib/orochi-relay.sh"

case "${1:-}" in
    send)
        shift
        message="${1:?Usage: telegrammer-relay send \"message\" [--channel '#channel']}"
        channel="${OROCHI_CHANNEL}"
        # Parse optional --channel flag
        if [[ "${2:-}" == "--channel" && -n "${3:-}" ]]; then
            channel="$3"
        fi
        result=$(orochi_relay "$message" "$channel")
        case "$result" in
            rest)
                echo "Sent via REST API"
                ;;
            screen)
                echo "WARNING: REST unavailable, sent via screen fallback"
                ;;
            failed)
                echo "ERROR: Both REST and screen delivery failed" >&2
                exit 1
                ;;
        esac
        ;;
    health)
        orochi_health
        ;;
    who)
        orochi_who
        ;;
    --self-test)
        orochi_self_test
        ;;
    *)
        echo "Usage: telegrammer-relay {send|health|who|--self-test}"
        echo ""
        echo "Commands:"
        echo "  send \"message\" [--channel '#channel']  Send message to Orochi"
        echo "  health                                  Check Orochi connectivity"
        echo "  who                                     List connected agents"
        echo "  --self-test                             Run self-tests"
        exit 1
        ;;
esac
