diff --git a/bot.sh b/bot.sh index f7a272b..bb4afc1 100644 --- a/bot.sh +++ b/bot.sh @@ -1,120 +1,124 @@ #!/bin/bash ############################# -ENDPOINT='pooper.social' +ENDPOINT='poster.place' SQL_USER='root' SQL_PASS='sql' -SQL_HOST='postgresql' -SQL_DATABASE='pooper' -STATS_MESSAGE="Daily Block Stats for: $ENDPOINT" +SQL_HOST='127.0.0.1' +SQL_DATABASE='pleroma' +STATS_MESSAGE="" +#STATS_MESSAGE="Daily Block Stats for: $ENDPOINT" ############################ -cd /opt +cd /root/docker/blockbot -blocks() { - TIME_STAMP="$(date +%y-%m-%d) $(date +%H:%M)" - TIME=$(echo $TIME_STAMP | sed 's/.$//') - data='' +blocks(){ +#TIME_STAMP="`date +%y-%m-%d` `date +%H`" +TIME_STAMP="`TZ=Atlantic/Reykjavik date +%y-%m-%d` `TZ=Atlantic/Reykjavik date +%H:%M`" +#TIME_STAMP="`date +%y-%m-%d` `date +%H:%M`" +TIME=`echo $TIME_STAMP | sed 's/.$//'` +data='' + +echo "select * from activities where data->>'type' = 'Block';" | PGPASSWORD=$SQL_PASS psql -h $SQL_HOST -U $SQL_USER $SQL_DATABASE | grep "$TIME" > /tmp/list - echo "select * from activities where data->>'type' = 'Block';" | PGPASSWORD=$SQL_PASS psql -h $SQL_HOST -U $SQL_USER $SQL_DATABASE | grep "$TIME" >/tmp/list +readarray -t list < /tmp/list - readarray -t list /tmp/a.txt +for i in "${users[@]}" +do + : + number=`echo "select * from activities where data->>'type' = 'Block';" | PGPASSWORD=$SQL_PASS psql -h $SQL_HOST -U $SQL_USER $SQL_DATABASE | grep -i "$ENDPOINT/users/$i" | cut -d '"' -f18 | grep -iv $ENDPOINT | wc -l` + if [ $number -gt 10 ]; + then + if [ "$i" != "a" ]; then + #data=$data" @$i: ` echo "select * from activities where data->>'type' = 'Block';" | PGPASSWORD=$SQL_PASS psql -h $SQL_HOST -U $SQL_USER $SQL_DATABASE | grep -i "$ENDPOINT/users/$i" | cut -d '"' -f18 | grep -iv $ENDPOINT | wc -l`! " + echo "@$i: ` echo "select * from activities where data->>'type' = 'Block';" | PGPASSWORD=$SQL_PASS psql -h $SQL_HOST -U $SQL_USER $SQL_DATABASE | grep -i "$ENDPOINT/users/$i" | cut -d '"' -f18 | grep -iv $ENDPOINT | wc -l`! " >> /tmp/a.txt + fi + fi +done + + data="$STATS_MESSAGE `cat /tmp/a.txt | sort -n -k 2`" +if [ -n "$1" ]; then + echo $data +else + echo "Poster.place Block Report $data" | toot post +fi +} + + + +background_daemon(){ + echo;echo "BlockBot running in Daemon Mode";echo;echo + while true + do + echo "#######################################" + echo "Current Time: `date`" + + if [[ `date | cut -d ':' -f2 | tail -c2` == *"9"* ]]; then + echo "Checking for new blocks.......";echo + blocks + fi + if [[ `date` == *"16:30:"* ]]; then + echo "Sending Block Report.......";echo + scalps + fi + blocks print + echo "Sleeping for 50......" + echo "#######################################"; + sleep 50 + done +} + background(){ + if [[ `date` == *":00"* ]]; then + background_daemon else - echo $message - toot post "$message" -m ./bot.png + echo "Waiting for time to be in sync...." + sleep 1 + background fi + } - done - -} - -scalps() { - users=($(echo "select nickname from users where ap_id like '%${ENDPOINT}%';" | PGPASSWORD=sql psql -h $SQL_HOST -U $SQL_USER $SQL_DATABASE --csv | egrep -vi 'relay|nickname|internal.fetch')) - echo >/tmp/a.txt - for i in "${users[@]}"; do - : - number=$(echo "select * from activities where data->>'type' = 'Block';" | PGPASSWORD=$SQL_PASS psql -h $SQL_HOST -U $SQL_USER $SQL_DATABASE | grep -i "$ENDPOINT/users/$i" | cut -d '"' -f18 | grep -iv $ENDPOINT | wc -l) - if [ $number -gt 1 ]; then - echo "@$i: $(echo "select * from activities where data->>'type' = 'Block';" | PGPASSWORD=$SQL_PASS psql -h $SQL_HOST -U $SQL_USER $SQL_DATABASE | grep -i "$ENDPOINT/users/$i" | cut -d '"' -f18 | grep -iv $ENDPOINT | wc -l)! " >>/tmp/a.txt - fi - done - - data="$STATS_MESSAGE $(cat /tmp/a.txt | sort -n -k 2)" - if [ -n "$1" ]; then - echo $data - else - echo $data | toot post "$data" - fi -} - -background_daemon() { - echo - echo "BlockBot running in Daemon Mode" - echo - echo - while true; do - echo "#######################################" - echo "Current Time: $(date)" - - if [[ $(date | cut -d ':' -f2 | tail -c2) == *"9"* ]]; then - echo "Checking for new blocks......." - echo - blocks - fi - if [[ $(date) == *"16:30:"* ]]; then - echo "Sending Block Report......." - echo - scalps - fi - blocks print - echo "Sleeping for 50......" - echo "#######################################" - sleep 50 - done -} -background() { - if [[ $(date) == *":00"* ]]; then - background_daemon - else - echo "Waiting for time to be in sync...." - sleep 1 - background - fi -} - -help() { - echo - echo "bot.sh daemon" - echo - echo "bot.sh blocks" - echo - echo "bot.sh blocks print" - echo "bot.sh scalps" - echo "bot.sh scalps print" - echo "bot.sh help" - echo - echo -} + help(){ + echo;echo "bot.sh daemon" + echo;echo "bot.sh blocks" + echo;echo "bot.sh blocks print" + echo "bot.sh scalps" + echo "bot.sh scalps print" + echo "bot.sh help";echo;echo + } if [ "$1" = "daemon" ]; then - background + background elif [ "$1" = "blocks" ]; then - blocks "$2" + blocks "$2" elif [ "$1" = "scalps" ]; then - scalps "$2" -else - help + scalps "$2" +else + help fi