77 lines
1.9 KiB
Bash
77 lines
1.9 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
#
|
||
|
# Call with `scn_send title`
|
||
|
# or `scn_send title content`
|
||
|
# or `scn_send title content priority`
|
||
|
#
|
||
|
#
|
||
|
|
||
|
if [ "$#" -lt 1 ]; then
|
||
|
echo "no title supplied via parameter"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
################################################################################
|
||
|
# INSERT YOUR DATA HERE #
|
||
|
################################################################################
|
||
|
user_id=999
|
||
|
user_key="????????????????????????????????????????????????????????????????"
|
||
|
################################################################################
|
||
|
|
||
|
title=$1
|
||
|
content=""
|
||
|
|
||
|
if [ "$#" -gt 1 ]; then
|
||
|
content=$2
|
||
|
fi
|
||
|
|
||
|
priority=1
|
||
|
|
||
|
if [ "$#" -gt 2 ]; then
|
||
|
priority=$3
|
||
|
fi
|
||
|
|
||
|
usr_msg_id=$(uuidgen)
|
||
|
|
||
|
while true ; do
|
||
|
|
||
|
curlresp=$(curl -s -o /dev/null -w "%{http_code}" \
|
||
|
-d "user_id=$user_id" -d "user_key=$user_key" -d "title=$title" \
|
||
|
-d "content=$content" -d "priority=$priority" -d "msg_id=$usr_msg_id" \
|
||
|
https://scn.blackforestbytes.com/send.php)
|
||
|
|
||
|
if [ "$curlresp" == 200 ] ; then
|
||
|
echo "Successfully send"
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
if [ "$curlresp" == 400 ] ; then
|
||
|
echo "Bad request - something went wrong"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [ "$curlresp" == 401 ] ; then
|
||
|
echo "Unauthorized - wrong userid/userkey"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [ "$curlresp" == 403 ] ; then
|
||
|
echo "Quota exceeded - wait one hour before re-try"
|
||
|
sleep 3600
|
||
|
fi
|
||
|
|
||
|
if [ "$curlresp" == 412 ] ; then
|
||
|
echo "Precondition Failed - No device linked"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [ "$curlresp" == 500 ] ; then
|
||
|
echo "Internal server error - waiting for better times"
|
||
|
sleep 60
|
||
|
fi
|
||
|
|
||
|
# if none of the above matched we probably hav no network ...
|
||
|
echo "Send failed (response code $curlresp) ... try again in 5s"
|
||
|
sleep 5
|
||
|
done
|