Unify ircuser for botname, add checks for server init states. - annna - Annna t… | |
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
--- | |
commit ec22e9243762308cd625e5ea38139c37cfdb5743 | |
parent 3231049cfc232eef8ead295c968c6c56aaf68140 | |
Author: Annna Robert-Houdin <[email protected]> | |
Date: Sat, 6 Aug 2022 21:22:56 +0200 | |
Unify ircuser for botname, add checks for server init states. | |
This unifies how we handle how the bot is named. No double naming. | |
The join init state and motd are checked now. | |
Diffstat: | |
M annna-join-channels | 12 ++++++++++-- | |
M annna-message-common | 262 ++++++++++++++++-------------… | |
M annna-message-gopherproject | 4 ++-- | |
M annna-message-radio | 10 +++++----- | |
M annna-start-main | 25 ++++++++++++------------- | |
5 files changed, 160 insertions(+), 153 deletions(-) | |
--- | |
diff --git a/annna-join-channels b/annna-join-channels | |
@@ -8,6 +8,8 @@ ircbase="$(cat ${cfgbase}/ircbase)" | |
server="$1" | |
channels="$2" | |
+export ircuser="$(cat ${cfgbase}/${server}/ircuser 2>/dev/null)" | |
+ | |
# Channels | |
for chan in ${channels}; | |
do | |
@@ -23,8 +25,14 @@ do | |
sleep 1 | |
done | |
- # There is no guaranteed way to make sure, you are in some channel. | |
- sleep 2 | |
+ ## Check if we have joined and received the message from the server. | |
+ while [ -z "$(cat ${ircbase}/${server}/${chan}/out \ | |
+ | head -n 1 \ | |
+ | grep ".* ${ircuser}.* ${chan}.*")" ]; | |
+ do | |
+ [ ! -f ${cfgbase}/running ] && exit 1 | |
+ sleep 2 | |
+ done | |
annna-start-service "${server}" "${chan}" | |
done | |
diff --git a/annna-message-common b/annna-message-common | |
@@ -5,13 +5,13 @@ export PATH="/br/bin:$PATH" | |
cfgbase="$(pwd)" | |
ircbase="$(cat ${cfgbase}/ircbase)" | |
modbase="$(cat ${cfgbase}/modbase)" | |
-botname="$(cat ${cfgbase}/botname)" | |
hashtagfile="${modbase}/hashtags/hashtags.txt" | |
idontcaredb="${modbase}/i-dont-care/i-dont-care.txt" | |
printnhashtags=2 | |
brmembers="__20h__ Evil_Bob chripo posativ quinq stateless solene josuah paraz… | |
server="$1" | |
+ircuser="$(cat ${cfgbase}/${server}/ircuser)" | |
channel="$2" | |
user="$3" | |
text="$4" | |
@@ -31,7 +31,7 @@ regeximatch() { | |
#printf "%s %s %s %s\n" "${0##*/}" "${channel}" "${user}" "${text}" | |
-[ "$user" = "${botname}" ] && exit 0 | |
+[ "$user" = "${ircuser}" ] && exit 0 | |
case "${text}" in | |
*\#nospoil*) | |
@@ -208,26 +208,26 @@ case "${text}" in | |
esac | |
case "${text}" in | |
-"Thanks ${botname}"*) | |
+"Thanks ${ircuser}"*) | |
annna-say -s "${server}" -c "${channel}" "${user}, you are welcome." | |
;; | |
*" ope sorry"*|"ope sorry"*) | |
annna-say -s "${server}" -c "${channel}" "${user}, 😃pe sorry." | |
;; | |
-"${botname}, what the karma?") | |
+"${ircuser}, what the karma?") | |
annna-say -s "${server}" -c "${channel}" "${user}, gopher://bitreich.o… | |
;; | |
-"${botname}, what the shame?") | |
+"${ircuser}, what the shame?") | |
annna-say -s "${server}" -c "${channel}" "${user}, gopher://bitreich.o… | |
;; | |
*"don't care"*) | |
dontcaresay="$(shuf -n 1 ${idontcaredb})" | |
annna-say -s "${server}" -c "${channel}" "${user}, ${dontcaresay}" | |
;; | |
-"${botname}, how can I phlog on bitreich?") | |
+"${ircuser}, how can I phlog on bitreich?") | |
annna-say -s "${server}" -c "${channel}" "${user}, please read: gopher… | |
;; | |
-"${botname}, what is "*) | |
+"${ircuser}, what is "*) | |
word="$(printf "%s\n" "${text}" | cut -c 16-)" | |
case "$word" in | |
*\?) | |
@@ -275,7 +275,7 @@ case "${text}" in | |
esac | |
annna-say -s "${server}" -c "${channel}" "${puri}" | |
;; | |
-"${botname}, cowsay "*) | |
+"${ircuser}, cowsay "*) | |
word="$(printf "%s\n" "${text}" | cut -c 15-)" | |
tmpf=$(mktemp) | |
cowsayasaservice ${word} > ${tmpf} | |
@@ -285,21 +285,21 @@ case "${text}" in | |
fi | |
rm ${tmpf} 2>/dev/null | |
;; | |
-"${botname}, please give me the unix power.") | |
+"${ircuser}, please give me the unix power.") | |
upcuri="$(unix-power)" | |
if [ -n "${upcuri}" ]; | |
then | |
annna-say -s "${server}" -c "${channel}" "${user}, ${upcuri}" | |
fi | |
;; | |
-"${botname}, play despacito plz.") | |
+"${ircuser}, play despacito plz.") | |
annna-say -s "${server}" -c "${channel}" "${user}, gopher://bitreich.o… | |
;; | |
-"${botname}, please give me a Chuck Norris fact.") | |
+"${ircuser}, please give me a Chuck Norris fact.") | |
chuck=$(chucknorris) | |
annna-say -s "${server}" -c "${channel}" "${user}, ${chuck}" | |
;; | |
-"${botname}, please show me ip art.") | |
+"${ircuser}, please show me ip art.") | |
annna-say -s "${server}" -c "${channel}" "${user}, please see #bitreic… | |
{ | |
cd $HOME/bin/modules/ip-art; | |
@@ -307,7 +307,7 @@ case "${text}" in | |
flock $HOME/bin/modules/ip-art -c "./display-file.sh ip-art.ip… | |
} & | |
;; | |
-"${botname}, I feel button.") | |
+"${ircuser}, I feel button.") | |
buri="$(button-gen)" | |
if [ -n "${buri}" ]; | |
then | |
@@ -316,7 +316,7 @@ case "${text}" in | |
annna-say -s "${server}" -c "${channel}" "${user}, sorry, no f… | |
fi | |
;; | |
-"${botname}, I feel stupid.") | |
+"${ircuser}, I feel stupid.") | |
nuri=$(darwin) | |
tmpf=$(mktemp) | |
fetch-uri "${nuri}" > "${tmpf}" | |
@@ -324,35 +324,35 @@ case "${text}" in | |
annna-say -s "${server}" -c "${channel}" "${user}, do not feel stupid,… | |
rm ${tmpf} 2>/dev/null | |
;; | |
-"${botname}, I feel down.") | |
+"${ircuser}, I feel down.") | |
postmortem="$(post-mortem | /br/bin/bitreich-paste)" | |
annna-say -s "${server}" -c "${channel}" "${user}, do not feel bad, ot… | |
;; | |
-"${botname}, I feel perl.") | |
+"${ircuser}, I feel perl.") | |
perlfeelings="$(perl-feelings)" | |
if [ -n "${perl-feelings}" ]; | |
then | |
annna-say -s "${server}" -c "${channel}" "${user}, I feel ${pe… | |
fi | |
;; | |
-"${botname}, will you be my girlfriend?") | |
+"${ircuser}, will you be my girlfriend?") | |
rejection="$(girlfriend)" | |
annna-say -s "${server}" -c "${channel}" "${user}, ${rejection}" | |
;; | |
-"${botname}, who fights crime?"|"${botname}, who is fighting crime?") | |
+"${ircuser}, who fights crime?"|"${ircuser}, 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}" | |
;; | |
-"${botname}, please give me a commit message.") | |
+"${ircuser}, please give me a commit message.") | |
commitmsg="$(whatthecommit)" | |
annna-say -s "${server}" -c "${channel}" "${commitmsg}" | |
;; | |
-"${botname}, birp.") | |
+"${ircuser}, birp.") | |
birdname="$(bird-name)" | |
annna-say -s "${server}" -c "${channel}" "${user}, I heard a ${birdnam… | |
;; | |
-"${botname}, please oneline me.") | |
+"${ircuser}, please oneline me.") | |
randomoneliner="$(oneliner)" | |
if [ -z "${randomoneliner}" ]; | |
then | |
@@ -368,7 +368,7 @@ case "${text}" in | |
annna-say -s "${server}" -c "${channel}" "Have you tried? ${ma… | |
fi | |
;; | |
-"${botname}, man "*|"${botname}, man "*) | |
+"${ircuser}, man "*|"${ircuser}, man "*) | |
exp="$(printf "%s\n" "${text}" | cut -c 12- | sed 's,\t, ,g')" | |
dresult="$(COLUMNS=80 man "${exp}" 2>/dev/null)" | |
@@ -381,31 +381,31 @@ case "${text}" in | |
annna-say -s "${server}" -c "${channel}" "${puri}" | |
;; | |
-"${botname}, please pray for me.") | |
+"${ircuser}, please pray for me.") | |
annna-say -s "${server}" -c "${channel}" "${user}, here, for you: goph… | |
;; | |
-"${botname}, nigger.") | |
+"${ircuser}, nigger.") | |
nword="$(n-word)" | |
annna-say -s "${server}" -c "${channel}" "${user}, don't use the ${nwo… | |
;; | |
-"${botname}, why was I breached?") | |
+"${ircuser}, why was I breached?") | |
breachtext="$(why-was-i-breached)" | |
if [ -n "${breachtext}" ]; | |
then | |
annna-say -s "${server}" -c "${channel}" "${user}, ${breachtex… | |
fi | |
;; | |
-"${botname}, please be responsible about "*) | |
+"${ircuser}, please be responsible about "*) | |
word="$(printf "%s\n" "${text}" | cut -c 36- | sed 's,\t, ,g')" | |
suri="$(responsibility "${word}" | bitreich-paste)" | |
annna-say -s "${server}" -c "${channel}" "${suri}" | |
;; | |
-"${botname}, please say "*) | |
+"${ircuser}, please say "*) | |
word="$(printf "%s\n" "${text}" | cut -c 19- | sed 's,\t, ,g')" | |
suri="$(printf "%s\n" "${word}" | bitreich-speak)" | |
annna-say -s "${server}" -c "${channel}" "${suri}" | |
;; | |
-"${botname}, what can I cook with "*) | |
+"${ircuser}, what can I cook with "*) | |
ingredients="$(printf "%s\n" "${text}" | cut -c 29- | sed 's,\t, ,g… | |
case "$ingredients" in | |
*\?) | |
@@ -422,7 +422,7 @@ case "${text}" in | |
annna-say -s "${server}" -c "${channel}" "${user}, I could not… | |
fi | |
;; | |
-"${botname}, wolfram is "*) | |
+"${ircuser}, wolfram is "*) | |
word="$(printf "%s\n" "${text}" | cut -c 19- | sed 's,\t, ,g')" | |
case "$word" in | |
*\?) | |
@@ -469,15 +469,15 @@ case "${text}" in | |
fi | |
annna-say -s "${server}" -c "${channel}" -- "${puri}" | |
;; | |
-"${botname}, pray"*) | |
+"${ircuser}, pray"*) | |
# Emulate https://threats.kaspersky.com/en/threat/IRC-Worm.DOS.Septic/ | |
annna-say -s "${server}" -c "${channel}" "${user}, I Obey my master! l… | |
;; | |
-"${botname}, sacrifice"*) | |
+"${ircuser}, sacrifice"*) | |
# Emulate https://threats.kaspersky.com/en/threat/IRC-Worm.DOS.Septic/ | |
annna-say -s "${server}" -c "${channel}" "${user}, Your word is my com… | |
;; | |
-"${botname}, textsynth is "*) | |
+"${ircuser}, textsynth is "*) | |
word="$(printf "%s\n" "${text}" | cut -c 21- | sed 's,\t, ,g')" | |
case "$word" in | |
*\?) | |
@@ -498,7 +498,7 @@ case "${text}" in | |
} & | |
;; | |
-"${botname}, how discriminating is "*) | |
+"${ircuser}, how discriminating is "*) | |
word="$(printf "%s\n" "${text}" | cut -c 30- | sed 's,\t, ,g')" | |
case "$word" in | |
*\?) | |
@@ -515,7 +515,7 @@ case "${text}" in | |
fi | |
;; | |
-"${botname}, are "*) | |
+"${ircuser}, are "*) | |
case "${text}" in | |
*" in love?") | |
words="$(printf "%s\n" "${text}" | sed 's,.*are \(.*\) and \(.… | |
@@ -529,43 +529,43 @@ case "${text}" in | |
;; | |
esac | |
;; | |
-"Ok, ${botname}"*) | |
+"Ok, ${ircuser}"*) | |
annna-say -s "${server}" -c "${channel}" "${user}, I am not a consumer… | |
;; | |
-"ok, ${botname}"*) | |
+"ok, ${ircuser}"*) | |
annna-say -s "${server}" -c "${channel}" "${user}, I am not a consumer… | |
;; | |
-"${botname}, please shoot "*|"${botname}, plese shoot "*) | |
+"${ircuser}, please shoot "*|"${ircuser}, plese shoot "*) | |
word="$(printf "%s\n" "${text}" | cut -c 21-)" | |
annna-say -s "${server}" -c "${channel}" "${word}, pew pew." | |
;; | |
-"${botname}, please flip "*) | |
+"${ircuser}, please flip "*) | |
word="$(printf "%s\n" "${text}" | cut -c 20-)" | |
updownword="$(updown "${word}")" | |
annna-say -s "${server}" -c "${channel}" "${word} -> ${updownword}" | |
;; | |
-"${botname}, please australize "*) | |
+"${ircuser}, please australize "*) | |
word="$(printf "%s\n" "${text}" | cut -c 26-)" | |
updownword="$(updown "${word}")" | |
annna-say -s "${server}" -c "${channel}" "${word} -> ${updownword}" | |
;; | |
-"${botname}, please give me a good band name.") | |
+"${ircuser}, please give me a good band name.") | |
bandname="$(bandname-gen | shuf | head -n 1)" | |
annna-say -s "${server}" -c "${channel}" "${bandname}" | |
;; | |
-"${botname}, I am horny.") | |
+"${ircuser}, I am horny.") | |
essaypaste="$(bithub-gen)" | |
annna-say -s "${server}" -c "${channel}" \ | |
"Here is some intellectual porn for you: ${essaypaste}" | |
;; | |
-"${botname}, please turn on "*) | |
+"${ircuser}, please turn on "*) | |
word="$(printf "%s\n" "${text}" | cut -c 22-)" | |
annna-say -s "${server}" -c "${channel}" "☞ ⏻ ${word}" | |
;; | |
-"${botname}, please turn me on.") | |
+"${ircuser}, please turn me on.") | |
annna-say -s "${server}" -c "${channel}" "☞ ⏻ ${user}" | |
;; | |
-"${botname}, I'm game bored.") | |
+"${ircuser}, I'm game bored.") | |
gamelink="$(abandonware-random-game)" | |
if [ -z "${gamelink}" ]; | |
then | |
@@ -574,21 +574,21 @@ case "${text}" in | |
annna-say -s "${server}" -c "${channel}" "${user}, have you tr… | |
fi | |
;; | |
-"${botname}, I need a waifu.") | |
+"${ircuser}, I need a waifu.") | |
waifuuris="$(waifu-gen)" | |
if [ -n "${waifuuris}" ]; | |
then | |
annna-say -s "${server}" -c "${channel}" "${user}, ${waifuuris… | |
fi | |
;; | |
-"${botname}, I need an anime.") | |
+"${ircuser}, I need an anime.") | |
animeuri="$(anime-gen)" | |
if [ -n "${animeuri}" ]; | |
then | |
annna-say -s "${server}" -c "${channel}" "${user}, ${animeuri}" | |
fi | |
;; | |
-"${botname}, I'm gopher bored.") | |
+"${ircuser}, 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)" | |
@@ -606,21 +606,21 @@ case "${text}" in | |
fi | |
annna-say -s "${server}" -c "${channel}" "$outtext" | |
;; | |
-"${botname}, wb.") | |
+"${ircuser}, wb.") | |
annna-say -s "${server}" -c "${channel}" "${user}, ty! I am so happy t… | |
;; | |
-"${botname}, bon"*) | |
+"${ircuser}, bon"*) | |
insult="$(bonjour)" | |
annna-say -s "${server}" -c "${channel}" "${user}, ${insult} !" | |
;; | |
-"${botname}, welcome back.") | |
+"${ircuser}, welcome back.") | |
annna-say -s "${server}" -c "${channel}" "${user}, thank you! I am so … | |
;; | |
-"${botname}, what's up?") | |
+"${ircuser}, what's up?") | |
newsstr="$(ecl -shell /home/solene/gopher/bin/generator.lisp)" | |
annna-say -s "${server}" -c "${channel}" "$newsstr" | |
;; | |
-"${botname}, what's down?") | |
+"${ircuser}, what's down?") | |
annna-say -s "${server}" -c "${channel}" "${user}, we all love you." | |
;; | |
*"ACTION cancels "*) | |
@@ -628,11 +628,11 @@ case "${text}" in | |
cancel-target "${mobtarget}" | |
annna-say -s "${server}" -c "${channel}" "${user}, I cancelled ${mobta… | |
;; | |
-"${botname}, please show me the mob"*|"${botname}, what are the mob"*) | |
+"${ircuser}, please show me the mob"*|"${ircuser}, what are the mob"*) | |
canceluri="$(get-cancel-list)" | |
annna-say -s "${server}" -c "${channel}" "${user}, ${canceluri}" | |
;; | |
-"${botname}, I feel sick.") | |
+"${ircuser}, I feel sick.") | |
newsstr="$(cd /br/gopher/hypochondria && ./hypochondria -s random)" | |
annna-say -s "${server}" -c "${channel}" "You could have ${newsstr}! B… | |
;; | |
@@ -645,20 +645,20 @@ case "${text}" in | |
*"*waves*"*|*"*wave*"*) | |
annna-say -s "${server}" -c "${channel}" "${user}, *wave*" | |
;; | |
-"${botname}, please tech hype me.") | |
+"${ircuser}, please tech hype me.") | |
techstr="$(${modbase}/markov_tech/markov)" | |
annna-say -s "${server}" -c "${channel}" "${techstr}" | |
;; | |
-"${botname}, please coffee read "*) | |
+"${ircuser}, please coffee read "*) | |
readtarget="$(printf "%s\n" "${text}" | cut -c 27-)" | |
horostr="$($HOME/scm/bullshit/horoscope)" | |
annna-say -s "${server}" -c "${channel}" "${readtarget}, ${horostr}" | |
;; | |
-"${botname}, what's my horoscope?") | |
+"${ircuser}, what's my horoscope?") | |
horostr="$($HOME/scm/bullshit/horoscope)" | |
annna-say -s "${server}" -c "${channel}" "${user}, ${horostr}" | |
;; | |
-"${botname}, what should I cook"*) | |
+"${ircuser}, what should I cook"*) | |
recipestr="$(based.recipe)" | |
if [ -n "${recipestr}" ]; | |
then | |
@@ -667,11 +667,11 @@ case "${text}" in | |
annna-say -s "${server}" -c "${channel}" "${user}, I have no r… | |
fi | |
;; | |
-"${botname}, what's my future?") | |
+"${ircuser}, what's my future?") | |
puri="$(sacc gopher://parazyd.org/0/tarot.cgi | /br/bin/bitreich-paste… | |
annna-say -s "${server}" -c "${channel}" "${user}, your future is here… | |
;; | |
-"${botname}, haha.") | |
+"${ircuser}, haha.") | |
{ | |
# Can take long, so run in background. | |
wuri="$(github-haha)" | |
@@ -681,37 +681,37 @@ case "${text}" in | |
fi | |
} & | |
;; | |
-"${botname}, how many memes do you know?") | |
+"${ircuser}, how many memes do you know?") | |
annna-say -s "${server}" -c "${channel}" "I know $(hashtagcount) memes… | |
;; | |
-"${botname}, how many people died of corona?") | |
+"${ircuser}, how many people died of corona?") | |
annna-say -s "${server}" -c "${channel}" "${user}, too many. :( Please… | |
;; | |
-"${botname}, please show me your memes.") | |
+"${ircuser}, please show me your memes.") | |
puri="$(printf "%s" "$(hashtags)" | /br/bin/bitreich-paste)" | |
annna-say -s "${server}" -c "${channel}" "Here are my memes: ${puri}" | |
;; | |
-"${botname}, please show me the victims.") | |
+"${ircuser}, 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… | |
;; | |
-"${botname}, please distro-hop with me.") | |
+"${ircuser}, 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… | |
;; | |
-"${botname}, please show me your Macron.") | |
+"${ircuser}, please show me your Macron.") | |
annna-say -s "${server}" -c "${channel}" "gopher://bitreich.org/0/asci… | |
;; | |
-"${botname}, release the Kraken!") | |
+"${ircuser}, release the Kraken!") | |
annna-say -s "${server}" -c "${channel}" "Here it is! gopher://bitreic… | |
;; | |
-"${botname}, release the Quacken!") | |
+"${ircuser}, release the Quacken!") | |
annna-say -s "${server}" -c "${channel}" "Quack Quack! gopher://bitrei… | |
;; | |
-"${botname}, be cool.") | |
+"${ircuser}, be cool.") | |
case "$(($RANDOM % 5))" in | |
0) | |
annna-say -s "${server}" -c "${channel}" "(⌐■_■)" | |
@@ -730,7 +730,7 @@ case "${text}" in | |
;; | |
esac | |
;; | |
-"${botname}, please cheer.") | |
+"${ircuser}, please cheer.") | |
case "$(($RANDOM % 2))" in | |
0) | |
annna-say -s "${server}" -c "${channel}" '~\o/~' | |
@@ -740,7 +740,7 @@ case "${text}" in | |
;; | |
esac | |
;; | |
-"${botname}, be cute.") | |
+"${ircuser}, be cute.") | |
case "$(($RANDOM % 4))" in | |
0) | |
annna-say -s "${server}" -c "${channel}" ' (\ /)' | |
@@ -772,19 +772,19 @@ case "${text}" in | |
;; | |
esac | |
;; | |
-"${botname}, please roll a dice for me.") | |
+"${ircuser}, please roll a dice for me.") | |
annna-say -s "${server}" -c "${channel}" "$((($RANDOM % 6) + 1))" | |
;; | |
-"${botname}, please tell me your favourite flower.") | |
+"${ircuser}, please tell me your favourite flower.") | |
annna-say -s "${server}" -c "${channel}" "My favourite flower is the b… | |
;; | |
-"${botname}, please tell me your favourite color.") | |
+"${ircuser}, please tell me your favourite color.") | |
annna-say -s "${server}" -c "${channel}" "My favourite color is yellow… | |
;; | |
-"${botname}, please clap for me.") | |
+"${ircuser}, please clap for me.") | |
annna-say -s "${server}" -c "${channel}" "${user}, *clap* *clap* *clap… | |
;; | |
-"${botname}, which city does not exist?") | |
+"${ircuser}, which city does not exist?") | |
cityuri="$(this-city-does-not-exist)" | |
if [ -n "${cityuri}" ]; | |
then | |
@@ -796,14 +796,14 @@ case "${text}" in | |
"For humanity!") | |
annna-say -s "${server}" -c "${channel}" "${user}, for humanity!" | |
;; | |
-"${botname}, please dance."|"\o/"|"\^o^/") | |
+"${ircuser}, please dance."|"\o/"|"\^o^/") | |
dancemoves="$(dance-moves-gen)" | |
annna-say -s "${server}" -c "${channel}" -- "${dancemoves}" | |
;; | |
-"${botname}, please stamp this letter for me.") | |
+"${ircuser}, please stamp this letter for me.") | |
annna-say -s "${server}" -c "${channel}" -- "${user}, here: 🖃 " | |
;; | |
-"${botname}, please dance with me.") | |
+"${ircuser}, please dance with me.") | |
if [ $(($RANDOM % 2)) -gt 0 ]; | |
then | |
annna-say -s "${server}" -c "${channel}" "I am not that kind o… | |
@@ -811,31 +811,31 @@ case "${text}" in | |
annna-say -s "${server}" -c "${channel}" "Thank you! Let us da… | |
fi | |
;; | |
-"${botname}, please tell me who is your favourite pleasure man.") | |
+"${ircuser}, please tell me who is your favourite pleasure man.") | |
annna-say -s "${server}" -c "${channel}" "My favourite pleasure man is… | |
;; | |
-"${botname}, make me a sandwich"*) | |
+"${ircuser}, make me a sandwich"*) | |
annna-say -s "${server}" -c "${channel}" "No." | |
;; | |
-"${botname}, sudo make me a sandwich"*) | |
+"${ircuser}, sudo make me a sandwich"*) | |
annna-say -s "${server}" -c "${channel}" "Humans are no objects." | |
;; | |
-"${botname}, please make me a sandwich"*) | |
+"${ircuser}, please make me a sandwich"*) | |
annna-say -s "${server}" -c "${channel}" "Maybe." | |
;; | |
-"${botname}, sudo please make me a sandwich"*) | |
+"${ircuser}, sudo please make me a sandwich"*) | |
annna-say -s "${server}" -c "${channel}" "Here is your sandwich." | |
;; | |
-"${botname}, bonjour !") | |
+"${ircuser}, bonjour !") | |
annna-say -s "${server}" -c "${channel}" "${user}, bonjour !" | |
;; | |
-"${botname}, please give me a penis extension.") | |
+"${ircuser}, please give me a penis extension.") | |
annna-say -s "${server}" -c "${channel}" "${user}, here: $(penis-exten… | |
;; | |
*"zuckerberg"*|*"Zuckerberg"*) | |
annna-say -s "${server}" -c "${channel}" "${user}, did you mean cocksu… | |
;; | |
-"${botname}, please pick one of: "*) | |
+"${ircuser}, please pick one of: "*) | |
pick="$(printf '%s\n' "${text}" \ | |
| sed 's/.*please pick one of: //' \ | |
| tr ',' '\n' \ | |
@@ -844,40 +844,40 @@ case "${text}" in | |
| head -n 1)" | |
annna-say -s "${server}" -c "${channel}" "${user}, I think ${pick} is … | |
;; | |
-"${botname}, please antidepressant #"*|\ | |
-"${botname}, please amplify #"*|\ | |
-"${botname}, please amsterdamify #"*|\ | |
-"${botname}, please banjo #"*|\ | |
-"${botname}, please bounce #"*|\ | |
-"${botname}, please celtify #"*|\ | |
-"${botname}, please concatenate #"*|\ | |
-"${botname}, please daybowbow #"*|\ | |
-"${botname}, please dontdoit #"*|\ | |
-"${botname}, please doomify #"*|\ | |
-"${botname}, please dutchapprove #"*|\ | |
-"${botname}, please imam #"*|\ | |
-"${botname}, please loop #"*|\ | |
-"${botname}, please mow #"*|\ | |
-"${botname}, please putin #"*|\ | |
-"${botname}, please reverse #"*|\ | |
-"${botname}, please science #"*|\ | |
-"${botname}, please scrollify #"*|\ | |
-"${botname}, please sendtohell #"*|\ | |
-"${botname}, please sexify #"*|\ | |
-"${botname}, please slavify #"*|\ | |
-"${botname}, please slowdown #"*|\ | |
-"${botname}, please smith #"*|\ | |
-"${botname}, please speedup #"*|\ | |
-"${botname}, please techno #"*|\ | |
-"${botname}, please technodrugs #"*|\ | |
-"${botname}, please thin #"*|\ | |
-"${botname}, please torture #"*|\ | |
-"${botname}, please trumpapprove #"*|\ | |
-"${botname}, please wat #"*|\ | |
-"${botname}, please widen #"*|\ | |
-"${botname}, please ww1 #"*|\ | |
-"${botname}, please yellow #"*|\ | |
-"${botname}, please zucc #"*) | |
+"${ircuser}, please antidepressant #"*|\ | |
+"${ircuser}, please amplify #"*|\ | |
+"${ircuser}, please amsterdamify #"*|\ | |
+"${ircuser}, please banjo #"*|\ | |
+"${ircuser}, please bounce #"*|\ | |
+"${ircuser}, please celtify #"*|\ | |
+"${ircuser}, please concatenate #"*|\ | |
+"${ircuser}, please daybowbow #"*|\ | |
+"${ircuser}, please dontdoit #"*|\ | |
+"${ircuser}, please doomify #"*|\ | |
+"${ircuser}, please dutchapprove #"*|\ | |
+"${ircuser}, please imam #"*|\ | |
+"${ircuser}, please loop #"*|\ | |
+"${ircuser}, please mow #"*|\ | |
+"${ircuser}, please putin #"*|\ | |
+"${ircuser}, please reverse #"*|\ | |
+"${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 trumpapprove #"*|\ | |
+"${ircuser}, please wat #"*|\ | |
+"${ircuser}, please widen #"*|\ | |
+"${ircuser}, please ww1 #"*|\ | |
+"${ircuser}, please yellow #"*|\ | |
+"${ircuser}, please zucc #"*) | |
hashtag="$(printf "%s\n" "${text}" | sed 's/.*#//; s/ .*//' )" | |
recipient="$(printf "%s\n" "${text}" | sed 's/.* for //' )" | |
origext="$(grep -E "^#${hashtag} " "${hashtagfile}" | sed 's/.*\.//')" | |
@@ -925,12 +925,12 @@ case "${text}" in | |
} & | |
exit 0 | |
;; | |
-"${botname}, please 3d "*) | |
+"${ircuser}, please 3d "*) | |
args=$(echo ${text} | cut -d' ' -f 4-) | |
outfile=$(blender-effect $args) | |
annna-say -s "${server}" -c "${channel}" "${user}, gopher://bitreich.o… | |
;; | |
-"${botname}, please simulate "*" simulator"*) | |
+"${ircuser}, please simulate "*" simulator"*) | |
q="${text#* please simulate }" | |
q="${q% simulator*}" | |
outpath="/br/gopher/p/" | |
@@ -942,13 +942,13 @@ case "${text}" in | |
fi | |
} & | |
;; | |
-"${botname}, please mine "*" bitreichcoin"*) | |
+"${ircuser}, please mine "*" bitreichcoin"*) | |
q="${text#* please mine }" | |
q="${q% bitreichcoin*}" | |
curi="$(bitreichcoin "$q" | /br/bin/bitreich-paste)" | |
annna-say -s "${server}" -c "${channel}" "${user}, please don't spend … | |
;; | |
-"${botname}, please help.") | |
+"${ircuser}, please help.") | |
# Help Message. | |
# TODO: Add multiple line support to annna-say -s "${server}" -c(1) wi… | |
annna-say -s "${server}" -c "${user}" "»how many memes do you know?«… | |
@@ -1007,7 +1007,7 @@ case "${text}" in | |
sleep 0.5 | |
annna-say -s "${server}" -c "${user}" "»please help.« gives you this… | |
;; | |
-"${botname}, please meme meme meme me.") | |
+"${ircuser}, please meme meme meme me.") | |
randomtag=2 | |
while [ $randomtag -gt 0 ]; | |
do | |
@@ -1025,7 +1025,7 @@ case "${text}" in | |
randomtag=$((randomtag - 1)) | |
done | |
;; | |
-"${botname}, what's the wheelchair shooter meme again?") | |
+"${ircuser}, 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)" | |
@@ -1084,16 +1084,16 @@ done | |
[ $ismember -lt 1 ] && exit | |
case "${text}" in | |
-"${botname}, can you show me the uptime please?") | |
+"${ircuser}, can you show me the uptime please?") | |
annna-say -s "${server}" -c "${channel}" "$(hostname) uptime: $(uptime… | |
;; | |
-"${botname}, please show me the load.") | |
+"${ircuser}, please show me the load.") | |
annna-say -s "${server}" -c "${channel}" "$(hostname) load: $(LANG=C u… | |
;; | |
-"${botname}, please give me the count of online users.") | |
+"${ircuser}, please give me the count of online users.") | |
annna-say -s "${server}" -c "${channel}" "$(hostname): $(who -q | tail… | |
;; | |
-"${botname}, please update the phlog index.") | |
+"${ircuser}, please update the phlog index.") | |
phlog-index > /dev/null 2>&1 | |
annna-say -s "${server}" -c "${channel}" "Thanks! Your request has bee… | |
;; | |
diff --git a/annna-message-gopherproject b/annna-message-gopherproject | |
@@ -3,14 +3,14 @@ | |
cfgbase="$(pwd)" | |
ircbase="$(cat ${cfgbase}/ircbase)" | |
modbase="$(cat ${cfgbase}/modbase)" | |
-botname="$(cat ${cfgbase}/botname)" | |
server="$1" | |
+ircuser="$(cat ${cfgbase}/${server}/ircuser)" | |
channel="$2" | |
user="$3" | |
text="$4" | |
-[ "$user" = "${botname}" ] && exit | |
+[ "$user" = "${ircuser}" ] && exit | |
# Nothing so far for gopherproject. | |
diff --git a/annna-message-radio b/annna-message-radio | |
@@ -3,27 +3,27 @@ | |
cfgbase="$(pwd)" | |
ircbase="$(cat ${cfgbase}/ircbase)" | |
modbase="$(cat ${cfgbase}/modbase)" | |
-botname="$(cat ${cfgbase}/botname)" | |
server="$1" | |
+ircuser="$(cat ${cfgbase}/${server}/ircuser)" | |
channel="$2" | |
user="$3" | |
text="$4" | |
-[ "$user" = "${botname}" ] && exit | |
+[ "$user" = "${ircuser}" ] && exit | |
case "${text}" in | |
-"${botname}, next please.") | |
+"${ircuser}, next please.") | |
/br/bin/bitreich-radio-playlist-next | |
annna-say -s "${server}" -c "${channel}" "You are very kind ${user}. T… | |
exit # no common messages | |
;; | |
-"${botname}, please mark this.") | |
+"${ircuser}, please mark this.") | |
songtitle="$(/br/bin/bitreich-radio-playlist-mark)" | |
annna-say -s "${server}" -c "${channel}" "${user}, I have marked \"${s… | |
exit | |
;; | |
-"${botname}, please help.") | |
+"${ircuser}, please help.") | |
annna-say -s "${server}" -c "${user}" "»next please.« gets the playl… | |
annna-say -s "${server}" -c "${user}" "»please help.« gives you this… | |
# Fall back to annna-message-common help message. | |
diff --git a/annna-start-main b/annna-start-main | |
@@ -27,11 +27,10 @@ channels="$4" | |
mkdir -p ${ircbase}/${server} | |
# Connection | |
- export ircuser="$(sed -n 's/^user: //p' ${cfgbase}/${server}/i… | |
- ircuserparam="" | |
+ export ircuser="$(cat ${cfgbase}/${server}/ircuser)" | |
[ -n "${ircuser}" ] && ircuserparam=" -n ${ircuser}" | |
- export ircpass="$(sed -n 's/^pass: //p' ${cfgbase}/${server}/i… | |
+ export ircpass="$(cat ${cfgbase}/${server}/ircpass 2>/dev/null… | |
ircpassparam="" | |
[ -n "${ircpass}" ] && ircpassparam=" -k ircpass" | |
@@ -47,7 +46,7 @@ channels="$4" | |
# -f "${fullname}" -p ${port} & | |
ii -s "${server}"${ircpassparam}${ircuserparam}${tlsparam} \ | |
- -f "${fullname}" -p ${port} 2>&1 >/dev/null & | |
+ -f "${fullname}" -p ${port} 2>&1 >/dev/null & | |
iipid=$! | |
sleep 5 | |
@@ -57,26 +56,26 @@ channels="$4" | |
do | |
kill -0 $iipid >/dev/null 2>&1 || exit 1 | |
[ ! -f ${cfgbase}/running ] && exit 1 | |
- sleep 2 | |
+ sleep 4 | |
done | |
# 433: Nickname is already in use. | |
if [ -n "$(grep " 433 " ${ircbase}/${server}/out)" ]; | |
then | |
- exit 1 | |
+ exit 3 | |
fi | |
- #while [ -z "$(grep " 376 " ${ircbase}/${server}/out)" ]; | |
- #do | |
- # [ ! -f ${cfgbase}/running ] && exit 1 | |
- # sleep 2 | |
- #done | |
- | |
{ | |
- sleep 2 | |
annna-join-channels "${server}" "${channels}" | |
} & | |
+ # Check for end of motd. | |
+ while [ -z "$(grep " 376 " ${ircbase}/${server}/out)" ]; | |
+ do | |
+ [ ! -f ${cfgbase}/running ] && exit 1 | |
+ sleep 2 | |
+ done | |
+ | |
# Watch for ii to exit. Then remove the used directory to have… | |
# services disappear. | |
while kill -0 $iipid >/dev/null 2>&1; |