From 61c3c5c3a35d3f2cc4022b3f96742734b154eea4 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 10 Jan 2019 14:14:18 +0100 Subject: bin/ii-answer: use bin/markov (not in repo) to return random words --- bin/ii-answer | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'bin/ii-answer') diff --git a/bin/ii-answer b/bin/ii-answer index 7db226f..de6d3c9 100755 --- a/bin/ii-answer +++ b/bin/ii-answer @@ -146,6 +146,28 @@ find "${irc_dir}" \ sort -u | \ irc_say "${channel}" 'copy' fi + # answer "say/tell ... new/random/more" + regex="${sloppy_salutation}"'.*\(say\|tell\).*\(new\|random\|more\).*' + askers=$( + sed -i ' + /'"${regex}"'/ { + s/'"${regex}"'/\1/ + w /dev/stdout + d + } + ' "${out_file}" | \ + sort -u + ) + if [ -n "${askers}" ]; then + "${base_dir}/bin/markov" ~/.words.irc 3 "$(printf '%s\n' "${askers}" | wc -l)" | \ + for asker in ${askers}; do + if ! read -r random; then + continue + fi + printf '%s: %s\n' "${asker}" "${random}" + done | \ + irc_say "${channel}" 'copy' + fi if [ -z "${channel%%#*}" ]; then # answer "Shut up!" regex='^\S\+ <\S\+> \(.* \)\?[Ss][Hh][Uu][Tt] \?[Uu][Pp]' -- cgit v1.2.3