diff --git a/tools/push.sh b/tools/push.sh index 1a0f9a6..0e94225 100755 --- a/tools/push.sh +++ b/tools/push.sh @@ -1,23 +1,37 @@ #!/usr/bin/env bash -# Рассылка пуша всем подписчикам топика "aprsmap" (RuStore Push). -# Использование: ./push.sh "Заголовок" "Текст" -# project_id и service token читаются из tools/.push.secrets (в git не хранится). +# Рассылка пуш-уведомления ВСЕМ подписчикам топика "aprsmap" (RuStore Push). +# Топик = все устройства, где установлено приложение APRS RadioRubka +# и оно хотя бы раз запускалось (подписка на клиенте выполняется сама). +# +# Использование: +# ./push.sh "Заголовок" "Текст" +# +# Пример для крон/автоматики: +# */5 * * * * /home/ua1zbe/aprsmap/tools/push.sh "Новость" "$(cat /tmp/news.txt)" +# +# Project id и service token читаются из tools/.push.secrets (в git не хранится) +# либо из переменных окружения PUSH_SECRETS / SERVICE_TOKEN / PROJECT_ID. set -euo pipefail + DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -[ -f "$DIR/.push.secrets" ] && . "$DIR/.push.secrets" +SECRETS="${PUSH_SECRETS:-$DIR/.push.secrets}" +[ -f "$SECRETS" ] && . "$SECRETS" SERVICE_TOKEN="${SERVICE_TOKEN:-${SSP:-}}" PROJECT_ID="${PROJECT_ID:-}" -[ -n "$SERVICE_TOKEN" ] || { echo "SERVICE_TOKEN is not set" >&2; exit 1; } -[ -n "$PROJECT_ID" ] || { echo "PROJECT_ID is not set" >&2; exit 1; } +[ -n "$SERVICE_TOKEN" ] || { echo "Ошибка: SERVICE_TOKEN не задан" >&2; exit 1; } +[ -n "$PROJECT_ID" ] || { echo "Ошибка: PROJECT_ID не задан" >&2; exit 1; } -title="${1:?usage: push.sh