annna-start-server - 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-server (1494B)
---
1 #!/bin/sh
2
3 export IRC_SERVERBASE="${ANNNA_IRCBASE}/${IRC_SERVER}"
4 while annna-alive;
5 do
6 rm -rf "${IRC_SERVERBASE}"
7 mkdir -p "${IRC_SERVERBASE}"
8
9 [ $IRC_TLS -gt 0 ] && tlsparam=" -v -t"
10 [ -n "${IRC_USER}" ] && ircuserparam=" -n ${IRC_USER}"
11 ircpassparam=""
12 [ -n "${IRC_PASS}" ] && ircpassparam=" -k IRC_PASS"
13
14 ii -s "${IRC_SERVER}"${ircpassparam}${ircuserparam}${tlsparam} \
15 -f "${IRC_NAME}" -p ${IRC_PORT} 2>&1 \
16 | while read -r servermsg;
17 do
18 annna-alive || exit 1
19 servermsg="$(printf "%s\n" "${servermsg}" | sed -e 's,\r$,,')"
20
21 export IRC_PASS=
22 export IRC_CMD_USER="$(printf "%s\n" "${servermsg}" \
23 | cut -d' ' -f 2 \
24 | cut -d':' -f 2 \
25 | cut -d'!' -f 1)"
26 export IRC_CMD="$(printf "%s\n" "${servermsg}" \
27 | cut -d' ' -f 3)"
28 export IRC_PRIVMSG_TEXT=""
29
30 case "${IRC_CMD}" in
31 "433") exit 1;; # Nickname in use.
32 "001") annna-join-channels;; # Welcome.
33 "NICK"|"353"|"332"|"PING");;
34 "PART")
35 export IRC_CHANNEL="$(printf "%s\n" "${servermsg}" \
36 | cut -d' ' -f 4)"
37 annna-channel-message
38 ;;
39 "JOIN")
40 export IRC_CHANNEL="$(printf "%s\n" "${servermsg}" \
41 | cut -d' ' -f 4 \
42 | cut -d':' -f 2-)"
43 annna-channel-message
44 ;;
45 "PRIVMSG"|"NOTICE")
46 export IRC_CHANNEL="$(printf "%s\n" "${servermsg}" \
47 | cut -d' ' -f 4)"
48 export IRC_PRIVMSG_TEXT="$(printf "%s\n" "${servermsg}" \
49 | cut -d' ' -f 5- \
50 | cut -d':' -f 2-)"
51 annna-channel-message
52 ;;
53 esac
54 done
55
56 rm -rf "${IRC_SERVERBASE}"
57 [ ! -f "${IRC_SERVER}/reconnect" ] && break
58 sleep 5
59 done
60