Introduction
Introduction Statistics Contact Development Disclaimer Help
Add shame support to annna. - annna - Annna the nice friendly bot.
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6…
Log
Files
Refs
Tags
README
---
commit 09c740a9cdf03b74580cb372da069f5b84fc8456
parent 9730d242d08343ad65bdb9c5d20e7a26750579e3
Author: Annna Robert-Houdin <[email protected]>
Date: Sun, 3 Apr 2022 17:54:14 +0200
Add shame support to annna.
Diffstat:
M annna-message-common | 9 ++++++++-
A shame | 39 +++++++++++++++++++++++++++++…
2 files changed, 47 insertions(+), 1 deletion(-)
---
diff --git a/annna-message-common b/annna-message-common
@@ -207,6 +207,9 @@ case "${text}" in
"${botname}, what the karma?")
annna-say -s "${server}" -c "${channel}" "${user}, gopher://bitreich.o…
;;
+"${botname}, 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}"
@@ -1045,8 +1048,12 @@ case "${text}" in
;;
esac
-# Always keep the karma last!
+# Always keep the karma / shame last!
case "${text}" in
+*"-shaming"*)
+ shametext="$(printf "%s\n" "${text}" | sed 's,.* \(.*-shaming\).*,\1,'…
+ shame "${shametext}"
+ ;;
*++|*--)
karma "${text}"
;;
diff --git a/shame b/shame
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+shamemodbase="$HOME/bin/modules/shame"
+shamedb="${shamemodbase}/shame.txt"
+
+function getshameval {
+ shameval="$(grep "^$1" "${shamedb}" | cut -f 2)"
+ [ -z "${shameval}" ] && printf "0\n"
+ printf "%s\n" "${shameval}"
+}
+
+function setshameval {
+ if [ -n "$(grep "^${1}" "${shamedb}")" ];
+ then
+ sed -i "s,${1}\t.*,${1}\t${2}," "${shamedb}"
+ else
+ printf "%s\t%d\n" "${1}" "${2}" >> "${shamedb}"
+ fi
+}
+
+function modifyshame {
+ shametag="$1"
+ shameval=$(getshameval "${shametag}")
+ newshameval="$(printf "%d%s\n" "${shameval}" "$2" | bc)"
+ setshameval "${shametag}" $newshameval
+}
+
+function incshame {
+ modifyshame "$1" " + 1"
+}
+
+shamestr="$1"
+if [ -n "${shamestr}" ];
+then
+ incshame "${shamestr}"
+else
+ sort -r -k 2 "${shamedb}" | column -t
+fi
+
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.