TheRaven/ravensend
DarkFeather 5e360b0da2
Removed Pushbullet support
Added Usage function
Reformated PKGBUILD to fit standards
Corrections to README.md
Removed static paths in favor of referential.
Test case update
Removed unneeded statements from crowfacts
2020-09-10 16:20:40 -05:00

49 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# TODO Add comments
# Default variables
unset channel
unset message
unset passphrase
export file="/usr/local/etc/TheRaven/raven.conf"
export port="8373"
export host="localhost"
# Show help
function usage() {
echo "Usage: $0 -c chan -m msg [ -f file -t host -p port ]"
echo " $0 -h" echo "Add -v to increase verbosity"
echo "Passphrase is pulled from Raven config, set to ${file}"
}
# Parse arguments
while getopts 'c:hm:p:P:t:v' OPTION; do
case "$OPTION" in
c) channel="${OPTARG}" ;;
f) file="${OPTARG}" ;;
h) usage; exit 0 ;;
m) message="${OPTARG}" ;;
p) port="${OPTARG}" ;;
t) host="${OPTARG}" ;;
v) set -x ;;
*) usage; exit 1 ;;
esac
done
# Check inputs.
if [ -z "$channel" ] || [ -z "$message" ] || [ -z "$file" ] || [ -z "$port" ] || [ -z "$host" ]; then
usage;
exit 1;
fi
# Try to get the passphrase.
passphrase="$(egrep -m 1 '^password=' "$file" | sed 's/^password=//')"
if [ -z "$passphrase" ]; then
echo Couldn\'t identify passphrase.
exit 2;
fi
# Send format to socket
printf "%s %s %s" "$passphrase" "$channel" "$message" | ncat "$host" "$port"