#!/usr/bin/env ash chan="$1"; serv="${serv:-irc.freenode.net}"; cd "/home/zgrep/offtopiabday" || exit 1; var() { printf '%s\n' "$1"; } say() { cat - > "$serv/$chan/in"; } alias safe="sed 's%^/%//%'" log="$serv/$chan/out"; irc() { tail -n 0 -f "$serv/$chan/out" | while read -r l; do var "$l" | sed 's/^[^<]*//'; done; } reg() { r=$(var "$1" | sed 's%/%\\\/%g'); r=$(var "$2" | perl -ne '@m=m/'"$r"'/ or exit 1;printf join "\n", @m'); } hreg() { reg "$(var "$1" | sed 's/happybot/(?:[hH][aA][pP][pP][yY]|[hH][aA][tT][eE])[bB][oO][tT]/g')" "$2" } m() { var "$r" | sed -n "$1p"; } zwsp=$(python3 -c 'print("\u200b",end="")'); zwsp() { cat - | sed 's%^\(/m \)\?%\1'"$zwsp"'%'; } x01=$(python3 -c 'print("\x01",end="")'); zirc() { irc | while read -r n l; do l="$(var "$l" | grep -vE "^${zwsp}|^${x01}ACTION ${zwsp}")" if [ -z "$l" ]; then continue else var "$n $l" fi done } nth() { case "$1" in "11" | "12" | "13") var "${1}th"; ;; *"1") var "${1}st"; ;; *"2") var "${1}nd"; ;; *"3") var "${1}rd"; ;; *) var "${1}th"; ;; esac; } s() { if [ "$1" == "1" ]; then var ""; else var "s"; fi; } ns() { var "$1$(s "$1")"; } rand() { if [ -z "$1" ]; then f="-"; else f="$1"; fi perl -e 'srand; rand($.) < 1 && ($line = $_) while <>; print $line;' "$f" } person() { shuf -n100 "$serv/$chan/out" | grep -v -- '-!-' | rand | awk '{print$3}' | sed 's/^<\|>$//g'; }