URI: 
       Add shame support to annna. - annna - Annna the nice friendly bot.
  HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
       ---
   DIR commit 09c740a9cdf03b74580cb372da069f5b84fc8456
   DIR parent 9730d242d08343ad65bdb9c5d20e7a26750579e3
  HTML Author: Annna Robert-Houdin <annna@bitreich.org>
       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(-)
       ---
   DIR 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.org/1/irc/karma"
                ;;
       +"${botname}, what the shame?")
       +        annna-say -s "${server}" -c "${channel}" "${user}, gopher://bitreich.org/1/irc/shame"
       +        ;;
        *"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}"
                ;;
   DIR 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
       +