hyperbot/issues_change_detector

48 lines
1.1 KiB
Bash
Executable File

#! /bin/bash
if ! which inotifywait &> /dev/null
then
echo 'inotify is a dep. fail'
exit
fi
bot_ipc="/tmp/un-provoked-message-store"
maildir="/srv/hyperbot/Maildir/new"
shopt -s extglob
next_line_is_url=0
inotifywait -m --format '%w%f' -e create "${maildir}" 2>/dev/null |
while read email
do
while read line
do
case "${line}" in
'Subject: ['* )
lp1="${line#Subject: [}"
lp="${lp1%% - *}"
echo -n "${lp}"
;;
'Issue #'* )
echo -n " - ${line}"
;;
*' #'+([[:digit:]])': '* )
echo -n " (${line#'Bug #'+([[:digit:]])': '})"
next_line_is_url=1
;;
'https://labs.parabola.nu/issues/'* )
(( next_line_is_url )) &&
echo -n " ${line}"
break
;;
esac
done < "${email}"
echo
done |
while read message
do
echo "${message}" >> "${bot_ipc}"
done