Introduction
Introduction Statistics Contact Development Disclaimer Help
Refactor annna text command matches. - annna - Annna the nice friendly bot.
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6…
Log
Files
Refs
Tags
README
---
commit c3d834f28259c7860e41365fb87cfcc3777cf973
parent af34952c8eec82a609f56229c0a6ff6d2db2895b
Author: Annna Robert-Houdin <[email protected]>
Date: Fri, 5 Jun 2020 20:38:13 +0200
Refactor annna text command matches.
Move some member commands which do not harm to non-member context.
Diffstat:
M annna-start-services | 410 ++++++++++++-----------------…
1 file changed, 159 insertions(+), 251 deletions(-)
---
diff --git a/annna-start-services b/annna-start-services
@@ -267,9 +267,6 @@ annna_common() {
;;
esac
;;
- esac
-
- case "${text}" in
"Ok, ${botname}"*)
annna-say -c "${channel}" "${user}, I am not a consumer device…
;;
@@ -287,10 +284,7 @@ annna_common() {
"${botname}, please turn me on.")
annna-say -c "${channel}" "☞ ⏻ ${user}"
;;
- esac
-
- if [ "${text}" = "${botname}, I'm bored." ];
- then
+ "${botname}, I'm bored")
randomlink="$(/br/bin/bitreich-lawn-random-link)"
linktype="$(printf "%s\n" "${randomlink}" | cut -d '|' -f1 | c…
linktext="$(printf "%s\n" "${randomlink}" | cut -d '|' -f2)"
@@ -307,182 +301,60 @@ annna_common() {
outtext="$(printf "%s/%s%s" "$outtext" "$linktype" "$l…
fi
annna-say -c "${channel}" "$outtext"
- fi
-
- if [ "${text}" = "${botname}, wb." ];
- then
+ ;;
+ "${botname}, wb.")
annna-say -c "${channel}" "${user}, ty! I am so happy to be he…
- return
- fi
-
- if [ "${text}" = "${botname}, welcome back." ];
- then
+ ;;
+ "${botname}, welcome back.")
annna-say -c "${channel}" "${user}, thank you! I am so happy t…
- return
- fi
-
- if [ "${text}" = "${botname}, what's up?" ];
- then
+ ;;
+ "${botname}, what's up?")
newsstr="$(ecl -shell /home/solene/gopher/bin/generator.lisp)"
annna-say -c "${channel}" "$newsstr"
- return
- fi
-
- if [ "${text}" = "${botname}, what's down?" ];
- then
+ ;;
+ "${botname}, what's down?")
annna-say -c "${channel}" "${user}, we all love you."
- return
- fi
-
- if [ "${text}" = "${botname}, I feel sick." ];
- then
+ ;;
+ "${botname}, I feel sick.")
newsstr="$(cd /br/gopher/hypochondria && ./hypochondria -s ran…
annna-say -c "${channel}" "You could have ${newsstr}! Be caref…
- return
- fi
-
- if [ "${text}" = "${botname}, oh hai!" ];
- then
+ ;;
+ "${botname}, oh hai!")
annna-say -c "${channel}" "${user}, hai! How is your sex life?"
- return
- fi
-
- if [ "${text}" = "${botname}, please tech hype me." ];
- then
+ ;;
+ "${botname}, please tech hype me.")
techstr="$(${modbase}/markov_tech/markov)"
annna-say -c "${channel}" "${techstr}"
- return
- fi
-
- if [ "${text}" = "${botname}, what's my horoscope?" ];
- then
+ ;;
+ "${botname}, what's my horoscope?")
horostr="$($HOME/scm/bullshit/horoscope)"
annna-say -c "${channel}" "${user}, ${horostr}"
- return
- fi
-
- if [ "${text}" = "${botname}, what's my future?" ];
- then
+ ;;
+ "${botname}, what's my future?")
purl="$(sacc gopher://parazyd.org/0/tarot.cgi | /br/bin/bitrei…
annna-say -c "${channel}" "${user}, your future is here: ${pur…
- return
- fi
-
- randomtag=0
- if [ "${text}" = "${botname}, please meme meme meme me." ];
- then
- randomtag=2
- fi
-
- if [ "${text}" = "${botname}, what's the wheelchair shooter meme again…
- then
- tagname="#scrollby"
- tagline="$(printf "%s\n" "$(hashtags)" | grep "^${tagname} ")"
- tagname="$(printf "%s\n" "${tagline}" | cut -d ' ' -f 1)"
- taguri="$(printf "%s\n" "${tagline}" | cut -d ' ' -f 2-)"
- annna-say -c "${channel}" "${tagname}: ${taguri}"
- fi
-
- case "${text}" in
- *\#nospoil*)
- ;;
- *\#tag[^a-zA-Z-]*)
- randomtag=1
- ;;
- *\#tag)
- randomtag=1
;;
- *rfc[0-9]*)
- rfcname="$(printf "%s\n" "${text}" | sed 's,.*\(rfc[0-9]*\).*,…
- annna-say -c "${channel}" "${rfcname}: ftp://ftp.rfc-editor.or…
- ;;
- *RFC[0-9]*)
- rfcname="$(printf "%s\n" "${text}" | sed 's,.*\(RFC[0-9]*\).*,…
- annna-say -c "${channel}" "${rfcname}: ftp://ftp.rfc-editor.or…
- ;;
- esac
-
- if [ $randomtag -gt 0 ];
- then
- while [ $randomtag -gt 0 ];
- do
- rtag="$(printf "%s\n" "$(hashtags)" | shuf -n 1)"
- tagname=""
- taguri=""
- for tag in ${rtag};
- do
- [ -z "${tagname}" ] && tagname="${tag}" && con…
- taguri="${tag}"
- done
-
- annna-say -c "${channel}" "${tagname}: ${taguri}"
-
- randomtag=$(($randomtag - 1))
- done
- else
- tagname=""
- taguri=""
- for tag in $(hashtags);
- do
- [ -z "${tagname}" ] && tagname="${tag}" && continue
- taguri="${tag}"
-
- case "${text}" in
- *\#nospoil*)
- break;
- ;;
- *${tagname}[^a-zA-Z-]*)
- annna-say -c "${channel}" "${tagname}: ${tagur…
- break;
- ;;
- *${tagname})
- annna-say -c "${channel}" "${tagname}: ${tagur…
- break;
- ;;
- esac
- tagname=""
- done
- fi
-
- if [ "${text}" = "${botname}, how many memes do you know?" ];
- then
+ "${botname}, how many memes do you know?")
annna-say -c "${channel}" "I know $(hashtagcount) memes: gophe…
- return
- fi
-
- if [ "${text}" = "${botname}, how many people died of corona?" ];
- then
+ ;;
+ "${botname}, how many people died of corona?")
annna-say -c "${channel}" "${user}, too many. :( Please see yo…
- return
- fi
-
-
- if [ "${text}" = "${botname}, please show me your memes." ];
- then
+ ;;
+ "${botname}, please show me your memes.")
purl="$(printf "%s" "$(hashtags)" | /br/bin/bitreich-paste)"
annna-say -c "${channel}" "Here are my memes: ${purl}"
- return
- fi
-
- if [ "${text}" = "${botname}, please distro-hop with me." ];
- then
+ ;;
+ "${botname}, please distro-hop with me.")
ndistro="$(curl -s 'https://distrowatch.com/dwres.php?resource…
| grep phr2 \
| sed 's,.*href="\(.*\)".*,\1,' \
| sort | uniq | shuf -n 1)"
annna-say -c "${channel}" "How about https://distrowatch.com/$…
- return
- fi
-
- ismember=0
- for member in $brmembers;
- do
- [ "$user" = "$member" ] && ismember=1
- done
- [ $ismember -lt 1 ] && return
-
- if [ "${text}" = "${botname}, be cool." ];
- then
+ ;;
+ "${botname}, please show me your Macron.")
+ annna-say -c "${channel}" "gopher://bitreich.org/0/ascii/macro…
+ ;;
+ "${botname}, be cool.")
case "$(($RANDOM % 4))" in
0)
annna-say -c "${channel}" "(⌐■_■)"
@@ -497,11 +369,8 @@ annna_common() {
annna-say -c "${channel}" "(▀Ĺ▀ )"
;;
esac
- return
- fi
-
- if [ "${text}" = "${botname}, please cheer." ];
- then
+ ;;
+ "${botname}, please cheer.")
case "$(($RANDOM % 2))" in
0)
annna-say -c "${channel}" '~\o/~'
@@ -510,11 +379,8 @@ annna_common() {
annna-say -c "${channel}" '✺◟( ° ʖ °)◞✺'
;;
esac
- return
- fi
-
- if [ "${text}" = "${botname}, be cute." ];
- then
+ ;;
+ "${botname}, be cute.")
case "$(($RANDOM % 4))" in
0)
annna-say -c "${channel}" ' (\ /)'
@@ -545,106 +411,46 @@ annna_common() {
annna-say -c "${channel}" ' (, (") (")'
;;
esac
- return
- fi
-
- if [ "${text}" = "${botname}, can you show me the uptime please?" ];
- then
- annna-say -c "${channel}" "$(hostname) uptime: $(uptime)"
- return
- fi
-
- if [ "${text}" = "${botname}, please show me the load." ];
- then
- annna-say -c "${channel}" "$(hostname) load: $(LANG=C uptime |…
- return
- fi
-
- if [ "${text}" = "${botname}, please show me your Macron." ];
- then
- annna-say -c "${channel}" "gopher://bitreich.org/0/ascii/macro…
- return
- fi
-
- if [ "${text}" = "${botname}, please give me the count of online users…
- then
- annna-say -c "${channel}" "$(hostname): $(who -q | tail -n 1 |…
- return
- fi
-
- if [ "${text}" = "${botname}, please roll a dice for me." ];
- then
+ ;;
+ "${botname}, please roll a dice for me.")
annna-say -c "${channel}" "$((($RANDOM % 6) + 1))"
- return
- fi
-
- if [ "${text}" = "${botname}, please tell me your favourite flower." ];
- then
+ ;;
+ "${botname}, please tell me your favourite flower.")
annna-say -c "${channel}" "My favourite flower is the beer flo…
- return
- fi
-
- if [ "${text}" = "${botname}, please tell me your favourite color." ];
- then
+ ;;
+ "${botname}, please tell me your favourite color.")
annna-say -c "${channel}" "My favourite color is yellow."
- return
- fi
-
- if [ "${text}" = "${botname}, please dance." ];
- then
+ ;;
+ "${botname}, please dance.")
if [ $(($RANDOM % 2)) -gt 0 ];
then
annna-say -c "${channel}" ',o/ o/_ _\o _o_ \o\'
else
annna-say -c "${channel}" '\o7 -o7 _o7 .o7 \o. \o_ \o-…
fi
- return
- fi
-
- if [ "${text}" = "${botname}, please dance with me." ];
- then
+ ;;
+ "${botname}, please dance with me.")
if [ $(($RANDOM % 2)) -gt 0 ];
then
annna-say -c "${channel}" "I am not that kind of woman…
else
annna-say -c "${channel}" "Thank you! Let us dance! :-…
fi
- return
- fi
-
- if [ "${text}" = "${botname}, please tell me who is your favourite ple…
- then
+ ;;
+ "${botname}, please tell me who is your favourite pleasure man.")
annna-say -c "${channel}" "My favourite pleasure man is of cou…
- return
- fi
-
- if [ "${text}" = "${botname}, sudo make me a sandwich" ];
- then
+ ;;
+ "${botname}, sudo make me a sandwich")
annna-say -c "${channel}" "Humans are no objects."
- return
- fi
-
- if [ "${text}" = "${botname}, sudo please make me a sandwich" ];
- then
+ ;;
+ "${botname}, sudo please make me a sandwich")
annna-say -c "${channel}" "Here is your sandwich."
- return
- fi
-
- if [ "${text}" = "${botname}, please update the phlog index." ];
- then
- phlog-index > /dev/null 2>&1
- annna-say -c "${channel}" "Thanks! Your request has been fulfi…
- return
- fi
-
- if [ "${text}" = "${botname}, bonjour !" ];
- then
+ ;;
+ "${botname}, bonjour !")
annna-say -c "${channel}" "${user}, bonjour !"
- return
- fi
-
- if [ "${text}" = "${botname}, please help." ];
- then
+ ;;
+ "${botname}, please help.")
+ # Help Message.
# TODO: Add multiple line support to annna-say -c(1) with slee…
annna-say -c "${user}" "»how many memes do you know?«gets yo…
sleep 0.5
@@ -699,8 +505,110 @@ annna_common() {
annna-say -c "${user}" "», bonjour !"
sleep 0.5
annna-say -c "${user}" "»please help.« gives you this help l…
- return
+ ;;
+ esac
+
+ randomtag=0
+ if [ "${text}" = "${botname}, please meme meme meme me." ];
+ then
+ randomtag=2
+ fi
+
+ if [ "${text}" = "${botname}, what's the wheelchair shooter meme again…
+ then
+ tagname="#scrollby"
+ tagline="$(printf "%s\n" "$(hashtags)" | grep "^${tagname} ")"
+ tagname="$(printf "%s\n" "${tagline}" | cut -d ' ' -f 1)"
+ taguri="$(printf "%s\n" "${tagline}" | cut -d ' ' -f 2-)"
+ annna-say -c "${channel}" "${tagname}: ${taguri}"
+ fi
+
+ case "${text}" in
+ *\#nospoil*)
+ ;;
+ *\#tag[^a-zA-Z-]*)
+ randomtag=1
+ ;;
+ *\#tag)
+ randomtag=1
+ ;;
+ *rfc[0-9]*)
+ rfcname="$(printf "%s\n" "${text}" | sed 's,.*\(rfc[0-9]*\).*,…
+ annna-say -c "${channel}" "${rfcname}: ftp://ftp.rfc-editor.or…
+ ;;
+ *RFC[0-9]*)
+ rfcname="$(printf "%s\n" "${text}" | sed 's,.*\(RFC[0-9]*\).*,…
+ annna-say -c "${channel}" "${rfcname}: ftp://ftp.rfc-editor.or…
+ ;;
+ esac
+
+ if [ $randomtag -gt 0 ];
+ then
+ while [ $randomtag -gt 0 ];
+ do
+ rtag="$(printf "%s\n" "$(hashtags)" | shuf -n 1)"
+ tagname=""
+ taguri=""
+ for tag in ${rtag};
+ do
+ [ -z "${tagname}" ] && tagname="${tag}" && con…
+ taguri="${tag}"
+ done
+
+ annna-say -c "${channel}" "${tagname}: ${taguri}"
+
+ randomtag=$(($randomtag - 1))
+ done
+ else
+ tagname=""
+ taguri=""
+ for tag in $(hashtags);
+ do
+ [ -z "${tagname}" ] && tagname="${tag}" && continue
+ taguri="${tag}"
+
+ case "${text}" in
+ *\#nospoil*)
+ break;
+ ;;
+ *${tagname}[^a-zA-Z-]*)
+ annna-say -c "${channel}" "${tagname}: ${tagur…
+ break;
+ ;;
+ *${tagname})
+ annna-say -c "${channel}" "${tagname}: ${tagur…
+ break;
+ ;;
+ esac
+ tagname=""
+ done
fi
+
+ # Membership Level.
+ ismember=0
+ for member in $brmembers;
+ do
+ [ "$user" = "$member" ] && ismember=1
+ done
+ [ $ismember -lt 1 ] && return
+
+
+ case "${text}" in
+ "${botname}, can you show me the uptime please?")
+ annna-say -c "${channel}" "$(hostname) uptime: $(uptime)"
+ ;;
+ "${botname}, please show me the load.")
+ annna-say -c "${channel}" "$(hostname) load: $(LANG=C uptime |…
+ ;;
+ "${botname}, please give me the count of online users.")
+ annna-say -c "${channel}" "$(hostname): $(who -q | tail -n 1 |…
+ ;;
+ "${botname}, please update the phlog index.")
+ phlog-index > /dev/null 2>&1
+ annna-say -c "${channel}" "Thanks! Your request has been fulfi…
+ ;;
+ esac
+
}
# Permissions
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.