47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
export CONFIG=${XDG_CONFIG_HOME:-~/.config}/tellme/creds
|
|
|
|
# Load config file if it exist.
|
|
[ -f $CONFIG ] && export $(grep -v '^#' $CONFIG | xargs)
|
|
|
|
usage(){
|
|
echo "You have to tell me something"
|
|
exit -1
|
|
}
|
|
|
|
setup(){
|
|
echo "It doesn't look like I've been setup yet. I will need the Application & User tokens."
|
|
read -r -p " Application Token: " APPLICATION_TOKEN
|
|
read -r -p " User Token: " USER_TOKEN
|
|
mkdir -p $(dirname $CONFIG)
|
|
cat <<-EOF > $CONFIG
|
|
application_token=$APPLICATION_TOKEN
|
|
user_token=$USER_TOKEN
|
|
EOF
|
|
chmod 600 $CONFIG
|
|
echo "Config setup at $CONFIG"
|
|
echo
|
|
}
|
|
|
|
if [[ -z $application_token || -z $user_token ]] ; then
|
|
setup
|
|
export $(grep -v '^#' $CONFIG | xargs)
|
|
fi
|
|
|
|
if [[ $# -eq 0 ]] ; then
|
|
usage
|
|
fi
|
|
|
|
message=$@
|
|
curl -s \
|
|
--form-string "token=$application_token" \
|
|
--form-string "user=$user_token" \
|
|
--form-string "message=$message" \
|
|
https://api.pushover.net/1/messages.json \
|
|
| grep "\"status\":1," 1>/dev/null
|
|
|
|
[[ $? -eq 0 ]] && echo "message sent" || echo "ERROR SENDING NOTIFICATION"
|
|
|
|
printf '\a' #Rings bell
|