annna-start - annna - Annna the nice friendly bot.
HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
DIR Log
DIR Files
DIR Refs
DIR Tags
DIR README
---
annna-start (1976B)
---
1 #!/bin/sh
2
3 [ -z "${ANNNA_BASE}" ] && printf "Please set \$ANNNA_BASE.\n" >&2 && exit 1
4 [ ! -d "${ANNNA_BASE}" ] && printf "%s not a directory.\n" "${ANNNA_BASE}" >&2 && exit 1
5
6 [ ! -e "${ANNNA_BASE}/binbase" ] && printf "No /binbase exists.\n" >&2 && exit 1
7 export ANNNA_BINBASE="$(cat "${ANNNA_BASE}/binbase")"
8 [ ! -d "${ANNNA_BINBASE}" ] && printf "%s not a directory.\n" "${ANNNA_BINBASE}" >&2 && exit 1
9
10 [ ! -e "${ANNNA_BASE}/modbase" ] && printf "No /modbase exists.\n" >&2 && exit 1
11 export ANNNA_MODBASE="$(cat "${ANNNA_BASE}/modbase")"
12 [ ! -d "${ANNNA_MODBASE}" ] && printf "%s not a directory.\n" "${ANNNA_MODBASE}" >&2 && exit 1
13
14 [ ! -e "${ANNNA_BASE}/ircbase" ] && printf "No /ircbase exists.\n" >&2 && exit 1
15 export ANNNA_IRCBASE="$(cat "${ANNNA_BASE}/ircbase")"
16 [ ! -d "${ANNNA_IRCBASE}" ] && printf "%s not a directory.\n" "${ANNNA_IRCBASE}" >&2 && exit 1
17
18 export PATH="$PATH:${ANNNA_BINBASE}"
19
20 cd "${ANNNA_BASE}"
21 touch running
22
23 if [ $# -gt 1 ];
24 then
25 if [ "$1" = "-h" ];
26 then
27 printf "usage: %s [server ...]\n" "$(basename "$0")" >&2
28 exit 1
29 fi
30 servers="$@"
31 else
32 servers="$(find . -maxdepth 1 -type d | cut -c 3-)";
33 fi
34 for server in ${servers};
35 do
36 [ -z "$server" ] && continue
37 export IRC_SERVER="${server}"
38 if [ -f "${IRC_SERVER}.pid" ];
39 then
40 printf "%s already running.\n" "${IRC_SERVER}"
41 continue
42 fi
43
44 [ ! -f ${server}/autoconnect ] && continue
45 export IRC_CHANNELS="$(cat ${server}/channels | tr '\n' ' ')"
46 export IRC_TLS=0
47 [ -f ${server}/tls ] && export IRC_TLS=1
48 export IRC_PORT=6667
49 [ -f ${server}/port ] && export IRC_PORT="$(cat ${server}/port)"
50 export IRC_USER="annna"
51 [ -f ${server}/user ] && export IRC_USER="$(cat ${server}/user)"
52 export IRC_PASS=
53 [ -f ${server}/pass ] && export IRC_PASS="$(cat ${server}/pass)"
54 export IRC_NAME="Gode"
55 [ -f ${server}/name ] && export IRC_NAME="$(cat ${server}/name)"
56
57 annna-start-server &
58 printf "%s\n" "$!" > "${IRC_SERVER}.pid"
59 done
60
61 printf "%s is ALIVE. Have fun! :-)\n" "${IRC_USER}"
62