Introduction
Introduction Statistics Contact Development Disclaimer Help
Add brcon-score system for upcoming brcon2023. - annna - Annna the nice friendl…
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6…
Log
Files
Refs
Tags
README
---
commit a17d8c98291940275e88fa872143baaddcf951ba
parent 49235cbd876bff8cb6a793373af83519b65c931c
Author: Annna Robert-Houdin <[email protected]>
Date: Sat, 5 Aug 2023 09:03:49 +0200
Add brcon-score system for upcoming brcon2023.
Diffstat:
M annna-message-common | 30 ++++++++++++++++++++++++++++++
A brcon-score | 75 +++++++++++++++++++++++++++++…
2 files changed, 105 insertions(+), 0 deletions(-)
---
diff --git a/annna-message-common b/annna-message-common
@@ -9,6 +9,7 @@ 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…
+referees="__20h__"
server="$1"
ircuser="$(cat ${cfgbase}/${server}/ircuser)"
@@ -258,6 +259,9 @@ case "${text}" in
"${ircuser}, what the karma?")
annna-say -s "${server}" -c "${channel}" "${user}, gophers://bitreich.…
;;
+"${ircuser}, what the brcon score?")
+ annna-say -s "${server}" -c "${channel}" "${user}, gophers://bitreich.…
+ ;;
"${ircuser}, what the shame?")
annna-say -s "${server}" -c "${channel}" "${user}, gophers://bitreich.…
;;
@@ -1316,6 +1320,9 @@ case "${text}" in
*"arma is a bitch"*)
annna-say -s "${server}" -c "${channel}" "${user}, I object! Karma is …
;;
+"score "*)
+ # For referee scoring.
+ ;;
*++|*--|*-=?|*+=?|*+=-?|*-=-?)
karmatext="$(karma "${text}")"
if [ -n "$karmatext" ];
@@ -1349,3 +1356,26 @@ case "${text}" in
;;
esac
+# Referee Level.
+isreferee=0
+for referee in $referees;
+do
+ [ "$user" = "$referee" ] && isreferee=1
+done
+[ $isreferee -lt 1 ] && exit
+
+case "${text}" in
+"score "*)
+ text="$(printf "%s\n" "${text}" | cut -d' ' -f2-)"
+ case "${text}" in
+ *++|*--|*-=?|*+=?|*+=-?|*-=-?)
+ scoretext="$(brcon-score "${text}")"
+ if [ -n "$scoretext" ];
+ then
+ annna-say -s "${server}" -c "${channel}" "score: ${sco…
+ fi
+ ;;
+ esac
+ ;;
+esac
+
diff --git a/brcon-score b/brcon-score
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+karmamodbase="$HOME/bin/modules/brcon-score"
+karmadb="${karmamodbase}/score-$(date +%Y).txt"
+
+function setkarmaval {
+ if [ -n "$(grep -P "^${1}\t" "${karmadb}")" ];
+ then
+ sed -i "s,^${1}\t.*,${1}\t${2}," "${karmadb}"
+ else
+ printf "%s\t%d\n" "${1}" "${2}" >> "${karmadb}"
+ fi
+}
+
+function parsekarma {
+ karmatag="$(printf "%s\n" "${1}" | sed -e 's,^\([a-zA-Z_0-9]*\).*$,\1,…
+ [ -z "${karmatag}" ] && karmatag="karma"
+ printf "%s\n" "${karmatag}"
+}
+
+function getkarmaval {
+ karmatag="${1}"
+ karmaval="$(grep -P "^${karmatag}\t" "${karmadb}" | cut -f 2)"
+ [ -z "${karmaval}" ] && printf "0\n"
+ printf "%s\n" "${karmaval}"
+}
+
+function modifykarma {
+ karmatag="$1"
+ karmaval=$(getkarmaval "${karmatag}")
+ newkarmaval="$(printf "%d%s\n" "${karmaval}" "$2" | bc)"
+ setkarmaval "${karmatag}" $newkarmaval
+ printf "%s = %d\n" "$karmatag" "$newkarmaval"
+}
+
+function inckarma {
+ modifykarma "$1" " + $2"
+}
+
+function deckarma {
+ modifykarma "$1" " - $2"
+}
+
+function parsechangevalue {
+ printf "%s\n" "${1}" | sed -e 's,.*[+|-]=\([0-9\-]*\),\1,'
+}
+
+karmastr="$1"
+karmatag="$(parsekarma "${karmastr}")"
+case "${karmastr}" in
+*" "*)
+ ;;
+*","*)
+ ;;
+*+=*)
+ inckarma "${karmatag}" "$(parsechangevalue "${karmastr}")"
+ ;;
+*++)
+ inckarma "${karmatag}" "1"
+ ;;
+*-=*)
+ deckarma "${karmatag}" "$(parsechangevalue "${karmastr}")"
+ ;;
+*--)
+ deckarma "${karmatag}" "1"
+ ;;
+"${karmatag}")
+ karmaval="$(getkarmaval "${karmatag}")"
+ printf "%s = %d\n" "$karmatag" "$karmaval"
+ ;;
+*)
+ sort -r -k 2 "${karmadb}" | column -t
+ ;;
+esac
+
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.