DarkFeather
5e360b0da2
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
49 lines
1.2 KiB
Bash
Executable File
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"
|