the bot can now exit gracefully.

This commit is contained in:
Storm Dragon 2020-08-17 21:20:12 -04:00
parent cce7ef88dc
commit 45447d2e77
4 changed files with 31 additions and 13 deletions

4
.gitignore vendored
View File

@ -1,5 +1,5 @@
/response/error.txt
response/error.txt
log.txt
.botinput
.*
bot.cfg
bot.cfg

24
bot.sh
View File

@ -6,19 +6,22 @@ if [ "$(whoami)" = "root" ]; then
fi
[ -f functions.sh ] && source functions.sh
[ -f bot.cfg ] && source bot.cfg
export allowList
export ignoreList
input=".botinput"
close_bot() {
echo -en "QUIT :${quitMessage}\r\n" | telnet "$server" "$port"
rm "$input"
exit 0
# Variables important to modules need to be exported here.
export allowList
export input
export ignoreList
export quitMessage
rm_input() {
if [[ -f "$input" ]]; then
rm "$input"
fi
}
trap close_bot EXIT $?
trap rm_input EXIT
echo "Session started $(date "+%I:%M%p%n %A, %B %d, %Y")" | tee "$log"
echo -e "Session started $(date "+%I:%M%p%n %A, %B %d, %Y").\n\nTo gracefully exit, make sure you are in the allow list and send the command exit to the bot.\n\n" | tee "$log"
echo "NICK $nick" > "$input"
echo "USER $user" >> "$input"
echo "JOIN #$channel" >> "$input"
@ -149,3 +152,6 @@ tail -f "$input" | telnet "$server" "$port" | while read -r result ; do
;;
esac
done
rm_input
exit 0

View File

@ -1,9 +1,13 @@
#!/bin/bash
if [ -z "$input" ]; then
input=".botinput"
if [[ -z "$input" ]]; then
input="$(mktemp .XXXXXX)"
fi
close_bot() {
echo -en "QUIT :${quitMessage}\r\n" >> "$input"
}
msg()
{
local msg="PRIVMSG $1 :"

8
modules/exit/exit.sh Executable file
View File

@ -0,0 +1,8 @@
[ -f functions.sh ] && source functions.sh
user=$1
shift
shift
if [[ "$user" =~ $allowList ]]; then
close_bot
fi