4 # Repeatedly parse config file for GPG key and bot screen configs.
6 db_dir="${HOME}/plomlombot_db"
7 irclogs_dir=/var/www/html/irclogs
9 if [ -f "${path}" ]; then
10 cat "${path}" | while read line; do
11 first_word=$(echo -n "${line}" | cut -d' ' -f1)
13 # Read "bot:" line, start bot screen session from it if not yet existing,
14 # set up irclogs dir if not yet existing.
15 if [ "${first_word}" = "bot:" ]; then
16 session_name=$(echo -n "${line}" | cut -d' ' -f2)
17 bot_name=$(echo -n "${line}" | cut -d' ' -f3)
18 channel_name=$(echo -n "${line}" | cut -d' ' -f4)
19 server_name=$(echo -n "${line}" | cut -d' ' -f5)
21 screen -S "${session_name}" -Q select . > /dev/null
24 if [ "${start_screen}" -eq "1" ]; then
26 screen -d -m -S "${session_name}" ./run.sh -n "${bot_name}" -s "${server_name}" "${channel_name}"
28 md5_server=$(echo -n "${server_name}" | md5sum | cut -d' ' -f1)
29 md5_channel=$(echo -n "${channel_name}" | md5sum | cut -d' ' -f1)
30 logs_dir="${db_dir}/${md5_server}/${md5_channel}/logs"
31 # FIXME: Note the trouble we will have if we have the same channel
32 # name on different servers …
33 shortened_channel_name="${channel_name}"
34 first_char=$(echo -n "${channel_name}" | cut -c1)
35 if [ "${first_char}" = "#" ]; then
36 shortened_channel_name=$(echo -n "${channel_name}" | cut -c2-)
38 ln -sfn "${logs_dir}" "${irclogs_dir}/${shortened_channel_name}"
40 # If "key:" line, encrypt old raw logs to that GPG key.
41 elif [ "${first_word}" = "gpg_key": ]; then
42 key=$(echo -n "${line}" | cut -d' ' -f2)
43 mkdir -p ~/plomlombot_db
45 find . -path '*/*/raw_logs/*.txt' -mtime +1 -type f -exec gpg --recipient "${key}" --trust-model always --encrypt {} \; -exec rm {} \;