helm/bin/pushover

58 lines
1 KiB
Plaintext
Raw Normal View History

2016-11-04 17:55:54 -07:00
#!/usr/bin/env bash
#
# Sends a pushover notification.
#
# -t [TITLE]
# -m [MESSAGE]
# -p [PRIORITY_LEVEL]
# -u [URL]
# -U [URL_TITLE]
# -d [DEVICE]
#
set -e
unset CDPATH
secret_file=~/.secrets/pushover
if [[ ! -f $secret_file ]]; then
>&2 echo "No pushover config file found"
exit 1
2016-12-25 21:24:43 -08:00
fi
title=${2:+$1}
message=${2:-$1}
# priority=
2016-12-25 21:24:43 -08:00
url=
url_title=
2016-12-25 21:24:43 -08:00
device=
while getopts t:m:p:u:d: opt; do
case $opt in
t) title="$OPTARG" ;;
m) message="$OPTARG" ;;
# p) priority="$OPTARG" ;;
u) url="$OPTARG" ;;
U) url_title="$OPTARG" ;;
d) device="$OPTARG" ;;
*) >&2 echo "Invalid option $OPTARG"
exit 1
;;
esac
2016-12-25 21:24:43 -08:00
done
shift $((OPTIND-1))
#USER=...
#TOKEN=...
eval "$(gpg --decrypt $secret_file)"
2016-12-25 21:24:43 -08:00
curl -s \
--form-string "token=$TOKEN" \
--form-string "user=$USER" \
--form-string "title=$title" \
--form-string "message=$message" \
--form-string "url=$url" \
--form-string "url_title=$url_title" \
--form-string "device=$device" \
https://api.pushover.net/1/messages.json