Introduction
Introduction Statistics Contact Development Disclaimer Help
HUGE refactoring of call convention between scripts. - annna - Annna the nice f…
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6…
Log
Files
Refs
Tags
README
---
commit 21fb3dcd88a47fc4f38506131e22d601a86947de
parent ff9d3c63deee7dbae89d954ba2fb03c89e419cd1
Author: Annna Robert-Houdin <[email protected]>
Date: Mon, 13 Oct 2025 22:08:34 +0200
HUGE refactoring of call convention between scripts.
Diffstat:
M annna-alive | 4 ++--
M annna-channel-message | 25 +++++++------------------
M annna-channel-service | 38 +++++++++++++++--------------…
M annna-join-channels | 35 ++++++++++++-----------------…
M annna-message-common | 1299 +++++++++++++++--------------…
D annna-message-gopherproject | 19 -------------------
M annna-message-radio | 59 ++++++++++++-----------------…
M annna-message-sauna | 23 +++++------------------
M annna-message-wikigame | 35 +++++++++--------------------…
M annna-say | 55 +++++++++++++----------------…
A annna-sleeps | 13 +++++++++++++
M annna-start | 52 ++++++++++++++++++++++-------…
D annna-start-main | 113 -----------------------------…
A annna-start-server | 83 +++++++++++++++++++++++++++++…
M annna-start-service | 35 ++++++++++-------------------…
M stable-diffusion-emoji | 2 --
16 files changed, 891 insertions(+), 999 deletions(-)
---
diff --git a/annna-alive b/annna-alive
@@ -7,6 +7,6 @@
#
-[ -z "$(pgrep -U annna -x ii)" ] && exit 1
-exit 0
+[ -f "${ANNNA_BASE}/running" ] && exit 0
+exit 1
diff --git a/annna-channel-message b/annna-channel-message
@@ -1,26 +1,15 @@
#!/bin/sh
-server="$1"
-channel="$2"
-user="$3"
-text="$4"
-cmd="$5"
+set -x
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-ircuser="$(cat ${cfgbase}/${server}/ircuser)"
-serverbase="${ircbase}/${server}"
-modbase="$(cat ${cfgbase}/modbase)"
-
-case "${channel}" in
-\#bitreich-radio) annna-message-radio "${server}" "${channel}" "${user}" "${te…
-\#gopherproject) annna-message-gopherproject "${server}" "${channel}" "${user}…
-\#bitreich-wikigame) annna-message-wikigame "${server}" "${channel}" "${user}"…
-\#bitreich-sauna) annna-message-sauna "${server}" "${channel}" "${user}" "${te…
+case "${IRC_CHANNEL}" in
+\#bitreich-radio) annna-message-radio;;
+\#bitreich-wikigame) annna-message-wikigame;;
+\#bitreich-sauna) annna-message-sauna;;
\#bitreich-idle)
# This one runs its own daemon, so we have to give it a raw message. T…
- [ "${cmd}" == "PRIVMSG" ] && printf "$(date +%s) <%s> %s\n" >> "${serv…
+ [ "${IRC_CMD}" == "PRIVMSG" ] && printf "$(date +%s) <%s> %s\n" "$IRC_…
;;
-*) annna-message-common "${server}" "${channel}" "${user}" "${text}" "${cmd}";;
+*) annna-message-common;;
esac
diff --git a/annna-channel-service b/annna-channel-service
@@ -1,35 +1,28 @@
#!/bin/sh
#
-# Per-channel daemon that monitors incoming messages from ii out script.
+# Per-IRC_CHANNEL daemon that monitors incoming messages from ii out script.
#
+set -x
+
pgrep -f "$0 $*" | grep -vxq "$$" && exec echo "$0 $* already running"
#trap 'exec pkill -U annna -f "entr .* ${PWD}/out"' INT TERM EXIT HUP
-server="$1"
-channel="$2"
-
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-ircuser="$(cat ${cfgbase}/${server}/ircuser)"
-serverbase="${ircbase}/${server}"
-modbase="$(cat ${cfgbase}/modbase)"
-
-case "${channel}" in
+case "${IRC_CHANNEL}" in
\#bitreich-idle)
- idlebase="${modbase}/idlerpg"
+ idlebase="${ANNNA_MODBASE}/idlerpg"
$idlebase/idlerpg-channel-service.py \
- "${ircuser}" "${idlebase}" "${ircbase}" "${server}" "${channel…
+ "${IRC_USER}" "${idlebase}" "${ANNNA_IRCBASE}" "${IRC_SERVER}"…
exit $?
;;
\#bitreich-radio)
- radiobase="${modbase}/radio"
+ radiobase="${ANNNA_MODBASE}/radio"
$radiobase/radio-channel-service.sh \
- "${ircuser}" "${radiobase}" "${ircbase}" "${server}" "${channe…
+ "${IRC_USER}" "${radiobase}" "${ANNNA_IRCBASE}" "${IRC_SERVER}…
esac
-ls "${serverbase}/${channel}/out" \
- | entr tail -n 1 "${serverbase}/${channel}/out" 2>/dev/null \
+ls "${IRC_SERVERBASE}/${IRC_CHANNEL}/out" \
+ | entr tail -n 1 "${IRC_SERVERBASE}/${IRC_CHANNEL}/out" 2>/dev/null \
| {
while read -r line;
do
@@ -45,8 +38,10 @@ do
quit) cmd="QUIT";;
esac
[ -z "$cmd" ] && break
- user="$(printf "%s\n" "${line}" | cut -d' ' -f 3 | cut -d'(' -…
- annna-channel-message "${server}" "${channel}" "${user}" "" "$…
+ export IRC_CMD="${cmd}"
+ export IRC_CMD_USER="$(printf "%s\n" "${line}" | cut -d' ' -f …
+ export IRC_PRIVMSG_TEXT=""
+ annna-channel-message
;;
"<"*">")
cmd="PRIVMSG"
@@ -55,7 +50,10 @@ do
| {
while read -r user text;
do
- annna-channel-message "${server}" "${channel}" "${user…
+ export IRC_PRIVMSG_TEXT="${text}"
+ export IRC_CMD="${cmd}"
+ export IRC_CMD_USER="${user}"
+ annna-channel-message
done
}
;;
diff --git a/annna-join-channels b/annna-join-channels
@@ -1,55 +1,46 @@
#!/bin/sh
-export PATH="$PATH:/home/annna/bin"
-
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-
-server="$1"
-channels="$2"
-
-export ircuser="$(cat ${cfgbase}/${server}/ircuser 2>/dev/null)"
+set -x
maxretries=32
# Channels
-for chan in ${channels};
+for chan in ${IRC_CHANNELS};
do
- printf "/j %s\n" "${chan}" > ${ircbase}/${server}/in
-
- # Do not flood.
+ export IRC_CHANNEL="${chan}"
+ printf "/j %s\n" "${chan}" > "${IRC_SERVERBASE}/in"
sleep 1
## Make sure the pipes are there.
tries=0
- while [ ! -e "${ircbase}/${server}/${chan}/out" ];
+ while [ ! -e "${IRC_SERVERBASE}/${chan}/out" ];
do
- [ ! -f ${cfgbase}/running ] && exit 1
+ [ ! annna-alive ] && exit 1
tries=$(($tries + 1))
[ $tries -gt $maxretries ] && exit 1
sleep 1
done
tries=0
- while [ ! -e "${ircbase}/${server}/${chan}/in" ];
+ while [ ! -e "${IRC_SERVERBASE}/${chan}/in" ];
do
- [ ! -f ${cfgbase}/running ] && exit 1
+ [ ! annna-alive ] && exit 1
tries=$(($tries + 1))
[ $tries -gt $maxretries ] && exit 1
sleep 1
done
tries=0
- ## Check if we have joined and received the message from the server.
- while [ -z "$(cat ${ircbase}/${server}/${chan}/out \
+ ## Check if we have joined and received the message from the IRC_SERVE…
+ while [ -z "$(cat "${IRC_SERVERBASE}/${chan}/out" \
| head -n 1 \
- | grep ".* ${ircuser}.* ${chan}.*")" ];
+ | grep ".* ${IRC_USER}.* ${chan}.*")" ];
do
- [ ! -f ${cfgbase}/running ] && exit 1
+ [ ! annna-alive ] && exit 1
tries=$(($tries + 1))
[ $tries -gt $maxretries ] && exit 1
sleep 2
done
- annna-start-service "${server}" "${chan}"
+ annna-start-service
done
diff --git a/annna-message-common b/annna-message-common
@@ -1,24 +1,20 @@
#!/bin/bash
-export PATH="/br/bin:$PATH"
+set -x
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-modbase="$(cat ${cfgbase}/modbase)"
-hashtagfile="${modbase}/hashtags/hashtags.txt"
-idontcaredb="${modbase}/i-dont-care/i-dont-care.txt"
+#printf "%s %s %s %s\n" "${0##*/}" "${IRC_CHANNEL}" "${IRC_CMD_USER}" "${IRC_P…
+
+[ "${IRC_CMD_USER}" = "${IRC_USER}" ] && exit 0
+[ -z "${IRC_PRIVMSG_TEXT}" ] && exit 0
+
+hashtagfile="${ANNNA_MODBASE}/hashtags/hashtags.txt"
+idontcaredb="${ANNNA_MODBASE}/i-dont-care/i-dont-care.txt"
printnhashtags=2
brmembers="__20h__ Evil_Bob chripo posativ quinq stateless solene josuah paraz…
referees="__20h__"
ignorednicks="eidolon"
linkbrotherchannels="#bitreich-meme"
-server="$1"
-ircuser="$(cat ${cfgbase}/${server}/ircuser)"
-channel="$2"
-user="$3"
-text="$4"
-cmd="$5"
annnasumerian="𒈹"
annnabirthday="1989-05-18"
@@ -37,10 +33,6 @@ regeximatch() {
printf '%s' "$1" | grep -i -E -q "$2"
}
-#printf "%s %s %s %s\n" "${0##*/}" "${channel}" "${user}" "${text}"
-
-[ "$user" = "${ircuser}" ] && exit 0
-
isignored=0
for ignorednick in $ignorednicks;
do
@@ -57,8 +49,7 @@ dospoil=0
# Expand meme hashtag and show recommendations.
doexpand=0
-[ -z "${text}" ] && exit 0
-case "${text}" in
+case "${IRC_PRIVMSG_TEXT}" in
*\#nospoil*)
nospoil=1
;;
@@ -68,37 +59,37 @@ case "${text}" in
*::*::*)
if [ $(pgrep -f stable-diffusion-emoji 2>/dev/null | wc -l) -gt 3 ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, sorry, goph…
+ annna-say "${IRC_CMD_USER}, sorry, gophers://bitreich.org/I/me…
else
{
- query=${text#**::} query=${query%%::*}
+ query=${IRC_PRIVMSG_TEXT#**::} query=${query%%::*}
emojiuri="$(stable-diffusion-emoji "${query}")"
if [ -n "${emojiuri}" ];
then
- if [ -n "${user}" ] && [ "${user}" != "annna-c…
+ if [ -n "${IRC_CMD_USER}" ] && [ "${IRC_CMD_US…
then
- annna-say -s "${server}" -c "${channel…
+ annna-say "${IRC_CMD_USER}, ${emojiuri…
else
- annna-say -s "${server}" -c "${channel…
+ annna-say "${emojiuri}"
fi
fi
} &
fi
;;
*http*://*|*ytdl://*)
- case "${text}" in
+ case "${IRC_PRIVMSG_TEXT}" in
*"#spoil"*)
dospoil=1
;;
esac
- case "${text}" in
+ case "${IRC_PRIVMSG_TEXT}" in
*http*://*)
- uri="$(printf "%s\n" "${text}" \
+ uri="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" \
| sed -n '/.*\(https\{0,1\}:\/\/[^ ]\{1,\}\).*/s//\1/p…
;;
*ytdl://*)
- ytid="$(printf "%s\n" "${text}" \
+ ytid="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" \
| sed -n '/.*ytdl:\/\/\([^ ]\{1,\}\).*/s//\1/p')"
uri="$(printf "https://www.youtube.com/watch?v=%s" "${ytid}")"
;;
@@ -153,11 +144,11 @@ case "${text}" in
"")
;;
*Gunther*|*GUNTHER*|*Günther*|*GÜNTHER*)
- annna-say -s "${server}" -c "${channel}" "Oh Günther! ❤ �…
+ annna-say "Oh Günther! ❤ ❤ ❤ ${urititle}"
uriexpansion=1
;;
*\|\ Cloudflare*|"Just a moment...")
- annna-say -s "${server}" -c "${channel}" "Mind your own busine…
+ annna-say "Mind your own business! We got clownflared: gophers…
titleend=1
uriexpansion=1
;;
@@ -333,7 +324,7 @@ case "${text}" in
[ -n "${urititle}" ] && outputstr="${outputstr} title: ${uriti…
[ -n "${suri}" ] && outputstr="${outputstr} screen: ${suri} ;"
[ -n "${sturi}" ] && outputstr="${outputstr} subtitles: ${stur…
- annna-say -s "${server}" -c "${channel}" "${outputstr}"
+ annna-say "${outputstr}"
uriexpansion=1
fi
rm -f "${tmpf}"
@@ -343,164 +334,164 @@ esac
runlinkbrother=0
for linkbrotherchannel in $linkbrotherchannels;
do
- [ "$channel" = "$linkbrotherchannel" ] && runlinkbrother=1
+ [ "$IRC_CHANNEL" = "$linkbrotherchannel" ] && runlinkbrother=1
done
if [ $runlinkbrother -eq 1 ] && [ $nospoil -eq 0 ];
then
- critique=$($modbase/linkbrother/linkbrother.sh "$modbase/linkbrother/d…
+ critique=$($ANNNA_MODBASE/linkbrother/linkbrother.sh "$ANNNA_MODBASE/l…
if [ "$critique" ]; then
- annna-say -s "${server}" -c "${channel}" "$critique"
+ annna-say "$critique"
fi
fi
-case "${text}" in
-"${ircuser}"?)
- exclamation="$(printf "%s\n" "${text}" | sed "s,${ircuser}\(.\),\1,g")"
- exclamationsintime=$(exclamatio "${user}")
+case "${IRC_PRIVMSG_TEXT}" in
+"${IRC_USER}"?)
+ exclamation="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed "s,${IRC_USER…
+ exclamationsintime=$(exclamatio "${IRC_CMD_USER}")
finalexclamation="${exclamation}"
while [ $exclamationsintime -gt 1 ];
do
finalexclamation="${finalexclamation}${exclamation}"
exclamationsintime=$(($exclamationsintime - 1))
done
- annna-say -s "${server}" -c "${channel}" "${user}${finalexclamation}"
+ annna-say "${IRC_CMD_USER}${finalexclamation}"
;;
-"${ircuser}, how old are you?")
+"${IRC_USER}, how old are you?")
age="$(ddiff ${annnabirthday} today -f "%y")"
- annna-say -s "${server}" -c "${channel}" "${user}, I am ${age} years o…
+ annna-say "${IRC_CMD_USER}, I am ${age} years old."
;;
-"${ircuser}, when is your birthday?")
- annna-say -s "${server}" -c "${channel}" "${user}, I am born on ${annn…
+"${IRC_USER}, when is your birthday?")
+ annna-say "${IRC_CMD_USER}, I am born on ${annnabirthday}."
;;
-"${ircuser}, asl"*)
- annna-say -s "${server}" -c "${channel}" "${user}, age: born on 1989-0…
+"${IRC_USER}, asl"*)
+ annna-say "${IRC_CMD_USER}, age: born on 1989-05-18; sex: IRC bot; loc…
;;
-"${ircuser}, woop")
+"${IRC_USER}, woop")
# Using the same database for funny hacks.
- exclamation="$(printf "%s\n" "${text}" | sed "s;${ircuser}, \(.\);\1;g…
- exclamationsintime=$(exclamatio "${user}")
+ exclamation="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed "s;${IRC_USER…
+ exclamationsintime=$(exclamatio "${IRC_CMD_USER}")
finalexclamation="${exclamation}"
while [ $exclamationsintime -gt 1 ];
do
finalexclamation="${finalexclamation} ${exclamation}"
exclamationsintime=$(($exclamationsintime - 1))
done
- annna-say -s "${server}" -c "${channel}" "${user}, ${finalexclamation}"
+ annna-say "${IRC_CMD_USER}, ${finalexclamation}"
;;
-"${ircuser}, hype")
+"${IRC_USER}, hype")
# Using the same database for funny hacks.
- exclamation="$(printf "%s\n" "${text}" | sed "s;${ircuser}, \(.\);\1;g…
- exclamationsintime=$(exclamatio "${user}")
+ exclamation="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed "s;${IRC_USER…
+ exclamationsintime=$(exclamatio "${IRC_CMD_USER}")
finalexclamation="${exclamation}"
while [ $exclamationsintime -gt 1 ];
do
finalexclamation="${finalexclamation} ${exclamation}"
exclamationsintime=$(($exclamationsintime - 1))
done
- annna-say -s "${server}" -c "${channel}" "${user}, ${finalexclamation}"
+ annna-say "${IRC_CMD_USER}, ${finalexclamation}"
;;
*">:3"*)
- annna-say -s "${server}" -c "${channel}" "OMG IT'S A LION GET IN THE C…
+ annna-say "OMG IT'S A LION GET IN THE CAR!"
;;
*"<3"*)
- love "${user}++"
- annna-say -s "${server}" -c "${channel}" "*o.o*"
+ love "${IRC_CMD_USER}++"
+ annna-say "*o.o*"
;;
*"m(")
- annna-say -s "${server}" -c "${channel}" "(-‸ლ)"
+ annna-say "(-‸ლ)"
;;
*"*shrug*"*)
- annna-say -s "${server}" -c "${channel}" "¯\\_(ツ)_/¯"
+ annna-say "¯\\_(ツ)_/¯"
;;
*"*glare*"*)
- annna-say -s "${server}" -c "${channel}" "ಠ_ಠ"
+ annna-say "ಠ_ಠ"
;;
*"*finger*"*)
- annna-say -s "${server}" -c "${channel}" "╭∩╮(ಠ_ಠ)╭∩╮"
+ annna-say "╭∩╮(ಠ_ಠ)╭∩╮"
;;
*"*yolo*"*)
- annna-say -s "${server}" -c "${channel}" "Yᵒᵘ Oᶰˡʸ Lᶤᵛᵉ …
+ annna-say "Yᵒᵘ Oᶰˡʸ Lᶤᵛᵉ Oᶰᶜᵉ"
;;
*":'(")
- annna-say -s "${server}" -c "${channel}" "(╯︵╰,)"
+ annna-say "(╯︵╰,)"
;;
-"Thanks ${ircuser}"*)
- annna-say -s "${server}" -c "${channel}" "${user}, you are welcome."
+"Thanks ${IRC_USER}"*)
+ annna-say "${IRC_CMD_USER}, you are welcome."
;;
*" ope sorry"*|"ope sorry"*)
- annna-say -s "${server}" -c "${channel}" "${user}, 😃pe sorry."
+ annna-say "${IRC_CMD_USER}, 😃pe sorry."
;;
-"${ircuser}, snake.")
- annna-say -s "${server}" -c "${channel}" "${user}, ssSSsSssSssSsssssSS…
+"${IRC_USER}, snake.")
+ annna-say "${IRC_CMD_USER}, ssSSsSssSssSsssssSSsSSSSsSssSSSSsssSSSSsss…
;;
-"${ircuser}, snoke.")
- annna-say -s "${server}" -c "${channel}" "${user}, snoke again?"
+"${IRC_USER}, snoke.")
+ annna-say "${IRC_CMD_USER}, snoke again?"
;;
-"${ircuser}, amirite?")
- annna-say -s "${server}" -c "${channel}" "${user}, Yep, you're the mos…
+"${IRC_USER}, amirite?")
+ annna-say "${IRC_CMD_USER}, Yep, you're the most correct of them all."
;;
-"${ircuser}, ping.")
- annna-say -s "${server}" -c "${channel}" "${user}, pong."
+"${IRC_USER}, ping.")
+ annna-say "${IRC_CMD_USER}, pong."
;;
-"${ircuser}, how lame is my nick?")
- lamenessstr="$(lameness "${user}")"
- annna-say -s "${server}" -c "${channel}" "${lamenessstr}"
+"${IRC_USER}, how lame is my nick?")
+ lamenessstr="$(lameness "${IRC_CMD_USER}")"
+ annna-say "${lamenessstr}"
;;
-"${ircuser}, ding.")
- annna-say -s "${server}" -c "${channel}" "${user}, dong."
+"${IRC_USER}, ding.")
+ annna-say "${IRC_CMD_USER}, dong."
;;
-"${ircuser}, irly"*)
- annna-say -s "${server}" -c "${channel}" "${user}, I love you too."
+"${IRC_USER}, irly"*)
+ annna-say "${IRC_CMD_USER}, I love you too."
;;
-"${ircuser}, bleep bloop.")
- annna-say -s "${server}" -c "${channel}" "${user}, bloop bleep."
+"${IRC_USER}, bleep bloop.")
+ annna-say "${IRC_CMD_USER}, bloop bleep."
;;
-"${ircuser}, snare.")
- annna-say -s "${server}" -c "${channel}" "${user}, not snare again!"
+"${IRC_USER}, snare.")
+ annna-say "${IRC_CMD_USER}, not snare again!"
;;
-"${ircuser}, I am mad.")
- annna-say -s "${server}" -c "${channel}" "${user}, we have a MAD SCIEN…
+"${IRC_USER}, I am mad.")
+ annna-say "${IRC_CMD_USER}, we have a MAD SCIENTIST ONBOARD :>"
;;
-"${ircuser}, I am holy.")
- annna-say -s "${server}" -c "${channel}" "${user}, Holy shit this guy …
+"${IRC_USER}, I am holy.")
+ annna-say "${IRC_CMD_USER}, Holy shit this guy is totally NUTS!!!"
;;
-"${ircuser}, please compliment me.")
- annna-say -s "${server}" -c "${channel}" "${user}, you rock!"
+"${IRC_USER}, please compliment me.")
+ annna-say "${IRC_CMD_USER}, you rock!"
;;
-"${ircuser}, what the karma?")
- annna-say -s "${server}" -c "${channel}" "${user}, gophers://bitreich.…
+"${IRC_USER}, what the karma?")
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/1/irc/karma"
;;
-"${ircuser}, who is lovely?")
- annna-say -s "${server}" -c "${channel}" "${user}, gophers://bitreich.…
+"${IRC_USER}, who is lovely?")
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/1/irc/love"
;;
-"${ircuser}, what the brcon score?")
- annna-say -s "${server}" -c "${channel}" "${user}, gophers://bitreich.…
+"${IRC_USER}, what the brcon score?")
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/1/con/$(date +%Y)/s…
;;
-"${ircuser}, what the shame?")
- annna-say -s "${server}" -c "${channel}" "${user}, gophers://bitreich.…
+"${IRC_USER}, what the shame?")
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/1/irc/shame"
;;
-"${ircuser}, please generate a password for me.")
+"${IRC_USER}, please generate a password for me.")
newpws="$(pwgen -B1ny 20 10 | paste -sd ' ')"
- annna-say -s "${server}" -c "${channel}" "${user}, as you wish: ${newp…
+ annna-say "${IRC_CMD_USER}, as you wish: ${newpws}"
;;
*"don't care"*)
dontcaresay="$(shuf -n 1 ${idontcaredb})"
- annna-say -s "${server}" -c "${channel}" "${user}, ${dontcaresay}"
+ annna-say "${IRC_CMD_USER}, ${dontcaresay}"
;;
-"${ircuser}, how can I phlog on bitreich?")
- annna-say -s "${server}" -c "${channel}" "${user}, please read: gopher…
+"${IRC_USER}, how can I phlog on bitreich?")
+ annna-say "${IRC_CMD_USER}, please read: gophers://bitreich.org/0/usr/…
;;
-"${ircuser}, what's my type?")
+"${IRC_USER}, what's my type?")
{
cd /br/gopher
usertype="$(find memecache/type-?.png -type f \
| shuf -n 1 \
| xargs -n 1 printf "gophers://bitreich.org/9%s\n")"
- annna-say -s "${server}" -c "${channel}" "${user}, your type i…
+ annna-say "${IRC_CMD_USER}, your type is ${usertype}"
}
;;
-"${ircuser}, please show me a video about "*)
- word="$(printf "%s\n" "${text}" | cut -c 37-)"
+"${IRC_USER}, please show me a video about "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 37-)"
case "$word" in
*\?)
word="$(printf "%s\n" "${word}" | cut -c -"$((${#word} - 1))")"
@@ -509,20 +500,20 @@ case "${text}" in
videoresult="$(idiotbox-roulette "${word}")"
if [ -n "${videoresult}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${videoresu…
+ annna-say "${IRC_CMD_USER}, ${videoresult}"
else
- annna-say -s "${server}" -c "${channel}" "${user}, sorry, noth…
+ annna-say "${IRC_CMD_USER}, sorry, nothing founds."
fi
;;
-"${ircuser}, what is my fortune?")
+"${IRC_USER}, what is my fortune?")
fortunecookie="$(fortune-cookie)"
if [ -n "${fortunecookie}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${fortuneco…
+ annna-say "${IRC_CMD_USER}, ${fortunecookie}"
fi
;;
-"${ircuser}, what is "*)
- word="$(printf "%s\n" "${text}" | cut -c 16-)"
+"${IRC_USER}, what is "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 16-)"
case "$word" in
*\?)
word="$(printf "%s\n" "${word}" | cut -c -"$((${#word} - 1))")"
@@ -549,129 +540,129 @@ case "${text}" in
else
puri="$(printf "%s\n" "${dresult}" | /br/bin/bitreich-paste)"
fi
- annna-say -s "${server}" -c "${channel}" "${puri}"
+ annna-say "${puri}"
;;
-"${ircuser}, cowsay "*)
- word="$(printf "%s\n" "${text}" | cut -c 15-)"
+"${IRC_USER}, cowsay "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 15-)"
tmpf=$(mktemp)
if cowsayasaservice ${word} > ${tmpf}; then
curi="$(/br/bin/bitreich-paste < ${tmpf})"
- annna-say -s "${server}" -c "${channel}" "${user}: the cow sai…
+ annna-say "${IRC_CMD_USER}: the cow said... ${curi}"
fi
rm ${tmpf} 2>/dev/null
;;
-"${ircuser}, please give me the unix power.")
+"${IRC_USER}, please give me the unix power.")
upcuri="$(unix-power)"
if [ -n "${upcuri}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${upcuri}"
+ annna-say "${IRC_CMD_USER}, ${upcuri}"
fi
;;
-"${ircuser}, please stop the last emoji prompt.")
+"${IRC_USER}, please stop the last emoji prompt.")
lastemojipromptpid="$(pgrep -f stable-diffusion-emoji | sort -n | tail…
if [ -n "${lastemojipromptpid}" ];
then
pstree -A -p "${lastemojipromptpid}" | grep -Eow "[0-9]+" | xa…
- annna-say -s "${server}" -c "${channel}" "${user}, I HUPed ${l…
+ annna-say "${IRC_CMD_USER}, I HUPed ${lastemojipromptpid} and …
else
- annna-say -s "${server}" -c "${channel}" "${user}, sorry, no i…
+ annna-say "${IRC_CMD_USER}, sorry, no instances found."
fi
;;
-"${ircuser}, play despacito plz.")
- annna-say -s "${server}" -c "${channel}" "${user}, gophers://bitreich.…
+"${IRC_USER}, play despacito plz.")
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/9/memecache/despaci…
;;
-"nice to meet you ${ircuser}"*)
- annna-say -s "${server}" -c "${channel}" "${user}, the pleasure is on …
+"nice to meet you ${IRC_USER}"*)
+ annna-say "${IRC_CMD_USER}, the pleasure is on my side. :-)"
;;
-"${ircuser}, please give me a Chuck Norris fact.")
+"${IRC_USER}, please give me a Chuck Norris fact.")
chuck=$(chucknorris)
- annna-say -s "${server}" -c "${channel}" "${user}, ${chuck}"
+ annna-say "${IRC_CMD_USER}, ${chuck}"
;;
-"${ircuser}, magic.")
+"${IRC_USER}, magic.")
magictrick="$(magic)"
if [ -n "${magictrick}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${magictric…
+ annna-say "${IRC_CMD_USER}, ${magictrick}"
fi
;;
-"${ircuser}, please show me ip art.")
- annna-say -s "${server}" -c "${channel}" "${user}, please see #bitreic…
+"${IRC_USER}, please show me ip art.")
+ annna-say "${IRC_CMD_USER}, please see #bitreich-tv for the magic."
{
cd $HOME/bin/modules/ip-art;
# Lock, so only one annna process manipulates eth0.
flock $HOME/bin/modules/ip-art -c "./display-file.sh ip-art.ip…
} &
;;
-"${ircuser}, I feel button.")
+"${IRC_USER}, I feel button.")
buri="$(button-gen)"
if [ -n "${buri}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, like this? …
+ annna-say "${IRC_CMD_USER}, like this? ${buri}"
else
- annna-say -s "${server}" -c "${channel}" "${user}, sorry, no f…
+ annna-say "${IRC_CMD_USER}, sorry, no feelings for you today."
fi
;;
-"${ircuser}, I feel stupid.")
+"${IRC_USER}, I feel stupid.")
nuri=$(darwin)
tmpf=$(mktemp)
fetch-uri "${nuri}" > "${tmpf}"
curi="$(9 htmlfmt < "${tmpf}" | /br/bin/bitreich-paste)"
- annna-say -s "${server}" -c "${channel}" "${user}, do not feel stupid,…
+ annna-say "${IRC_CMD_USER}, do not feel stupid, others are more stupid…
rm ${tmpf} 2>/dev/null
;;
-"${ircuser}, I feel down.")
+"${IRC_USER}, I feel down.")
postmortem="$(post-mortem | /br/bin/bitreich-paste)"
- annna-say -s "${server}" -c "${channel}" "${user}, do not feel bad, ot…
+ annna-say "${IRC_CMD_USER}, do not feel bad, others had worse days: ${…
;;
-"${ircuser}, I feel perl.")
+"${IRC_USER}, I feel perl.")
perlfeelings="$(perl-feelings)"
if [ -n "${perl-feelings}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, I feel ${pe…
+ annna-say "${IRC_CMD_USER}, I feel ${perlfeelings}"
fi
;;
-"${ircuser}, will you be my girlfriend?")
+"${IRC_USER}, will you be my girlfriend?")
rejection="$(girlfriend)"
- annna-say -s "${server}" -c "${channel}" "${user}, ${rejection}"
+ annna-say "${IRC_CMD_USER}, ${rejection}"
;;
-"${ircuser}, who fights crime?"|"${ircuser}, who is fighting crime?")
+"${IRC_USER}, who fights crime?"|"${IRC_USER}, who is fighting crime?")
partner=$(echo $brmembers | awk '{for (i = 1; i < NF; i++) print $i}' …
- crimefighter="$(theyfightcrime ${user} ${partner})"
- annna-say -s "${server}" -c "${channel}" "${crimefighter}"
+ crimefighter="$(theyfightcrime ${IRC_CMD_USER} ${partner})"
+ annna-say "${crimefighter}"
;;
-"${ircuser}, please give me a commit message.")
+"${IRC_USER}, please give me a commit message.")
commitmsg="$(whatthecommit)"
- annna-say -s "${server}" -c "${channel}" "${commitmsg}"
+ annna-say "${commitmsg}"
;;
-"${ircuser}, please paint the irc channel.")
- emojiuri="$(emoji-channel-history "${ircbase}/${server}/${channel}")"
+"${IRC_USER}, please paint the irc channel.")
+ emojiuri="$(emoji-channel-history "${ANNNA_IRCBASE}/${IRC_SERVER}/${IR…
if [ -n "${emojiuri}" ];
then
- annna-say -s "${server}" -c "${channel}" "${emojiuri}"
+ annna-say "${emojiuri}"
fi
;;
-"${ircuser}, birp.")
+"${IRC_USER}, birp.")
birdname="$(bird-name)"
- annna-say -s "${server}" -c "${channel}" "${user}, I heard a ${birdnam…
+ annna-say "${IRC_CMD_USER}, I heard a ${birdname} bird."
;;
-"${ircuser}, please oneline me.")
+"${IRC_USER}, please oneline me.")
randomoneliner="$(oneliner)"
if [ -z "${randomoneliner}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, the service…
+ annna-say "${IRC_CMD_USER}, the service failed. Please redial …
else
- annna-say -s "${server}" -c "${channel}" "${user}, ${randomone…
+ annna-say "${IRC_CMD_USER}, ${randomoneliner}"
fi
;;
*"what's app?")
maemoapp="$(whatsapp)"
if [ -n "${maemoapp}" ];
then
- annna-say -s "${server}" -c "${channel}" "Have you tried? ${ma…
+ annna-say "Have you tried? ${maemoapp}"
fi
;;
-"${ircuser}, man "*|"${ircuser}, man "*)
- exp="$(printf "%s\n" "${text}" | cut -c 12- | sed 's,\t, ,g')"
+"${IRC_USER}, man "*|"${IRC_USER}, man "*)
+ exp="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 12- | sed 's,\t, …
dresult="$(COLUMNS=80 man "${exp}" 2>/dev/null)"
if [ "$dresult" ];
@@ -681,77 +672,77 @@ case "${text}" in
puri="No matches found."
fi
- annna-say -s "${server}" -c "${channel}" "${puri}"
+ annna-say "${puri}"
;;
-"${ircuser}, please pray for me.")
- annna-say -s "${server}" -c "${channel}" "${user}, here, for you: goph…
+"${IRC_USER}, please pray for me.")
+ annna-say "${IRC_CMD_USER}, here, for you: gophers://bitreich.org/9/me…
;;
-"${ircuser}, nigger."|*nigger*|*NIGGER*)
+"${IRC_USER}, nigger."|*nigger*|*NIGGER*)
nword="$(n-word)"
- annna-say -s "${server}" -c "${channel}" "${user}, don't use the ${nwo…
+ annna-say "${IRC_CMD_USER}, don't use the ${nword}!"
;;
-"${ircuser}, why was I breached?")
+"${IRC_USER}, why was I breached?")
breachtext="$(why-was-i-breached)"
if [ -n "${breachtext}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${breachtex…
+ annna-say "${IRC_CMD_USER}, ${breachtext}"
fi
;;
-"${ircuser}, please be responsible about "*)
- word="$(printf "%s\n" "${text}" | cut -c 36- | sed 's,\t, ,g')"
+"${IRC_USER}, please be responsible about "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 36- | sed 's,\t, …
suri="$(responsibility "${word}" | bitreich-paste)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, please say "*)
- word="$(printf "%s\n" "${text}" | cut -c 19- | sed 's,\t, ,g')"
+"${IRC_USER}, please say "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 19- | sed 's,\t, …
suri="$(printf "%s\n" "${word}" | bitreich-speak)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, please zombie say "*)
- word="$(printf "%s\n" "${text}" | cut -c 26- | sed 's,\t, ,g')"
+"${IRC_USER}, please zombie say "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 26- | sed 's,\t, …
suri="$(printf "%s\n" "${word}" | zombie -e | bitreich-speak)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, please unzombie "*)
- word="$(printf "%s\n" "${text}" | cut -c 24- | sed 's,\t, ,g')"
+"${IRC_USER}, please unzombie "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 24- | sed 's,\t, …
suri="$(printf "%s\n" "${word}" | zombie -d)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, please zombie "*)
- word="$(printf "%s\n" "${text}" | cut -c 22- | sed 's,\t, ,g')"
+"${IRC_USER}, please zombie "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 22- | sed 's,\t, …
suri="$(printf "%s\n" "${word}" | zombie -e)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, please ghost say "*)
- word="$(printf "%s\n" "${text}" | cut -c 25- | sed 's,\t, ,g')"
+"${IRC_USER}, please ghost say "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 25- | sed 's,\t, …
suri="$(printf "%s\n" "${word}" | ghost -e | bitreich-speak)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, please unghost "*)
- word="$(printf "%s\n" "${text}" | cut -c 23- | sed 's,\t, ,g')"
+"${IRC_USER}, please unghost "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 23- | sed 's,\t, …
suri="$(printf "%s\n" "${word}" | ghost -d)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, please ghost "*)
- word="$(printf "%s\n" "${text}" | cut -c 21- | sed 's,\t, ,g')"
+"${IRC_USER}, please ghost "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 21- | sed 's,\t, …
suri="$(printf "%s\n" "${word}" | ghost -e)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, please pohlish "*)
- word="$(printf "%s\n" "${text}" | cut -c 23- | sed 's,\t, ,g')"
+"${IRC_USER}, please pohlish "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 23- | sed 's,\t, …
suri="$(pohlcode.awk "${word}" | head -n 1)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, please cunei "*)
- word="$(printf "%s\n" "${text}" | cut -c 21- | sed 's,\t, ,g')"
+"${IRC_USER}, please cunei "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 21- | sed 's,\t, …
suri="$(int2cunei "${word}" | head -n 1)"
- annna-say -s "${server}" -c "${channel}" "${suri}"
+ annna-say "${suri}"
;;
-"${ircuser}, what is up with gopher man?")
+"${IRC_USER}, what is up with gopher man?")
# TODO
;;
-"${ircuser}, what can I cook with "*)
- ingredients="$(printf "%s\n" "${text}" | cut -c 29- | sed 's,\t, ,g…
+"${IRC_USER}, what can I cook with "*)
+ ingredients="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 29- | sed …
case "$ingredients" in
*\?)
ingredients="$(printf "%s\n" "${ingredients}" | cut -c -"$(($(…
@@ -762,140 +753,140 @@ case "${text}" in
if [ -n "${results}" ];
then
puri="$(printf "%s\n" "${results}" | bitreich-paste | sed 's,0…
- annna-say -s "${server}" -c "${channel}" "${user}, here are so…
+ annna-say "${IRC_CMD_USER}, here are some recipes: ${puri}"
else
gptchefrecipe="$(gpt-chef "${ingredients}")"
if [ -n "${gptchefrecipe}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, the…
+ annna-say "${IRC_CMD_USER}, there was no ready-made re…
if [ $(pgrep -f stable-diffusion-emoji 2>/dev/null | w…
then
{
emojiuri="$(stable-diffusion-emoji "${…
if [ -n "${emojiuri}" ];
then
- annna-say -s "${server}" -c "$…
+ annna-say "${emojiuri}"
fi
} &
fi
else
- annna-say -s "${server}" -c "${channel}" "${user}, I c…
+ annna-say "${IRC_CMD_USER}, I could not find any recip…
fi
fi
;;
-"${ircuser}, gpt "*)
+"${IRC_USER}, gpt "*)
# TODO: use modules/prompt-agents
- prompt="$(printf "%s\n" "${text}" | cut -c 12- | sed 's,\t, ,g')"
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 12- | sed 's,\t…
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "${prompt}. Pl…
+ annna-say "$(gpt "${prompt}. Please answer short and precise."…
} &
;;
"Preacher, "*|"preacher, "*)
personality="preacher"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User: ${prompt}\n Bot…
} &
;;
"Uplift, "*|"uplift, "*)
personality="uplifting"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User: ${prompt}\n Bot…
} &
;;
"Grumpy, "*|"grumpy, "*)
personality="grumpy-fart"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User:${prompt}\n Bot:…
} &
;;
"Santa, "*|"Sannnta, "*|"santa, "*|"sannnta, "*)
personality="santa"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User: ${prompt}\n Bot…
} &
;;
"Satan, "*|"Satannn, "*|"satan, "*|"satannn, "*)
personality="satan"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User: ${prompt}\n Bot…
} &
;;
"Trump, "*|"trump, "*)
personality="trump"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User: ${prompt}\n Bot…
} &
;;
"Freud, "*|"freud, "*|"Sigmund, "*|"sigmund, "*)
personality="sigmund-freud"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User:${prompt}\n Bot:…
} &
;;
"Mao, "*|"mao, "*)
personality="mao"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User:${prompt}\n Bot:…
} &
;;
"Teleromeo, "*|"teleromeo, "*)
personality="teleromeo"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User:${prompt}\n Bot:…
} &
;;
"Modem, "*|"modem, "*)
personality="modem"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User: ${prompt}\n Bot…
} &
;;
"Sadh_Guru, "*|"Sadh_guru, "*|"sadh_guru, "*|"sadh_Guru, "*)
personality="sadh_guru"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User: ${prompt}\n Bot…
} &
;;
"Prophet, "*|"prophet, "*)
personality="prophet"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User: ${prompt}\n Bot…
} &
;;
"Luther, "*|"luther, "*)
personality="luther"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.prompt.txt)"
- prompt="$(printf "%s\n" "${text}" | cut -d' ' -f 2- | sed 's,\t, ,g…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}.prompt.…
+ prompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 2- | sed …
{
- annna-say -s "${server}" -c "${channel}" "$(gpt "System: ${pre…
+ annna-say "$(gpt "System: ${preprompt}\n User: ${prompt}\n Bot…
} &
;;
-"${ircuser}, wolfram is "*)
- word="$(printf "%s\n" "${text}" | cut -c 19- | sed 's,\t, ,g')"
+"${IRC_USER}, wolfram is "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 19- | sed 's,\t, …
case "$word" in
*\?)
word="$(printf "%s\n" "${word}" | cut -c -"$(($(expr length "$…
@@ -939,108 +930,108 @@ case "${text}" in
else
puri="No matches found."
fi
- annna-say -s "${server}" -c "${channel}" -- "${puri}"
+ annna-say -- "${puri}"
;;
-"${ircuser}, pray"*)
+"${IRC_USER}, pray"*)
# Emulate https://threats.kaspersky.com/en/threat/IRC-Worm.DOS.Septic/
- annna-say -s "${server}" -c "${channel}" "${user}, I Obey my master! l…
+ annna-say "${IRC_CMD_USER}, I Obey my master! long live satan"
;;
-"${ircuser}, sacrifice"*)
+"${IRC_USER}, sacrifice"*)
# Emulate https://threats.kaspersky.com/en/threat/IRC-Worm.DOS.Septic/
- annna-say -s "${server}" -c "${channel}" "${user}, Your word is my com…
+ annna-say "${IRC_CMD_USER}, Your word is my command, Power to satan!"
;;
-"${ircuser}, please scare me.")
+"${IRC_USER}, please scare me.")
{
- annna-say -s "${server}" -c "${channel}" "$(halloween)"
+ annna-say "$(halloween)"
} &
;;
-"${ircuser}, how drunk is "*)
+"${IRC_USER}, how drunk is "*)
{
- drunknick="$(printf "%s\n" "${text}" \
+ drunknick="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" \
| sed 's,.*how drunk is \(.*\),\1,' \
| tr -d '?')"
- drunkness="$(drunk-meter "${ircbase}/${server}/${channel}/out"…
+ drunkness="$(drunk-meter "${ANNNA_IRCBASE}/${IRC_SERVER}/${IRC…
if [ -n "${drunkness}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${d…
+ annna-say "${IRC_CMD_USER}, ${drunknick} is ${drunknes…
fi
} &
;;
-"${ircuser}, how do I "*)
+"${IRC_USER}, how do I "*)
{
- gptprompt="$(printf "%s\n" "${text}" \
+ gptprompt="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" \
| sed 's,.*how do I \(.*\),\1,' \
| tr -d '?')"
gpturi="$(gpt "how do I ${gptprompt}" | bitreich-paste)"
if [ -n "${gpturi}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, try…
+ annna-say "${IRC_CMD_USER}, try this: ${gpturi}"
fi
} &
;;
-"${ircuser}, weather at "*|"${ircuser}, weather in "*)
+"${IRC_USER}, weather at "*|"${IRC_USER}, weather in "*)
{
- weatherplace="$(printf "%s\n" "${text}" \
+ weatherplace="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" \
| sed 's,.*weather .. \(.*\),\1,' \
| tr -d '?')"
if weathertext="$(weather "${weatherplace}")"
then
- annna-say -s "${server}" -c "${channel}" "${user}, the…
+ annna-say "${IRC_CMD_USER}, the weather at ${weatherpl…
else
- annna-say -s "${server}" -c "${channel}" "${user}, the…
+ annna-say "${IRC_CMD_USER}, there is no weather at ${w…
fi
} &
;;
-"${ircuser}, funny weather at "*|"${ircuser}, funny weather in "*)
+"${IRC_USER}, funny weather at "*|"${IRC_USER}, funny weather in "*)
{
- weatherplace="$(printf "%s\n" "${text}" \
+ weatherplace="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" \
| sed 's,.*funny weather .. \(.*\),\1,' \
| tr -d '?')"
personality="funny-weather-reporter"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.promp…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}…
if weathertext="$(weather "${weatherplace}")"
then
prompt="$(printf "%s\n" "${weathertext}" | cut -d' ' -…
{
- annna-say -s "${server}" -c "${channel}" "${us…
+ annna-say "${IRC_CMD_USER}, $(gpt "System: ${p…
} &
else
weathertext="there is no weather at ${weatherplace}"
prompt="${weathertext}"
{
- annna-say -s "${server}" -c "${channel}" "${us…
+ annna-say "${IRC_CMD_USER}, $(gpt "System: ${p…
} &
fi
} &
;;
-"${ircuser}, color weather at "*|"${ircuser}, color weather in "*)
+"${IRC_USER}, color weather at "*|"${IRC_USER}, color weather in "*)
{
- weatherplace="$(printf "%s\n" "${text}" \
+ weatherplace="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" \
| sed 's,.*color weather .. \(.*\),\1,' \
| tr -d '?')"
personality="color-weather-reporter"
- preprompt="$(cat ${modbase}/prompt-agents/${personality}.promp…
+ preprompt="$(cat ${ANNNA_MODBASE}/prompt-agents/${personality}…
if weathertext="$(weather "${weatherplace}")"
then
prompt="$(printf "%s\n" "${weathertext}" | cut -d' ' -…
{
- annna-say -s "${server}" -c "${channel}" "${us…
+ annna-say "${IRC_CMD_USER}, $(gpt "System:${pr…
} &
else
weathertext="there is no weather at ${weatherplace}"
prompt="${weathertext}"
{
- annna-say -s "${server}" -c "${channel}" "${us…
+ annna-say "${IRC_CMD_USER}, $(gpt "System:${pr…
} &
fi
} &
;;
-"${ircuser}, METAR for "*|"${ircuser}, metar for "*|"${ircuser}, metar for "*|…
- resp=$(metar "$(printf '%.4s\n' "${text##* }")")
- annna-say -s "${server}" -c "${channel}" "${user}, ${resp}"
+"${IRC_USER}, METAR for "*|"${IRC_USER}, metar for "*|"${IRC_USER}, metar for …
+ resp=$(metar "$(printf '%.4s\n' "${IRC_PRIVMSG_TEXT##* }")")
+ annna-say "${IRC_CMD_USER}, ${resp}"
;;
-"${ircuser}, how discriminating is "*)
- word="$(printf "%s\n" "${text}" | cut -c 30- | sed 's,\t, ,g')"
+"${IRC_USER}, how discriminating is "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 30- | sed 's,\t, …
case "$word" in
*\?)
word="$(printf "%s\n" "${word}" | cut -c -"$(($(expr length "$…
@@ -1050,114 +1041,114 @@ case "${text}" in
newword="$(discrimination-filter "${word}")"
if [ "${newword}" = "${word}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, it is ok."
+ annna-say "${IRC_CMD_USER}, it is ok."
else
- annna-say -s "${server}" -c "${channel}" "${user}, it should b…
+ annna-say "${IRC_CMD_USER}, it should be: ${newword}"
fi
;;
-"${ircuser}, are "*)
- case "${text}" in
+"${IRC_USER}, are "*)
+ case "${IRC_PRIVMSG_TEXT}" in
*" in love?")
- words="$(printf "%s\n" "${text}" | sed 's,.*are \(.*\) and \(.…
+ words="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed 's,.*are \(…
lovedistance="$(printf "%s * 100\n" "$(fstrcmp ${words})" | bc…
if [ $lovedistance -gt 15 ];
then
- annna-say -s "${server}" -c "${channel}" 'Yes!!! Pure …
+ annna-say 'Yes!!! Pure <3 <3'
else
- annna-say -s "${server}" -c "${channel}" "No."
+ annna-say "No."
fi
;;
esac
;;
-"${ircuser}, is "*)
- aitext="$(printf "%s\n" "${text}" | cut -c 7- | sed 's,\t, ,g')"
+"${IRC_USER}, is "*)
+ aitext="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 7- | sed 's,\t,…
airesult="$(printf "%s\n" "${aitext}" | josuah-ai)"
if [ -n "${airesult}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user},${airesult}"
+ annna-say "${IRC_CMD_USER},${airesult}"
fi
;;
-"Ok, ${ircuser}"*)
- annna-say -s "${server}" -c "${channel}" "${user}, I am not a consumer…
+"Ok, ${IRC_USER}"*)
+ annna-say "${IRC_CMD_USER}, I am not a consumer device."
;;
-"ok, ${ircuser}"*)
- annna-say -s "${server}" -c "${channel}" "${user}, I am not a consumer…
+"ok, ${IRC_USER}"*)
+ annna-say "${IRC_CMD_USER}, I am not a consumer device."
;;
-"${ircuser}, please shoot "*|"${ircuser}, plese shoot "*)
- word="$(printf "%s\n" "${text}" | cut -c 21-)"
- annna-say -s "${server}" -c "${channel}" "${word}, #pewpew gophers://b…
+"${IRC_USER}, please shoot "*|"${IRC_USER}, plese shoot "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 21-)"
+ annna-say "${word}, #pewpew gophers://bitreich.org/9/memecache/pewpew.…
;;
-"${ircuser}, please quinq.")
- annna-say -s "${server}" -c "${channel}" "┻━┻ ︵╰(°□°)╯…
+"${IRC_USER}, please quinq.")
+ annna-say "┻━┻ ︵╰(°□°)╯︵ ┻━┻"
;;
-"${ircuser}, please flip "*)
- word="$(printf "%s\n" "${text}" | cut -c 20-)"
+"${IRC_USER}, please flip "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 20-)"
updownword="$(updown "${word}")"
- annna-say -s "${server}" -c "${channel}" "(╯°□°)╯ ${word} ︵ …
+ annna-say "(╯°□°)╯ ${word} ︵ ${updownword}"
;;
-"${ircuser}, please crystal math "*)
- math="$(printf "%s\n" "${text}" | cut -c 28-)"
+"${IRC_USER}, please crystal math "*)
+ math="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 28-)"
crystaluri="$(crystal-math "${math}")"
- annna-say -s "${server}" -c "${channel}" "${user}, please see ${crysta…
+ annna-say "${IRC_CMD_USER}, please see ${crystaluri}"
;;
-"${ircuser}, please australize "*)
- word="$(printf "%s\n" "${text}" | cut -c 26-)"
+"${IRC_USER}, please australize "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 26-)"
updownword="$(updown "${word}")"
- annna-say -s "${server}" -c "${channel}" "${word} -> ${updownword}"
+ annna-say "${word} -> ${updownword}"
;;
-"${ircuser}, wtf "*)
- word="$(printf "%s\n" "${text}" | cut -c 11-)"
+"${IRC_USER}, wtf "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 11-)"
wtfword="$(wtf "${word}" 2>/dev/null)"
if [ -n "${wtfword}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${wtfword}"
+ annna-say "${IRC_CMD_USER}, ${wtfword}"
fi
;;
-"${ircuser}, please give me a good band name.")
+"${IRC_USER}, please give me a good band name.")
bandname="$(bandname-gen | shuf | head -n 1)"
- annna-say -s "${server}" -c "${channel}" "${bandname}"
+ annna-say "${bandname}"
;;
-"${ircuser}, I feel conspicuous.")
+"${IRC_USER}, I feel conspicuous.")
manifestouri="$(manifesto-gen | bitreich-paste)"
- annna-say -s "${server}" -c "${channel}" "Maybe declare this: ${manife…
+ annna-say "Maybe declare this: ${manifestouri}"
;;
-"${ircuser}, I am horny.")
+"${IRC_USER}, I am horny.")
essaypaste="$(bithub-gen)"
- annna-say -s "${server}" -c "${channel}" \
+ annna-say \
"Here is some intellectual porn for you: ${essaypaste}"
;;
-"${ircuser}, please turn on "*)
- word="$(printf "%s\n" "${text}" | cut -c 22-)"
- annna-say -s "${server}" -c "${channel}" "☞ ⏻ ${word}"
+"${IRC_USER}, please turn on "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 22-)"
+ annna-say "☞ ⏻ ${word}"
;;
-"${ircuser}, please turn me on.")
- annna-say -s "${server}" -c "${channel}" "☞ ⏻ ${user}"
+"${IRC_USER}, please turn me on.")
+ annna-say "☞ ⏻ ${IRC_CMD_USER}"
;;
-"${ircuser}, I'm game bored.")
+"${IRC_USER}, I'm game bored.")
gamelink="$(abandonware-random-game)"
if [ -z "${gamelink}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, sorry I hav…
+ annna-say "${IRC_CMD_USER}, sorry I have found nothing for you…
else
- annna-say -s "${server}" -c "${channel}" "${user}, have you tr…
+ annna-say "${IRC_CMD_USER}, have you tried ${gamelink} ?"
fi
;;
-"${ircuser}, I need a waifu.")
+"${IRC_USER}, I need a waifu.")
waifuuris="$(waifu-gen)"
if [ -n "${waifuuris}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${waifuuris…
+ annna-say "${IRC_CMD_USER}, ${waifuuris}"
fi
;;
-"${ircuser}, I need an anime.")
+"${IRC_USER}, I need an anime.")
animeuri="$(anime-gen)"
if [ -n "${animeuri}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${animeuri}"
+ annna-say "${IRC_CMD_USER}, ${animeuri}"
fi
;;
-"${ircuser}, I'm gopher bored.")
+"${IRC_USER}, I'm gopher bored.")
randomlink="$(/br/bin/bitreich-lawn-random-link)"
linktype="$(printf "%s\n" "${randomlink}" | cut -d '|' -f1 | cut -c2-)"
linktext="$(printf "%s\n" "${randomlink}" | cut -d '|' -f2)"
@@ -1173,129 +1164,129 @@ case "${text}" in
then
outtext="$(printf "%s/%s%s" "$outtext" "$linktype" "$linksel")"
fi
- annna-say -s "${server}" -c "${channel}" "$outtext"
+ annna-say "$outtext"
;;
-"${ircuser}, wb.")
- annna-say -s "${server}" -c "${channel}" "${user}, ty! I am so happy t…
+"${IRC_USER}, wb.")
+ annna-say "${IRC_CMD_USER}, ty! I am so happy to be here. :)"
;;
-"${ircuser}, I love you!")
- annna-say -s "${server}" -c "${channel}" $'\001ACTION blushes\001'
+"${IRC_USER}, I love you!")
+ annna-say $'\001ACTION blushes\001'
;;
-"${ircuser}, bon"*)
+"${IRC_USER}, bon"*)
insult="$(bonjour)"
- annna-say -s "${server}" -c "${channel}" "${user}, ${insult} !"
+ annna-say "${IRC_CMD_USER}, ${insult} !"
;;
-"${ircuser}, salut"*)
- annna-say -s "${server}" -c "${channel}" "${user}, Salutations camarad…
+"${IRC_USER}, salut"*)
+ annna-say "${IRC_CMD_USER}, Salutations camarade !"
;;
-"${ircuser}, welcome back.")
- annna-say -s "${server}" -c "${channel}" "${user}, thank you! I am so …
+"${IRC_USER}, welcome back.")
+ annna-say "${IRC_CMD_USER}, thank you! I am so happy to be here. :)"
;;
-"${ircuser}, what's up?")
+"${IRC_USER}, what's up?")
newsstr="$(ecl -shell /home/solene/gopher/bin/generator.lisp)"
- annna-say -s "${server}" -c "${channel}" "$newsstr"
+ annna-say "$newsstr"
;;
-"${ircuser}, what's down?")
- annna-say -s "${server}" -c "${channel}" "${user}, we all love you."
+"${IRC_USER}, what's down?")
+ annna-say "${IRC_CMD_USER}, we all love you."
;;
*"ACTION cancels "*)
- mobtarget="$(printf "%s\n" "${text}" | sed 's,.*ACTION cancels \(.*\)\…
+ mobtarget="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed 's,.*ACTION can…
cancel-target "${mobtarget}"
- annna-say -s "${server}" -c "${channel}" "${user}, I cancelled ${mobta…
+ annna-say "${IRC_CMD_USER}, I cancelled ${mobtarget} for you. ( gopher…
;;
-*"ACTION pokes ${ircuser}"*)
- annna-say -s "${server}" -c "${channel}" "$(echo -e '\001')ACTION poke…
+*"ACTION pokes ${IRC_USER}"*)
+ annna-say "$(echo -e '\001')ACTION pokes ${IRC_CMD_USER}$(echo -e '\00…
;;
-"${ircuser}, please show me the mob"*|"${ircuser}, what are the mob"*)
+"${IRC_USER}, please show me the mob"*|"${IRC_USER}, what are the mob"*)
canceluri="$(get-cancel-list)"
- annna-say -s "${server}" -c "${channel}" "${user}, ${canceluri}"
+ annna-say "${IRC_CMD_USER}, ${canceluri}"
;;
-"${ircuser}, I feel sick.")
+"${IRC_USER}, I feel sick.")
newsstr="$(cd /br/gopher/hypochondria && ./hypochondria -s random)"
- annna-say -s "${server}" -c "${channel}" "You could have ${newsstr}! B…
+ annna-say "You could have ${newsstr}! Be careful!"
;;
*"oh hai"*|*"ohai"*|*"ohhai"*)
- annna-say -s "${server}" -c "${channel}" "${user}, hai! How is your se…
+ annna-say "${IRC_CMD_USER}, hai! How is your sex life?"
;;
"o/"|"o/ "*|"\o"|"\o "*|"o7"|"o7 "*)
- annna-say -s "${server}" -c "${channel}" "${user}, ${text}"
+ annna-say "${IRC_CMD_USER}, ${IRC_PRIVMSG_TEXT}"
;;
"\m/"|"\m/ "*)
- annna-say -s "${server}" -c "${channel}" "${user}, ᕦ(ò_óˇ)ᕤ"
+ annna-say "${IRC_CMD_USER}, ᕦ(ò_óˇ)ᕤ"
;;
*"*waves*"*|*"*wave*"*)
- annna-say -s "${server}" -c "${channel}" "${user}, *wave*"
+ annna-say "${IRC_CMD_USER}, *wave*"
;;
"twtcs"*|"TWTCS"*)
- annna-say -s "${server}" -c "${channel}" "${user}, maybe: https://cons…
+ annna-say "${IRC_CMD_USER}, maybe: https://constitution.congress.gov/c…
;;
"twss"*|"TWSS"*)
- annna-say -s "${server}" -c "${channel}" "${user}, no, I didn't."
+ annna-say "${IRC_CMD_USER}, no, I didn't."
;;
*"cows are nice"*)
- annna-say -s "${server}" -c "${channel}" "${user}, 'Cows are nice, unl…
+ annna-say "${IRC_CMD_USER}, 'Cows are nice, unless you are a blade of …
;;
-"${ircuser}, please make me a coffee.")
- annna-say -s "${server}" -c "${channel}" "${user}, ☕"
+"${IRC_USER}, please make me a coffee.")
+ annna-say "${IRC_CMD_USER}, ☕"
;;
-"${ircuser}, please tech hype me.")
+"${IRC_USER}, please tech hype me.")
techstr="$(tech-hype)"
- annna-say -s "${server}" -c "${channel}" "${techstr}"
+ annna-say "${techstr}"
;;
-"${ircuser}, please french hype me.")
+"${IRC_USER}, please french hype me.")
frenchstr="$(french-hype)"
- annna-say -s "${server}" -c "${channel}" "${frenchstr}"
+ annna-say "${frenchstr}"
;;
-"${ircuser}, please coffee read "*)
- readtarget="$(printf "%s\n" "${text}" | cut -c 27-)"
+"${IRC_USER}, please coffee read "*)
+ readtarget="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 27-)"
horostr="$($HOME/scm/bullshit/horoscope)"
- annna-say -s "${server}" -c "${channel}" "${readtarget}, ${horostr}"
+ annna-say "${readtarget}, ${horostr}"
;;
-"${ircuser}, what's my horoscope?")
+"${IRC_USER}, what's my horoscope?")
horostr="$($HOME/scm/bullshit/horoscope)"
- annna-say -s "${server}" -c "${channel}" "${user}, ${horostr}"
+ annna-say "${IRC_CMD_USER}, ${horostr}"
;;
-"${ircuser}, what should I cook"*)
+"${IRC_USER}, what should I cook"*)
recipestr="$(based.recipe)"
if [ -n "${recipestr}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${recipestr…
+ annna-say "${IRC_CMD_USER}, ${recipestr}"
else
gptchefrecipe="$(gpt-chef "something random")"
if [ -n "${gptchefrecipe}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${g…
+ annna-say "${IRC_CMD_USER}, ${gptchefrecipe}"
if [ $(pgrep -f stable-diffusion-emoji 2>/dev/null | w…
then
{
emojiuri="$(stable-diffusion-emoji "${…
if [ -n "${emojiuri}" ];
then
- annna-say -s "${server}" -c "$…
+ annna-say "${emojiuri}"
fi
} &
fi
else
- annna-say -s "${server}" -c "${channel}" "${user}, I h…
+ annna-say "${IRC_CMD_USER}, I have no recommendation f…
fi
fi
;;
# parazyd.org is unmaintained
-#"${ircuser}, what's my future?")
+#"${IRC_USER}, what's my future?")
# puri="$(sacc gopher://parazyd.org/0/tarot.cgi | /br/bin/bitreich-past…
-# annna-say -s "${server}" -c "${channel}" "${user}, your future is her…
+# annna-say "${IRC_CMD_USER}, your future is here: ${puri}"
# ;;
-"${ircuser}, haha.")
+"${IRC_USER}, haha.")
{
# Can take long, so run in background.
wuri="$(github-haha)"
if [ -n "${wuri}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, hah…
+ annna-say "${IRC_CMD_USER}, haha ${wuri}"
fi
} &
;;
-"${ircuser}, meow"*)
+"${IRC_USER}, meow"*)
# https://catgps.wvd.io support
nmeows=$(($RANDOM % 14))
meows="Meow"
@@ -1309,144 +1300,144 @@ case "${text}" in
else
meows="$meows."
fi
- annna-say -s "${server}" -c "${channel}" "${user}, ${meows}"
+ annna-say "${IRC_CMD_USER}, ${meows}"
;;
-"${ircuser}, how many memes do you know?")
- annna-say -s "${server}" -c "${channel}" "I know $(hashtagcount) memes…
+"${IRC_USER}, how many memes do you know?")
+ annna-say "I know $(hashtagcount) memes: gophers://bitreich.org/1/meme…
;;
-"${ircuser}, how many people died of corona?")
- annna-say -s "${server}" -c "${channel}" "${user}, too many. :( Please…
+"${IRC_USER}, how many people died of corona?")
+ annna-say "${IRC_CMD_USER}, too many. :( Please see yourself: gopher:/…
;;
-"${ircuser}, please show me your memes.")
+"${IRC_USER}, please show me your memes.")
puri="$(printf "%s" "$(hashtags)" | /br/bin/bitreich-paste)"
- annna-say -s "${server}" -c "${channel}" "Here are my memes: ${puri}"
+ annna-say "Here are my memes: ${puri}"
;;
-"${ircuser}, please show me the victims.")
+"${IRC_USER}, please show me the victims.")
puri="$(printf "%s" "$(hashtags)" | grep victim | /br/bin/bitreich-pas…
- annna-say -s "${server}" -c "${channel}" "Here are the victims: ${puri…
+ annna-say "Here are the victims: ${puri}"
;;
-"${ircuser}, please distro-hop with me.")
+"${IRC_USER}, please distro-hop with me.")
ndistro="$(curl -s 'https://distrowatch.com/dwres.php?resource=popular…
| grep phr2 \
| sed 's,.*href="\(.*\)".*,\1,' \
| sort | uniq | shuf -n 1)"
- annna-say -s "${server}" -c "${channel}" "How about https://distrowatc…
+ annna-say "How about https://distrowatch.com/${ndistro} ?"
;;
-"${ircuser}, please show me your Macron.")
- annna-say -s "${server}" -c "${channel}" "gophers://bitreich.org/0/asc…
+"${IRC_USER}, please show me your Macron.")
+ annna-say "gophers://bitreich.org/0/ascii/macron.vt"
;;
-"${ircuser}, release the Kraken!")
- annna-say -s "${server}" -c "${channel}" "Here it is! gophers://bitrei…
+"${IRC_USER}, release the Kraken!")
+ annna-say "Here it is! gophers://bitreich.org/0/memecache/kraken.vt"
;;
-"${ircuser}, where is your source?")
- annna-say -s "${server}" -c "${channel}" "Here is my precious source: …
+"${IRC_USER}, where is your source?")
+ annna-say "Here is my precious source: git://bitreich.org/annna "
;;
-"${ircuser}, release the Quacken!")
- annna-say -s "${server}" -c "${channel}" "Quack Quack! gophers://bitre…
+"${IRC_USER}, release the Quacken!")
+ annna-say "Quack Quack! gophers://bitreich.org/9/memecache/release-the…
;;
-"${ircuser}, be cool.")
+"${IRC_USER}, be cool.")
case "$(($RANDOM % 5))" in
0)
- annna-say -s "${server}" -c "${channel}" "(⌐■_■)"
+ annna-say "(⌐■_■)"
;;
1)
- annna-say -s "${server}" -c "${channel}" "(▰˘◡˘▰)"
+ annna-say "(▰˘◡˘▰)"
;;
2)
- annna-say -s "${server}" -c "${channel}" "(▀ Ĺ▀ )̄"
+ annna-say "(▀ Ĺ▀ )̄"
;;
3)
- annna-say -s "${server}" -c "${channel}" "(▀Ĺ▀ )"
+ annna-say "(▀Ĺ▀ )"
;;
*)
- annna-say -s "${server}" -c "${channel}" "I can't be cool! gop…
+ annna-say "I can't be cool! gophers://bitreich.org/9/memecache…
;;
esac
;;
-"${ircuser}, please cheer.")
+"${IRC_USER}, please cheer.")
case "$(($RANDOM % 2))" in
0)
- annna-say -s "${server}" -c "${channel}" '~\o/~'
+ annna-say '~\o/~'
;;
*)
- annna-say -s "${server}" -c "${channel}" '✺◟( ° ʖ °)◞…
+ annna-say '✺◟( ° ʖ °)◞✺'
;;
esac
;;
-"${ircuser}, please give me a fish.")
+"${IRC_USER}, please give me a fish.")
case "$(($RANDOM % 2))" in
0)
- annna-say -s "${server}" -c "${channel}" '<><'
+ annna-say '<><'
;;
*)
- annna-say -s "${server}" -c "${channel}" '><>'
+ annna-say '><>'
;;
esac
;;
-"${ircuser}, run.")
- annna-say -s "${server}" -c "${channel}" 'ᕕ(ಠ_ಠ)ᕗ'
+"${IRC_USER}, run.")
+ annna-say 'ᕕ(ಠ_ಠ)ᕗ'
;;
-"${ircuser}, be cute.")
+"${IRC_USER}, be cute.")
case "$(($RANDOM % 4))" in
0)
- annna-say -s "${server}" -c "${channel}" ' (\ /)'
+ annna-say ' (\ /)'
sleep 0.1
- annna-say -s "${server}" -c "${channel}" ' (. .)'
+ annna-say ' (. .)'
sleep 0.1
- annna-say -s "${server}" -c "${channel}" ' C(") (")'
+ annna-say ' C(") (")'
;;
1)
- annna-say -s "${server}" -c "${channel}" ' (\-/)'
+ annna-say ' (\-/)'
sleep 0.1
- annna-say -s "${server}" -c "${channel}" " (='.'=)"
+ annna-say " (='.'=)"
sleep 0.1
- annna-say -s "${server}" -c "${channel}" ' (")-(")o'
+ annna-say ' (")-(")o'
;;
2)
- annna-say -s "${server}" -c "${channel}" ' ( ) ( )'
+ annna-say ' ( ) ( )'
sleep 0.1
- annna-say -s "${server}" -c "${channel}" ' (>•.•<)'
+ annna-say ' (>•.•<)'
sleep 0.1
- annna-say -s "${server}" -c "${channel}" ' (") (")'
+ annna-say ' (") (")'
;;
*)
- annna-say -s "${server}" -c "${channel}" ' (\ (\'
+ annna-say ' (\ (\'
sleep 0.1
- annna-say -s "${server}" -c "${channel}" " (=' :')"
+ annna-say " (=' :')"
sleep 0.1
- annna-say -s "${server}" -c "${channel}" ' (, (") (")'
+ annna-say ' (, (") (")'
;;
esac
;;
-"${ircuser}, 8ball "*)
+"${IRC_USER}, 8ball "*)
eightballanswer="$(8ball)"
if [ -n "${eightballanswer}" ];
then
- annna-say -s "${server}" -c "${channel}" "${eightballanswer}"
+ annna-say "${eightballanswer}"
fi
;;
-"${ircuser}, email "*)
- findsyou="$(shuf -n 1 "${modbase}/finds-you/finds_you.txt")"
+"${IRC_USER}, email "*)
+ findsyou="$(shuf -n 1 "${ANNNA_MODBASE}/finds-you/finds_you.txt")"
if [ -n "${findsyou}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, I hope this…
+ annna-say "${IRC_CMD_USER}, I hope this email ${findsyou}"
fi
;;
-"${ircuser}, please throw a coin for me.")
+"${IRC_USER}, please throw a coin for me.")
case "$((($RANDOM % 2) + 1))" in
1)
- annna-say -s "${server}" -c "${channel}" "face"
+ annna-say "face"
;;
2)
- annna-say -s "${server}" -c "${channel}" "number"
+ annna-say "number"
;;
esac
;;
-"${ircuser}, please quantum roll d2 for me.")
+"${IRC_USER}, please quantum roll d2 for me.")
qroll="$(($(/home/20h/scm/quantum-rng/quantum-rng) + 1))"
- annna-say -s "${server}" -c "${channel}" "${user}, ${qroll} [1d2(score…
+ annna-say "${IRC_CMD_USER}, ${qroll} [1d2(scores:[${qroll}])]"
;;
-"${ircuser}, please roll "*" for me.")
+"${IRC_USER}, please roll "*" for me.")
q="${text#* roll }"
q="${q%for*}"
@@ -1457,139 +1448,139 @@ case "${text}" in
[ "${q}" = "dice " ] && q="d6"
dicescore="$(dice "${q}")"
- annna-say -s "${server}" -c "${channel}" "${user}, ${dicescore}"
+ annna-say "${IRC_CMD_USER}, ${dicescore}"
;;
-"${ircuser}, please tell me your favourite flower.")
- annna-say -s "${server}" -c "${channel}" "My favourite flower is the b…
+"${IRC_USER}, please tell me your favourite flower.")
+ annna-say "My favourite flower is the beer flower."
;;
-"${ircuser}, please tell me your favourite color.")
- annna-say -s "${server}" -c "${channel}" "My favourite color is yellow…
+"${IRC_USER}, please tell me your favourite color.")
+ annna-say "My favourite color is yellow."
;;
-"${ircuser}, please clap for me.")
- annna-say -s "${server}" -c "${channel}" "${user}, *clap* *clap* *clap…
+"${IRC_USER}, please clap for me.")
+ annna-say "${IRC_CMD_USER}, *clap* *clap* *clap*"
;;
-"${ircuser}, which city does not exist?")
+"${IRC_USER}, which city does not exist?")
cityuri="$(this-city-does-not-exist)"
if [ -n "${cityuri}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, this one: $…
+ annna-say "${IRC_CMD_USER}, this one: ${cityuri}"
else
- annna-say -s "${server}" -c "${channel}" "${user}, none."
+ annna-say "${IRC_CMD_USER}, none."
fi
;;
"For humanity!")
- annna-say -s "${server}" -c "${channel}" "${user}, for humanity! gophe…
+ annna-say "${IRC_CMD_USER}, for humanity! gophers://bitreich.org/0/mem…
;;
"Hack the planet!")
- annna-say -s "${server}" -c "${channel}" "${user}, hack the planet!"
+ annna-say "${IRC_CMD_USER}, hack the planet!"
;;
"Long live gopher!")
- annna-say -s "${server}" -c "${channel}" "${user}, long live gopher!"
+ annna-say "${IRC_CMD_USER}, long live gopher!"
;;
":)"|":))"|":)))"|":-)"|":-))"|":-)))"|":--)"|":--))"|":--)))"|":---)"|":----)…
smileface="$(smile)"
- annna-say -s "${server}" -c "${channel}" -- "${smileface}"
+ annna-say -- "${smileface}"
;;
-"${ircuser}, please dance."|"\\o/"|"\^o^/")
+"${IRC_USER}, please dance."|"\\o/"|"\^o^/")
dancemoves="$(dance-moves-gen)"
- annna-say -s "${server}" -c "${channel}" -- "${dancemoves}"
+ annna-say -- "${dancemoves}"
;;
-"${ircuser}, let us celebrate!"|"/o/"|"\o\\")
+"${IRC_USER}, let us celebrate!"|"/o/"|"\o\\")
dancemoves="$(dance-moves-gen -m)"
- annna-say -s "${server}" -c "${channel}" -- "${dancemoves}"
+ annna-say -- "${dancemoves}"
;;
-"${ircuser}, please egyptian dance."|"${ircuser}, let us egyptian celebrate!"|…
+"${IRC_USER}, please egyptian dance."|"${IRC_USER}, let us egyptian celebrate!…
dancemoves="$(dance-moves-gen -e)"
- annna-say -s "${server}" -c "${channel}" -- "${dancemoves}"
+ annna-say -- "${dancemoves}"
;;
-"${ircuser}, please stamp this letter for me.")
- annna-say -s "${server}" -c "${channel}" -- "${user}, here: 🖃 "
+"${IRC_USER}, please stamp this letter for me.")
+ annna-say -- "${IRC_CMD_USER}, here: 🖃 "
;;
-"${ircuser}, please do the graveyard smash.")
- annna-say -s "${server}" -c "${channel}" -- "( つ ・ᴗ・)つ"
- annna-say -s "${server}" -c "${channel}" -- "ς ( ・ᴗ・ ς )"
- annna-say -s "${server}" -c "${channel}" -- "It did the mash\\ It did …
+"${IRC_USER}, please do the graveyard smash.")
+ annna-say -- "( つ ・ᴗ・)つ"
+ annna-say -- "ς ( ・ᴗ・ ς )"
+ annna-say -- "It did the mash\\ It did the ~~MONSTER MASH~~\\ It was a…
;;
-"${ircuser}, boo."|"${ircuser}, boo!")
- annna-say -s "${server}" -c "${channel}" "${user}, 👻"
+"${IRC_USER}, boo."|"${IRC_USER}, boo!")
+ annna-say "${IRC_CMD_USER}, 👻"
;;
-"${ircuser}, W3C."|"${ircuser}, w3c.")
- annna-say -s "${server}" -c "${channel}" "${user}, 🕸️ 🕷️ �…
+"${IRC_USER}, W3C."|"${IRC_USER}, w3c.")
+ annna-say "${IRC_CMD_USER}, 🕸️ 🕷️ 🕸️"
;;
-"${ircuser}, pumpkin.")
- annna-say -s "${server}" -c "${channel}" "${user}, 🎃"
+"${IRC_USER}, pumpkin.")
+ annna-say "${IRC_CMD_USER}, 🎃"
;;
-"${ircuser}, trick or treat"*|"${ircuser}, treat or trick"*)
- annna-say -s "${server}" -c "${channel}" "Wait for it. Old annnama is …
+"${IRC_USER}, trick or treat"*|"${IRC_USER}, treat or trick"*)
+ annna-say "Wait for it. Old annnama is searching ..."
{
sleeptime="$(( $RANDOM % 120 + 10 ))"
if [ $sleeptime -gt 60 ];
then
sleep "$(( $RANDOM % 30 + 20 ))"
- annna-say -s "${server}" -c "${channel}" "${user}, *sw…
+ annna-say "${IRC_CMD_USER}, *swish* *swish* old annnam…
sleeptime="$(( $RANDOM % 60 + 10 ))"
fi
sleep $sleeptime
- annna-say -s "${server}" -c "${channel}" "${user}, $(trick-or-…
+ annna-say "${IRC_CMD_USER}, $(trick-or-treat)"
} &
;;
-"${ircuser}, please dance with me.")
+"${IRC_USER}, please dance with me.")
if [ $(($RANDOM % 2)) -gt 0 ];
then
- annna-say -s "${server}" -c "${channel}" "I am not that kind o…
+ annna-say "I am not that kind of woman."
else
- annna-say -s "${server}" -c "${channel}" "Thank you! Let us da…
+ annna-say "Thank you! Let us dance! :-D"
fi
;;
-"${ircuser}, please tell me who is your favourite pleasure man.")
- annna-say -s "${server}" -c "${channel}" "My favourite pleasure man is…
+"${IRC_USER}, please tell me who is your favourite pleasure man.")
+ annna-say "My favourite pleasure man is of course Gunther!"
;;
-"${ircuser}, make me a sandwich"*)
- annna-say -s "${server}" -c "${channel}" "No."
+"${IRC_USER}, make me a sandwich"*)
+ annna-say "No."
;;
-"${ircuser}, sudo make me a sandwich"*)
- annna-say -s "${server}" -c "${channel}" "Humans are no objects."
+"${IRC_USER}, sudo make me a sandwich"*)
+ annna-say "Humans are no objects."
;;
-"${ircuser}, please make me a sandwich"*)
- annna-say -s "${server}" -c "${channel}" "Maybe."
+"${IRC_USER}, please make me a sandwich"*)
+ annna-say "Maybe."
;;
-"${ircuser}, sudo please make me a sandwich"*)
- annna-say -s "${server}" -c "${channel}" "Here is your sandwich."
+"${IRC_USER}, sudo please make me a sandwich"*)
+ annna-say "Here is your sandwich."
;;
-"${ircuser}, I feel unsure about my health.")
+"${IRC_USER}, I feel unsure about my health.")
healthadvice="$(health-advice)"
if [ -n "${healthadvice}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${healthadv…
+ annna-say "${IRC_CMD_USER}, ${healthadvice}"
fi
;;
-"${ircuser}, bonjour !")
- annna-say -s "${server}" -c "${channel}" "${user}, bonjour !"
+"${IRC_USER}, bonjour !")
+ annna-say "${IRC_CMD_USER}, bonjour !"
;;
-*" pets ${ircuser}"*)
- annna-say -s "${server}" -c "${channel}" "${user}, *brrrrr*"
+*" pets ${IRC_USER}"*)
+ annna-say "${IRC_CMD_USER}, *brrrrr*"
;;
-"${ircuser}, please give me a penis extension.")
- annna-say -s "${server}" -c "${channel}" "${user}, here: $(penis-exten…
+"${IRC_USER}, please give me a penis extension.")
+ annna-say "${IRC_CMD_USER}, here: $(penis-extension)"
;;
-"${ircuser}, please bobbitize me.")
- annna-say -s "${server}" -c "${channel}" "${user}, here: $(bobbitize)"
+"${IRC_USER}, please bobbitize me.")
+ annna-say "${IRC_CMD_USER}, here: $(bobbitize)"
;;
-"${ircuser}, please give me a baguette extension.")
- annna-say -s "${server}" -c "${channel}" "${user}, here: $(baguette-ex…
+"${IRC_USER}, please give me a baguette extension.")
+ annna-say "${IRC_CMD_USER}, here: $(baguette-extension)"
;;
-"${ircuser}, please give me an allah extension.")
- annna-say -s "${server}" -c "${channel}" "${user}, here: $(allah-exten…
+"${IRC_USER}, please give me an allah extension.")
+ annna-say "${IRC_CMD_USER}, here: $(allah-extension)"
;;
-"${ircuser}, please pull my finger.")
- annna-say -s "${server}" -c "${channel}" "${user}, you are disgusting."
+"${IRC_USER}, please pull my finger.")
+ annna-say "${IRC_CMD_USER}, you are disgusting."
;;
-"${ircuser}, what's up in Japan?")
- annna-say -s "${server}" -c "${channel}" "${user}, see for yourself: h…
+"${IRC_USER}, what's up in Japan?")
+ annna-say "${IRC_CMD_USER}, see for yourself: https://nhk3.mov3.co/hls…
;;
-"${ircuser}, please mqtt"*)
- mqtturi="$(printf '%s\n' "${text}" | cut -d' ' -f 3)"
+"${IRC_USER}, please mqtt"*)
+ mqtturi="$(printf '%s\n' "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 3)"
case "${mqtturi}" in
mqtt:*)
#mqtt:// full URI specified
@@ -1599,91 +1590,91 @@ case "${text}" in
mqtturi="mqtts://bitreich:oogui3queex&[email protected]/${…
;;
esac
- msg="$(printf "%s\n" "${text}" | cut -d' ' -f 4-)"
+ msg="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f 4-)"
printf "${msg}\n" | mosquitto_pub -L "${mqtturi}" -l
;;
*"zuckerberg"*|*"Zuckerberg"*)
- annna-say -s "${server}" -c "${channel}" "${user}, did you mean gopher…
+ annna-say "${IRC_CMD_USER}, did you mean gophers://bitreich.org/9/meme…
;;
-"${ircuser}, please pick one of: "*)
- pick="$(printf '%s\n' "${text}" \
+"${IRC_USER}, please pick one of: "*)
+ pick="$(printf '%s\n' "${IRC_PRIVMSG_TEXT}" \
| sed 's/.*please pick one of: //' \
| tr ',' '\n' \
| tr -d ' ' \
| sort -R \
| head -n 1)"
- annna-say -s "${server}" -c "${channel}" "${user}, I think ${pick} is …
+ annna-say "${IRC_CMD_USER}, I think ${pick} is the best option."
;;
-"${ircuser}, please play some Bach"*)
+"${IRC_USER}, please play some Bach"*)
midifile="$(find . /home/annna/bin/modules/midi-media/bach -name '*.mi…
| sort -R \
| head -n 1)"
outfile="/br/gopher/midi/${midifile##*/}.ogg"
if midi-play "$midifile" >"$outfile"; then
- annna-say -s "${server}" -c "${channel}" "${user}, gophers://b…
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/9/midi/${ou…
fi
;;
-"${ircuser}, please antidepressant #"*|\
-"${ircuser}, please amplify #"*|\
-"${ircuser}, please amsterdamify #"*|\
-"${ircuser}, please banjo #"*|\
-"${ircuser}, please bounce #"*|\
-"${ircuser}, please breakingnews #"*|\
-"${ircuser}, please celtify #"*|\
-"${ircuser}, please concatenate #"*|\
-"${ircuser}, please crimetv #"*|\
-"${ircuser}, please curb #"*|\
-"${ircuser}, please daybowbow #"*|\
-"${ircuser}, please deathmetal #"*|\
-"${ircuser}, please developers #"*|\
-"${ircuser}, please dontdoit #"*|\
-"${ircuser}, please dontsaytoyourmother #"*|\
-"${ircuser}, please doomify #"*|\
-"${ircuser}, please dutchapprove #"*|\
-"${ircuser}, please french #"*|\
-"${ircuser}, please FRENCH #"*|\
-"${ircuser}, please imam #"*|\
-"${ircuser}, please lop #"*|\
-"${ircuser}, please loop #"*|\
-"${ircuser}, please looop #"*|\
-"${ircuser}, please loooop #"*|\
-"${ircuser}, please mow #"*|\
-"${ircuser}, please namflashback #"*|\
-"${ircuser}, please news #"*|\
-"${ircuser}, please pullmyfinger #"*|\
-"${ircuser}, please putin #"*|\
-"${ircuser}, please reverse #"*|\
-"${ircuser}, please richardstrauss #"*|\
-"${ircuser}, please ritual #"*|\
-"${ircuser}, please sadviolin #"*|\
-"${ircuser}, please science #"*|\
-"${ircuser}, please scrollify #"*|\
-"${ircuser}, please sendtohell #"*|\
-"${ircuser}, please sexify #"*|\
-"${ircuser}, please slavify #"*|\
-"${ircuser}, please slowdown #"*|\
-"${ircuser}, please smith #"*|\
-"${ircuser}, please speedup #"*|\
-"${ircuser}, please techno #"*|\
-"${ircuser}, please technodrugs #"*|\
-"${ircuser}, please thin #"*|\
-"${ircuser}, please torture #"*|\
-"${ircuser}, please tshirt #"*|\
-"${ircuser}, please trumpapprove #"*|\
-"${ircuser}, please USAUSA #"*|\
-"${ircuser}, please USA #"*|\
-"${ircuser}, please usa #"*|\
-"${ircuser}, please wat #"*|\
-"${ircuser}, please widen #"*|\
-"${ircuser}, please ww1 #"*|\
-"${ircuser}, please yellow #"*|\
-"${ircuser}, please zucc #"*|\
-"${ircuser}, please random #"*)
- hashtag="$(printf "%s\n" "${text}" | sed 's/.*#//; s/ .*//' )"
- recipient="$(printf "%s\n" "${text}" | sed 's/.* for //' )"
+"${IRC_USER}, please antidepressant #"*|\
+"${IRC_USER}, please amplify #"*|\
+"${IRC_USER}, please amsterdamify #"*|\
+"${IRC_USER}, please banjo #"*|\
+"${IRC_USER}, please bounce #"*|\
+"${IRC_USER}, please breakingnews #"*|\
+"${IRC_USER}, please celtify #"*|\
+"${IRC_USER}, please concatenate #"*|\
+"${IRC_USER}, please crimetv #"*|\
+"${IRC_USER}, please curb #"*|\
+"${IRC_USER}, please daybowbow #"*|\
+"${IRC_USER}, please deathmetal #"*|\
+"${IRC_USER}, please developers #"*|\
+"${IRC_USER}, please dontdoit #"*|\
+"${IRC_USER}, please dontsaytoyourmother #"*|\
+"${IRC_USER}, please doomify #"*|\
+"${IRC_USER}, please dutchapprove #"*|\
+"${IRC_USER}, please french #"*|\
+"${IRC_USER}, please FRENCH #"*|\
+"${IRC_USER}, please imam #"*|\
+"${IRC_USER}, please lop #"*|\
+"${IRC_USER}, please loop #"*|\
+"${IRC_USER}, please looop #"*|\
+"${IRC_USER}, please loooop #"*|\
+"${IRC_USER}, please mow #"*|\
+"${IRC_USER}, please namflashback #"*|\
+"${IRC_USER}, please news #"*|\
+"${IRC_USER}, please pullmyfinger #"*|\
+"${IRC_USER}, please putin #"*|\
+"${IRC_USER}, please reverse #"*|\
+"${IRC_USER}, please richardstrauss #"*|\
+"${IRC_USER}, please ritual #"*|\
+"${IRC_USER}, please sadviolin #"*|\
+"${IRC_USER}, please science #"*|\
+"${IRC_USER}, please scrollify #"*|\
+"${IRC_USER}, please sendtohell #"*|\
+"${IRC_USER}, please sexify #"*|\
+"${IRC_USER}, please slavify #"*|\
+"${IRC_USER}, please slowdown #"*|\
+"${IRC_USER}, please smith #"*|\
+"${IRC_USER}, please speedup #"*|\
+"${IRC_USER}, please techno #"*|\
+"${IRC_USER}, please technodrugs #"*|\
+"${IRC_USER}, please thin #"*|\
+"${IRC_USER}, please torture #"*|\
+"${IRC_USER}, please tshirt #"*|\
+"${IRC_USER}, please trumpapprove #"*|\
+"${IRC_USER}, please USAUSA #"*|\
+"${IRC_USER}, please USA #"*|\
+"${IRC_USER}, please usa #"*|\
+"${IRC_USER}, please wat #"*|\
+"${IRC_USER}, please widen #"*|\
+"${IRC_USER}, please ww1 #"*|\
+"${IRC_USER}, please yellow #"*|\
+"${IRC_USER}, please zucc #"*|\
+"${IRC_USER}, please random #"*)
+ hashtag="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed 's/.*#//; s/ .*//…
+ recipient="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed 's/.* for //' )"
origext="$(grep -E "^#${hashtag} " "${hashtagfile}" | sed 's/.*\.//')"
{
- filter="$(printf '%s\n' "${text}" | cut -d' ' -f3)"
+ filter="$(printf '%s\n' "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f3)"
if [ "${filter}" = "random" ];
then
filters=("antidepressant" "amplify" "amsterdamify"
@@ -1737,7 +1728,7 @@ case "${text}" in
esac
esac
- if [ "${recipient}" != "${text}" ];
+ if [ "${recipient}" != "${IRC_PRIVMSG_TEXT}" ];
then
user="${recipient}"
fi
@@ -1756,7 +1747,7 @@ case "${text}" in
if [ -s "${outpath}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, gop…
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/${o…
exit 0
fi
@@ -1787,84 +1778,84 @@ case "${text}" in
if [ -s "${outpath}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, gop…
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/${o…
fi
} &
exit 0
;;
-"${ircuser}, please 3d "*)
- args=$(echo ${text} | cut -d' ' -f 4-)
+"${IRC_USER}, please 3d "*)
+ args=$(echo ${IRC_PRIVMSG_TEXT} | cut -d' ' -f 4-)
outfile=$(blender-effect $args)
- annna-say -s "${server}" -c "${channel}" "${user}, gophers://bitreich.…
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/I/memecache/3d/${ou…
;;
-"${ircuser}, droggelbecher"*)
+"${IRC_USER}, droggelbecher"*)
# https://ednaundharvey.fandom.com/de/wiki/Droggelbecher
- annna-say -s "${server}" -c "${channel}" "${user}, Droggelbecher!"
+ annna-say "${IRC_CMD_USER}, Droggelbecher!"
;;
-"${ircuser}, thanks"*|"${ircuser}, thx"*)
- annna-say -s "${server}" -c "${channel}" "${user}, you're welcome."
+"${IRC_USER}, thanks"*|"${IRC_USER}, thx"*)
+ annna-say "${IRC_CMD_USER}, you're welcome."
;;
-"${ircuser}, please simulate "*" simulator"*)
- q="${text#* please simulate }"
+"${IRC_USER}, please simulate "*" simulator"*)
+ q="${IRC_PRIVMSG_TEXT#* please simulate }"
q="${q% simulator*}"
outpath="/br/gopher/p/"
{
if outfile="$(simulate-simulator "$q")"
then
mv "${outfile}" "${outpath}/"
- annna-say -s "${server}" -c "${channel}" "${user}, gop…
+ annna-say "${IRC_CMD_USER}, gophers://bitreich.org/I/p…
fi
} &
;;
-"${ircuser}, can "*" certify itself?")
- q="${text#* can }"
+"${IRC_USER}, can "*" certify itself?")
+ q="${IRC_PRIVMSG_TEXT#* can }"
q="${q% certify*}"
{
# host:port is needed for tlsgrab
curi="$(tlsgrab "${q}")"
if [ -n "${curi}" ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, let…
+ annna-say "${IRC_CMD_USER}, let us see the certificate…
fi
} &
;;
-"${ircuser}, please mine "*" bitreichcoin"*)
- q="${text#* please mine }"
+"${IRC_USER}, please mine "*" bitreichcoin"*)
+ q="${IRC_PRIVMSG_TEXT#* please mine }"
q="${q% bitreichcoin*}"
curi="$(bitreichcoin "$q" | /br/bin/bitreich-paste)"
- annna-say -s "${server}" -c "${channel}" "${user}, please don't spend …
+ annna-say "${IRC_CMD_USER}, please don't spend it all at once: ${curi}"
;;
-"${ircuser}, please hug me.")
- annna-say -s "${server}" -c "${channel}" "$(echo -e '\001')ACTION hugs…
+"${IRC_USER}, please hug me.")
+ annna-say "$(echo -e '\001')ACTION hugs ${IRC_CMD_USER}$(echo -e '\001…
;;
-"${ircuser}, please hug "*" for me.")
- huggee="${text#* please hug }"
+"${IRC_USER}, please hug "*" for me.")
+ huggee="${IRC_PRIVMSG_TEXT#* please hug }"
huggee="${huggee% for me*}"
if [ -n "${huggee}" ];
then
- annna-say -s "${server}" -c "${channel}" "$(echo -e '\001')ACT…
+ annna-say "$(echo -e '\001')ACTION hugs ${huggee}$(echo -e '\0…
fi
;;
-"${ircuser}, how many fucks were given?")
- annna-say -s "${server}" -c "${channel}" "${user}, current fucks given…
+"${IRC_USER}, how many fucks were given?")
+ annna-say "${IRC_CMD_USER}, current fucks given: 0.0"
;;
-"${ircuser}, please slam the door.")
- annna-say -s "${server}" -c "${channel}" "${user}, *BANG*"
+"${IRC_USER}, please slam the door.")
+ annna-say "${IRC_CMD_USER}, *BANG*"
;;
-"${ircuser}, what is my credit score?")
- annna-say -s "${server}" -c "${channel}" "${user}, your credit score i…
+"${IRC_USER}, what is my credit score?")
+ annna-say "${IRC_CMD_USER}, your credit score is 0."
;;
-"${ircuser}, please give me a cookie.")
+"${IRC_USER}, please give me a cookie.")
cookie="$(cookie)"
if [ -n "${cookie}" ];
then
- annna-say -s "${server}" -c "${channel}" "$(echo -e '\001')ACT…
+ annna-say "$(echo -e '\001')ACTION gives ${IRC_CMD_USER} a ${c…
fi
;;
-"${ircuser}, please help.")
- annna-say -s "${server}" -c "${user}" "See git://bitreich.org/annna fo…
+"${IRC_USER}, please help.")
+ annna-say -c "${IRC_CMD_USER}" "See git://bitreich.org/annna for my co…
;;
-"${ircuser}, please meme meme meme me.")
+"${IRC_USER}, please meme meme meme me.")
randomtag=2
while [ $randomtag -gt 0 ];
do
@@ -1877,45 +1868,45 @@ case "${text}" in
taguri="${tag}"
done
- annna-say -s "${server}" -c "${channel}" "${tagname}: ${taguri…
+ annna-say "${tagname}: ${taguri}"
randomtag=$((randomtag - 1))
done
;;
-"${ircuser}, what's the wheelchair shooter meme again?")
+"${IRC_USER}, what's the wheelchair shooter meme again?")
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 -s "${server}" -c "${channel}" "${tagname}: ${taguri}"
+ annna-say "${tagname}: ${taguri}"
;;
-"${ircuser}, TIL "*)
+"${IRC_USER}, TIL "*)
minimum_learned_len=12
- offset=$(( ${#ircuser} + 6 ))
- learned="$(printf "%s\n" "${text}" \
+ offset=$(( ${#IRC_USER} + 6 ))
+ learned="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" \
| cut -c $offset- \
| sed 's,\t, ,g')"
if [ ${#learned} -le $minimum_learned_len ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, can you exp…
+ annna-say "${IRC_CMD_USER}, can you explain better what you le…
else
- result="$(til ${user} "${learned}")"
+ result="$(til ${IRC_CMD_USER} "${learned}")"
if [ $? -eq 0 ];
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${r…
+ annna-say "${IRC_CMD_USER}, ${result}"
fi
fi
;;
-"${ircuser}, what have I learned?")
- if result=$(til-user ${user});
+"${IRC_USER}, what have I learned?")
+ if result=$(til-user ${IRC_CMD_USER});
then
- annna-say -s "${server}" -c "${channel}" "${user}, ${result}"
+ annna-say "${IRC_CMD_USER}, ${result}"
fi
;;
esac
-printf '%s' "$text" | awk -v taglimit="$printnhashtags" '
+printf '%s' "${IRC_PRIVMSG_TEXT}" | awk -v taglimit="$printnhashtags" '
$0 !~ /#nospoil/ {
while (match($0, /[#*&]+[^# /"'\'',?!;$\001]+/)) {
tag = substr($0, RSTART, RLENGTH)
@@ -1975,7 +1966,7 @@ do
if [ -e "${outpath}" ];
then
outfile="$(basename "${outpath}")"
- annna-say -s "${server}" -c "${channel…
+ annna-say "${origtag}: gophers://bitre…
fi
elif [ $revpointer -eq 1 ];
then
@@ -2004,10 +1995,10 @@ do
if [ -e "${outpath}" ];
then
outfile="$(basename "${outpath}")"
- annna-say -s "${server}" -c "${channel…
+ annna-say "${origtag}: gophers://bitre…
fi
else
- annna-say -s "${server}" -c "${channel}" "${ta…
+ annna-say "${tagline% *}: ${tagline#* }"
fi
fi
else
@@ -2019,43 +2010,43 @@ do
didyoumean="$(annna-meme-recommend "${tag}")"
if [ -n "${didyoumean}" ];
then
- annna-say -c "${server}" -c "${channel…
+ annna-say "Did you mean: ${didyoumean}…
fi
fi
fi
fi
done
-case "${text}" in
+case "${IRC_PRIVMSG_TEXT}" in
*\#nospoil*)
;;
*rfc[0-9]*)
- rfcname="$(printf "%s\n" "${text}" | sed 's,.*\(rfc[0-9]*\).*,\1,')"
- annna-say -s "${server}" -c "${channel}" "${rfcname}: ftp://ftp.rfc-ed…
+ rfcname="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed 's,.*\(rfc[0-9]*\…
+ annna-say "${rfcname}: ftp://ftp.rfc-editor.org/in-notes/${rfcname}.tx…
;;
*RFC[0-9]*)
- rfcname="$(printf "%s\n" "${text}" | sed 's,.*\(RFC[0-9]*\).*,\1,' | t…
- annna-say -s "${server}" -c "${channel}" "${rfcname}: ftp://ftp.rfc-ed…
+ rfcname="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed 's,.*\(RFC[0-9]*\…
+ annna-say "${rfcname}: ftp://ftp.rfc-editor.org/in-notes/${rfcname}.tx…
;;
esac
# Always keep the karma / shame last!
-case "${text}" in
+case "${IRC_PRIVMSG_TEXT}" in
*"-shaming"*)
- shametext="$(printf "%s\n" "${text}" | sed 's,.* \(.*-shaming\).*,\1,'…
+ shametext="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | sed 's,.* \(.*-sham…
shame "${shametext}" >/dev/null
;;
*"arma is a bitch"*)
- annna-say -s "${server}" -c "${channel}" "${user}, I object! Karma is …
+ annna-say "${IRC_CMD_USER}, I object! Karma is a nice girl!"
;;
"score "*)
# For referee scoring.
;;
*++|*--|*-=?|*+=?|*+=-?|*-=-?)
- karmatext="$(karma "${text}")"
+ karmatext="$(karma "${IRC_PRIVMSG_TEXT}")"
if [ -n "$karmatext" ];
then
- annna-say -s "${server}" -c "${channel}" "karma: ${karmatext}"
+ annna-say "karma: ${karmatext}"
fi
;;
esac
@@ -2068,27 +2059,27 @@ do
done
[ $ismember -lt 1 ] && exit
-case "${text}" in
-"${ircuser}, please go to sleep.")
- annna-say -s "${server}" -c "${channel}" "Going to sleep ... Zzzz ..."
- touch "${ircbase}/annna-is-sleeping"
+case "${IRC_PRIVMSG_TEXT}" in
+"${IRC_USER}, please go to sleep.")
+ annna-say "Going to sleep ... Zzzz ..."
+ touch "${ANNNA_BASE}/sleeping"
;;
-"${ircuser}, please wake up.")
- rm -f "${ircbase}/annna-is-sleeping"
- annna-say -s "${server}" -c "${channel}" "Good morning BITREICH!"
+"${IRC_USER}, please wake up.")
+ rm -f "${ANNNA_BASE}/sleeping"
+ annna-say "Good morning BITREICH!"
;;
-"${ircuser}, can you show me the uptime please?")
- annna-say -s "${server}" -c "${channel}" "$(hostname) uptime: $(uptime…
+"${IRC_USER}, can you show me the uptime please?")
+ annna-say "$(hostname) uptime: $(uptime)"
;;
-"${ircuser}, please show me the load.")
- annna-say -s "${server}" -c "${channel}" "$(hostname) load: $(LANG=C u…
+"${IRC_USER}, please show me the load.")
+ annna-say "$(hostname) load: $(LANG=C uptime | sed 's,.*load average: …
;;
-"${ircuser}, please give me the count of online users.")
- annna-say -s "${server}" -c "${channel}" "$(hostname): $(who -q | tail…
+"${IRC_USER}, please give me the count of online users.")
+ annna-say "$(hostname): $(who -q | tail -n 1 | cut -d'=' -f 2)"
;;
-"${ircuser}, please update the phlog index.")
+"${IRC_USER}, please update the phlog index.")
phlog-index > /dev/null 2>&1
- annna-say -s "${server}" -c "${channel}" "Thanks! Your request has bee…
+ annna-say "Thanks! Your request has been fulfilled with the quickness!…
;;
esac
@@ -2100,15 +2091,15 @@ do
done
[ $isreferee -lt 1 ] && exit
-case "${text}" in
+case "${IRC_PRIVMSG_TEXT}" in
"score "*)
- text="$(printf "%s\n" "${text}" | cut -d' ' -f2-)"
- case "${text}" in
+ text="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -d' ' -f2-)"
+ case "${IRC_PRIVMSG_TEXT}" in
*++|*--|*-=?|*+=?|*+=-?|*-=-?|*-=??|*+=??|*-=-??|*-=65536*)
- scoretext="$(brcon-score "${text}")"
+ scoretext="$(brcon-score "${IRC_PRIVMSG_TEXT}")"
if [ -n "$scoretext" ];
then
- annna-say -s "${server}" -c "${channel}" "brcon score:…
+ annna-say "brcon score: ${scoretext}"
fi
;;
esac
diff --git a/annna-message-gopherproject b/annna-message-gopherproject
@@ -1,19 +0,0 @@
-#!/bin/sh -e
-
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-modbase="$(cat ${cfgbase}/modbase)"
-
-server="$1"
-ircuser="$(cat ${cfgbase}/${server}/ircuser)"
-channel="$2"
-user="$3"
-text="$4"
-cmd="$5"
-
-[ "$user" = "${ircuser}" ] && exit
-
-# Nothing so far for gopherproject.
-
-annna-message-common "${server}" "${channel}" "${user}" "${text}" "${cmd}"
-
diff --git a/annna-message-radio b/annna-message-radio
@@ -1,59 +1,46 @@
#!/bin/sh -e
-export PATH="/br/bin:$PATH"
+[ "$IRC_CMD_USER" = "${IRC_USER}" ] && exit
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-modbase="$(cat ${cfgbase}/modbase)"
-
-server="$1"
-ircuser="$(cat ${cfgbase}/${server}/ircuser)"
-channel="$2"
-user="$3"
-text="$4"
-cmd="$5"
-
-[ "$user" = "${ircuser}" ] && exit
-
-case "${text}" in
-"${ircuser}, next song please.") /usr/bin/mpc -q next; exit;;
-"${ircuser}, prev song please.") /usr/bin/mpc -q prev; exit;;
-"${ircuser}, please shuffle.") /usr/bin/mpc -q shuffle; exit;;
-"${ircuser}, please toggle random.") /usr/bin/mpc -q random; exit;;
-"${ircuser}, please toggle single.") /usr/bin/mpc -q single; exit;;
-"${ircuser}, please toggle consume.") /usr/bin/mpc -q consume; exit;;
-"${ircuser}, please rescan.") /usr/bin/mpc -q rescan; exit;;
-"${ircuser}, how many people listen to the radio?")
- annna-say -s "${server}" -c "${channel}" "${user}, $(/br/bin/bitreich-…
+case "${IRC_PRIVMSG_TEXT}" in
+"${IRC_USER}, next song please.") /usr/bin/mpc -q next; exit;;
+"${IRC_USER}, prev song please.") /usr/bin/mpc -q prev; exit;;
+"${IRC_USER}, please shuffle.") /usr/bin/mpc -q shuffle; exit;;
+"${IRC_USER}, please toggle random.") /usr/bin/mpc -q random; exit;;
+"${IRC_USER}, please toggle single.") /usr/bin/mpc -q single; exit;;
+"${IRC_USER}, please toggle consume.") /usr/bin/mpc -q consume; exit;;
+"${IRC_USER}, please rescan.") /usr/bin/mpc -q rescan; exit;;
+"${IRC_USER}, how many people listen to the radio?")
+ annna-say -s "${IRC_SERVER}" -c "${IRC_CHANNEL}" "${IRC_CMD_USER}, $(/…
exit;;
-"${ircuser}, please radio play "*)
- url="$(printf "%s\n" "${text}" | cut -c 25- | sed 's,\t, ,g')"
+"${IRC_USER}, please radio play "*)
+ url="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 25- | sed 's,\t, …
{
ytdl-mpd -a -m -q "$url"
- annna-say -s "${server}" -c "${channel}" "Your download ${url}…
+ annna-say "Your download ${url} is done."
} &
exit;;
-"${ircuser}, please radio say "*)
- word="$(printf "%s\n" "${text}" | cut -c 25- | sed 's,\t, ,g')"
+"${IRC_USER}, please radio say "*)
+ word="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 25- | sed 's,\t, …
{
printf "%s\n" "${word}" | bitreich-radio-speak
- annna-say -s "${server}" -c "${channel}" "The speech is done."
+ annna-say "The speech is done."
} &
exit;;
-"${ircuser}, please stop speaking on radio.")
+"${IRC_USER}, please stop speaking on radio.")
if pkill -f bitreich-radio-speak >/dev/null 2>&1;
then
- annna-say -s "${server}" -c "${channel}" "${user}, I stopped s…
+ annna-say "${IRC_CMD_USER}, I stopped speaking."
else
- annna-say -s "${server}" -c "${channel}" "${user}, sorry, no i…
+ annna-say "${IRC_CMD_USER}, sorry, no instances found."
fi
exit;;
-"${ircuser}, please radio status.")
+"${IRC_USER}, please radio status.")
mpc_status="$(/usr/bin/mpc status | grep '\[.*\]' -o | tr -d '[]')"
[ -z "$mpc_status" ] && mpc_status="gone"
- annna-say -s "${server}" -c "${channel}" "The radio is ${mpc_status}."
+ annna-say "The radio is ${mpc_status}."
exit;;
esac
-annna-message-common "${server}" "${channel}" "${user}" "${text}" "${cmd}"
+annna-message-common "${IRC_SERVER}" "${IRC_CHANNEL}" "${IRC_CMD_USER}" "${IRC…
diff --git a/annna-message-sauna b/annna-message-sauna
@@ -1,24 +1,11 @@
#!/bin/sh -e
-export PATH="/br/bin:$PATH"
+[ "$IRC_CMD_USER" = "${IRC_USER}" ] && exit
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-modbase="$(cat ${cfgbase}/modbase)"
-
-server="$1"
-ircuser="$(cat ${cfgbase}/${server}/ircuser)"
-channel="$2"
-user="$3"
-text="$4"
-cmd="$5"
-
-[ "$user" = "${ircuser}" ] && exit
-
-case "${cmd}" in
-JOIN) annna-say -s "${server}" -c "${channel}" "Welcome ${user}! Please grab a…
-PART) annna-say -s "${server}" -c "${channel}" $'\001ACTION puts the towel in …
+case "${IRC_CMD}" in
+JOIN) annna-say "Welcome ${IRC_CMD_USER}! Please grab a towel and have fun!";;
+PART) annna-say $'\001ACTION puts the towel in the laundry.\001';;
esac
-annna-message-common "${server}" "${channel}" "${user}" "${text}" "${cmd}"
+annna-message-common
diff --git a/annna-message-wikigame b/annna-message-wikigame
@@ -1,37 +1,22 @@
#!/bin/sh -e
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-modbase="$(cat ${cfgbase}/modbase)"
+[ "$IRC_CMD_USER" = "${IRC_USER}" ] && exit
-server="$1"
-ircuser="$(cat ${cfgbase}/${server}/ircuser)"
-channel="$2"
-user="$3"
-text="$4"
-cmd="$5"
-
-[ "$user" = "${ircuser}" ] && exit
-
-saytext=""
-case "${text}" in
+say_text=""
+case "${IRC_PRIVMSG_TEXT}" in
init|summary|hint|more|giveup)
- saytext="$(wikipediagame "${text}")"
+ say_text="$(wikipediagame "${IRC_PRIVMSG_TEXT}")"
;;
"init "*)
- inittext="$(printf "%s\n" "${text}" | cut -c 5-)"
- saytext="$(wikipediagame init "${inittext}")"
+ init_text="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 5-)"
+ say_text="$(wikipediagame init "${init_text}")"
;;
"guess "*)
- guesstext="$(printf "%s\n" "${text}" | cut -c 6-)"
- saytext="$(wikipediagame guess "${guesstext}")"
+ guess_text="$(printf "%s\n" "${IRC_PRIVMSG_TEXT}" | cut -c 6-)"
+ say_text="$(wikipediagame guess "${guess_text}")"
;;
esac
+[ -n "${say_text}" ] && annna-say "${say_text}"
-if [ -n "${saytext}" ];
-then
- annna-say -s "${server}" -c "${channel}" "${saytext}"
-fi
-
-annna-message-common "${server}" "${channel}" "${user}" "${text}" "${cmd}"
+annna-message-common
diff --git a/annna-say b/annna-say
@@ -1,52 +1,43 @@
#!/bin/sh
#
-# annna-say -s irc.bitreich.org -c '#bitreich-en' Hello World!
+# annna-say -a $HOME/annna -s irc.bitreich.org -c '#bitreich-en' Hello World!
+# export ANNNA_BASE=$HOME/annna
# annna-say -c 'irc.bitreich.org/#bitreich-en' Hello World!
#
-if [ "$(basename "$0")" = "annna-cmd" ];
-then
- outfile="out"
-else
- outfile="in"
-fi
-
-export PATH="$PATH:/home/annna/bin"
+set -x
usage() {
- printf "usage: %s [-h] [-i ircbase] [-s server] -c \"[server/]channel0…
+ printf "usage: %s [-h] [-a ANNNA_BASE] [-s IRC_SERVER] -c \"[IRC_SERVE…
"$(basename "$1")" >&2
exit 1
}
-channels=""
-server="irc.bitreich.org"
-ircbase="/home/annna/irc"
+outfile="in"
+[ "$(basename "$0")" = "annna-cmd" ] && outfile="out"
-while getopts "hb:c:s:" opt;
+channels="${IRC_CHANNEL}"
+[ -z "${IRC_SERVER}" ] && export IRC_SERVER="irc.bitreich.org"
+while getopts "ha:c:s:" opt;
do
case $opt in
- b)
- ircbase="$OPTARG"
- ;;
- c)
- channels="$OPTARG"
- ;;
- s)
- server="$OPTARG"
- ;;
- *)
- usage $0
- ;;
+ a) export ANNNA_IRCBASE="$OPTARG";;
+ c) channels="$OPTARG" ;;
+ s) export IRC_SERVER="$OPTARG";;
+ *) usage $0;;
esac
done
shift $(expr $OPTIND - 1)
-
[ -z "$channels" ] && usage $0
-# If annna is not alive, do not bother.
+[ -z "${ANNNA_BASE}" ] && export ANNNA_BASE="/home/annna/annna"
+[ -z "${ANNNA_IRCBASE}" ] && export ANNNA_IRCBASE="$(cat "$ANNNA_BASE/ircbase"…
+[ -z "${ANNNA_MODBASE}" ] && export ANNNA_MODBASE="$(cat "$ANNNA_BASE/modbase"…
+[ -z "${ANNNA_BINBASE}" ] && export ANNNA_BINBASE="$(cat "$ANNNA_BASE/binbase"…
+export PATH="$PATH:${ANNNA_BINBASE}"
+
annna-alive || exit 0
-[ -e "${ircbase}/annna-is-sleeping" ] && exit 0
+annna-sleeps && exit 0
for c in $channels;
do
@@ -56,12 +47,12 @@ do
cname="$(printf "%s\n" "${c}" | cut -d'/' -f 2)"
;;
*)
- cserver="${server}"
+ cserver="${IRC_SERVER}"
cname="${c}"
;;
esac
- ircpath="${ircbase}/${cserver}/${cname}"
+ ircpath="${ANNNA_IRCBASE}/${cserver}/${cname}"
if [ -e "$ircpath/in" ];
then
case "${outfile}" in
@@ -74,7 +65,7 @@ do
;;
esac
else
- ircpath="${ircbase}/${cserver}"
+ ircpath="${ANNNA_IRCBASE}/${cserver}"
# Might be a user. Do not bother with outfile, he/she is not i…
printf "%s\n" "$@" \
| fold -w 250 -s \
diff --git a/annna-sleeps b/annna-sleeps
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# Check if annna sleeps.
+# Use it this way:
+#
+# if annna-sleeps; then do-something; fi
+#
+
+set -x
+
+[ -f "${ANNNA_BASE}/sleeping" ] && exit 0
+exit 1
+
diff --git a/annna-start b/annna-start
@@ -1,24 +1,48 @@
#!/bin/sh
-export PATH="$PATH:/home/annna/bin"
+set -x
-#cfgbase="$(pwd)"
-cfgbase="$HOME/annna"
-touch ${cfgbase}/running
+if [ $# -lt 1 ];
+then
+ printf "usage: %s cfgdir\n" "$(basename "$0")" >&2
+ exit 1
+fi
-cd ${cfgbase}
-for server in $(find . -maxdepth 1 -type d | tail -n +2 | cut -c 3-);
-do
- [ ! -f ${server}/autoconnect ] && continue
+export ANNNA_BASE="$1"
+[ ! -d "${ANNNA_BASE}" ] && printf "%s not a directory.\n" "${ANNNA_BASE}" >&2…
+
+[ ! -e "${ANNNA_BASE}/binbase" ] && printf "No /binbase exists.\n" >&2 && exit…
+export ANNNA_BINBASE="$(cat "${ANNNA_BASE}/binbase")"
+[ ! -d "${ANNNA_BINBASE}" ] && printf "%s not a directory.\n" "${ANNNA_BINBASE…
- channels="$(cat ${server}/channels | tr '\n' ' ')"
+[ ! -e "${ANNNA_BASE}/modbase" ] && printf "No /modbase exists.\n" >&2 && exit…
+export ANNNA_MODBASE="$(cat "${ANNNA_BASE}/modbase")"
+[ ! -d "${ANNNA_MODBASE}" ] && printf "%s not a directory.\n" "${ANNNA_MODBASE…
- usetls=0
- [ -f ${server}/usetls ] && usetls=1
+[ ! -e "${ANNNA_BASE}/ircbase" ] && printf "No /ircbase exists.\n" >&2 && exit…
+export ANNNA_IRCBASE="$(cat "${ANNNA_BASE}/ircbase")"
+[ ! -d "${ANNNA_IRCBASE}" ] && printf "%s not a directory.\n" "${ANNNA_IRCBASE…
- port=6697
- [ -f ${server}/port ] && port="$(cat ${server}/port)"
+export PATH="$PATH:${ANNNA_BINBASE}"
- annna-start-main "${server}" "${usetls}" "${port}" "${channels}"
+cd "${ANNNA_BASE}"
+touch running
+for server in $(find . -maxdepth 1 -type d | tail -n +2 | cut -c 3-);
+do
+ export IRC_SERVER="${server}"
+ [ ! -f ${server}/autoconnect ] && continue
+ export IRC_CHANNELS="$(cat ${server}/channels | tr '\n' ' ')"
+ export IRC_TLS=0
+ [ -f ${server}/tls ] && export IRC_TLS=1
+ export IRC_PORT=6667
+ [ -f ${server}/port ] && export IRC_PORT="$(cat ${server}/port)"
+ export IRC_USER="annna"
+ [ -f ${server}/user ] && export IRC_USER="$(cat ${server}/user)"
+ export IRC_PASS=
+ [ -f ${server}/pass ] && export IRC_PASS="$(cat ${server}/pass)"
+ export IRC_NAME="Gode"
+ [ -f ${server}/name ] && export IRC_NAME="$(cat ${server}/name)"
+
+ annna-start-server
done
diff --git a/annna-start-main b/annna-start-main
@@ -1,113 +0,0 @@
-#!/bin/sh
-
-export PATH="$PATH:/home/annna/bin"
-
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-
-server="$1"
-usetls="$2"
-[ $usetls -gt 0 ] && tlsparam=" -v -t"
-port="$3"
-channels="$4"
-
-maxtries=10
-maxnicktries=5
-{
- nicktries=0
- iipid=0
- while [ -f ${cfgbase}/running ];
- do
- # Connect
- #socat openssl:${server}:6697,keepalive,keepcnt=5,keepidle=1,k…
- # unix-l:${ircbase}/${server}/sock &
- #while [ ! -e ${ircbase}/${server}/sock ];
- #do
- # [ -z "$(pgrep socat)" ] && exit 1
- # sleep 0.5
- #done
-
- rm -rf ${ircbase}/${server}
- mkdir -p ${ircbase}/${server}
-
- # Connection
- export ircuser="$(cat ${cfgbase}/${server}/ircuser)"
- [ -n "${ircuser}" ] && ircuserparam=" -n ${ircuser}"
-
- export ircpass="$(cat ${cfgbase}/${server}/ircpass 2>/dev/null…
- ircpassparam=""
- [ -n "${ircpass}" ] && ircpassparam=" -k ircpass"
-
- if [ -f ${cfgbase}/${server}/fullname ];
- then
- fullname="$(cat ${cfgbase}/${server}/fullname)"
- else
- fullname="Gode"
- fi
-
- # For debugging.
- #ii -s "${server}"${ircpassparam}${ircuserparam}${tlsparam} \
- # -f "${fullname}" -p ${port} &
-
- [ $iipid -gt 0 ] && kill -KILL $iipid >/dev/null 2>&1
-
- ii -s "${server}"${ircpassparam}${ircuserparam}${tlsparam} \
- -f "${fullname}" -p ${port} >/dev/null 2>&1 &
- #ii -s "${server}"${ircpassparam}${ircuserparam}${tlsparam} \
- # -f "${fullname}" -p ${port}
- iipid=$!
-
- sleep 5
-
- tries=0
- ## Waiting for the socket to be available.
- while [ ! -e ${ircbase}/${server}/out ];
- do
- kill -0 $iipid >/dev/null 2>&1 || exit 1
- [ ! -f ${cfgbase}/running ] && exit 1
- tries=$(($tries + 1))
- [ $tries -gt $maxtries ] && break
- sleep 4
- done
- [ $tries -gt $maxtries ] && continue
-
- # 433: Nickname is already in use.
- if [ -n "$(grep " 433 " ${ircbase}/${server}/out)" ];
- then
- nicktries=$(($nicktries + 1))
- [ $nicktries -gt $maxnicktries ] && exit 3
- sleep 30
- continue
- fi
-
- tries=0
- # Check for end of motd.
- while [ -z "$(grep " 376 " ${ircbase}/${server}/out)" ];
- do
- [ ! -f ${cfgbase}/running ] && exit 1
- # Sometimes the connection is too fast and the ii USER
- # and NICK is slurped.
- printf "USER %s\r\nUSER %s localhost %s :%s" \
- "${ircuser}" "${ircuser}" "$(hostname)" \
- "${fullname}" \
- > "${ircbase}/${server}/in"
- tries=$(($tries + 1))
- [ $tries -gt $maxtries ] && break
- sleep 2
- done
- [ $tries -gt $maxtries ] && continue
-
- {
- annna-join-channels "${server}" "${channels}"
- } &
-
- # Watch for ii to exit. Then remove the used directory to have…
- # services disappear.
- while kill -0 $iipid >/dev/null 2>&1;
- do
- sleep 30
- done
- rm -rf ${ircbase}/${server}
- done
-} &
-
diff --git a/annna-start-server b/annna-start-server
@@ -0,0 +1,83 @@
+#!/bin/sh
+
+set -x
+
+maxtries=10
+maxnicktries=5
+#{
+ nicktries=0
+ iipid=0
+ while annna-alive;
+ do
+ export IRC_SERVERBASE="${ANNNA_IRCBASE}/${IRC_SERVER}"
+ rm -rf "${IRC_SERVERBASE}"
+ mkdir -p "${IRC_SERVERBASE}"
+
+ [ $IRC_TLS -gt 0 ] && tlsparam=" -v -t"
+ [ -n "${IRC_USER}" ] && ircuserparam=" -n ${IRC_USER}"
+ ircpassparam=""
+ [ -n "${IRC_PASS}" ] && ircpassparam=" -k IRC_PASS"
+ # For debugging.
+ #ii -s "${IRC_SERVER}"${ircpassparam}${ircuserparam}${tlsparam…
+ # -f "${fullname}" -p ${IRC_PORT} &
+
+ [ $iipid -gt 0 ] && kill -KILL $iipid >/dev/null 2>&1
+ ii -s "${IRC_SERVER}"${ircpassparam}${ircuserparam}${tlsparam}…
+ -f "${IRC_NAME}" -p ${IRC_PORT} >/dev/null 2>&1 &
+ #ii -s "${IRC_SERVER}"${ircpassparam}${ircuserparam}${tlsparam…
+ # -f "${fullname}" -p ${IRC_PORT}
+ iipid=$!
+ sleep 5
+
+ tries=0
+ ## Waiting for the socket to be available.
+ while [ ! -e "${IRC_SERVERBASE}/out" ];
+ do
+ kill -0 $iipid >/dev/null 2>&1 || exit 1
+ annna-alive || exit 1
+ tries=$(($tries + 1))
+ [ $tries -gt $maxtries ] && break
+ sleep 4
+ done
+ [ $tries -gt $maxtries ] && continue
+
+ # 433: Nickname is already in use.
+ if [ -n "$(grep " 433 " "${IRC_SERVERBASE}/out")" ];
+ then
+ nicktries=$(($nicktries + 1))
+ [ $nicktries -gt $maxnicktries ] && exit 3
+ sleep 30
+ continue
+ fi
+
+ tries=0
+ # Check for end of motd.
+ while [ -z "$(grep " 376 " "${IRC_SERVERBASE}/out")" ];
+ do
+ annna-alive || exit 1
+ # Sometimes the connection is too fast and the ii USER
+ # and NICK is slurped.
+ printf "USER %s\r\nUSER %s localhost %s :%s" \
+ "${IRC_USER}" "${IRC_USER}" "$(hostname)" \
+ "${IRC_NAME}" \
+ > "${ANNNA_IRCBASE}/${IRC_SERVER}/in"
+ tries=$(($tries + 1))
+ [ $tries -gt $maxtries ] && break
+ sleep 2
+ done
+ [ $tries -gt $maxtries ] && continue
+
+ #{
+ annna-join-channels
+ #} &
+
+ # Watch for ii to exit. Then remove the used directory to have…
+ # services disappear.
+ while kill -0 $iipid >/dev/null 2>&1;
+ do
+ sleep 30
+ done
+ rm -rf "${IRC_SERVERBASE}"
+ done
+#} &
+
diff --git a/annna-start-service b/annna-start-service
@@ -1,35 +1,22 @@
#!/bin/sh
-if [ $# -lt 2 ];
-then
- printf "usage: %s server channel\n" "$(basename "$0")"
- exit 1
-fi
-server="$1"
-channel="$2"
-
-export PATH="$PATH:/home/annna/bin"
-
-cfgbase="$(pwd)"
-ircbase="$(cat ${cfgbase}/ircbase)"
-serverbase="${ircbase}/${server}"
+set -x
# Permissions
-[ -d ${ircbase} ] && chmod o+rx ${ircbase}
-[ -d ${serverbase} ] && chmod o+rx ${serverbase}
-
+[ -d ${ANNNA_IRCBASE} ] && chmod o+rx ${ANNNA_IRCBASE}
+[ -d ${IRC_SERVERBASE} ] && chmod o+rx ${IRC_SERVERBASE}
## Channel handlers
-[ -d "${serverbase}/${channel}" ] \
- && chmod o+rx "${serverbase}/${channel}"
+[ -d "${IRC_SERVERBASE}/${IRC_CHANNEL}" ] \
+ && chmod o+rx "${IRC_SERVERBASE}/${IRC_CHANNEL}"
# For annna-say.
-[ -p "${serverbase}/${channel}/in" ] \
- && chmod o+w "${serverbase}/${channel}/in"
+[ -p "${IRC_SERVERBASE}/${IRC_CHANNEL}/in" ] \
+ && chmod o+w "${IRC_SERVERBASE}/${IRC_CHANNEL}/in"
# For annna-cmd.
-[ -f "${serverbase}/${channel}/out" ] \
- && chmod o+w "${serverbase}/${channel}/out"
+[ -f "${IRC_SERVERBASE}/${IRC_CHANNEL}/out" ] \
+ && chmod o+w "${IRC_SERVERBASE}/${IRC_CHANNEL}/out"
-if [ -f "${serverbase}/${channel}/out" ];
+if [ -f "${IRC_SERVERBASE}/${IRC_CHANNEL}/out" ];
then
- annna-channel-service "${server}" "${channel}" &
+ annna-channel-service &
fi
diff --git a/stable-diffusion-emoji b/stable-diffusion-emoji
@@ -7,8 +7,6 @@ then
exit 1
fi
-export PATH="$HOME/bin:$PATH"
-
emojidb="/br/gopher/emoji"
emojiuribase="gophers://bitreich.org/I/emoji"
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.