#!/bin/bash ############################# ENDPOINT='detroitriotcity.com' SQL_USER='root' SQL_PASS='sql' SQL_HOST='127.0.0.1' SQL_DATABASE='detroitriotcity' users=( drunkenpriapus ThatWouldBeTelling chilliestbro Rasterman ArdainianRight rlier23 Leyonhjelm ChristiJunior verita84 admin cyberanathema blockbot ) STATS_MESSAGE="Daily Block Stats for: $ENDPOINT" ############################ cd /opt TIME_STAMP="`date +%y-%m-%d` `date +%H:%M`" TIME=`echo $TIME_STAMP | sed 's/.$//'` blocks(){ data='' echo $TIME_STAMP $TIME echo "select * from activities where data->>'type' = 'Block';" | PGPASSWORD=$SQL_PASS psql -h $SQL_HOST -U $SQL_USER $SQL_DATABASE | grep "$TIME" > /tmp/list.txt readarray list -d '|' < /tmp/list.txt for i in "${list[@]}" do : json=`echo $i | cut -d '{' -f2-3 | cut -d '}' -f1 | sed '1 i\{' | sed '$a } '` blocker="@`echo $json | jq -r .actor | cut -d '/' -f5`@`echo $json | jq -r .actor | cut -d '/' -f3`" blocked="@`echo $json | jq -r .object | cut -d '/' -f5`@`echo $json | jq -r .object | cut -d '/' -f3`" message="$blocker blocked $blocked" if [ -n "$1" ]; then echo "$message" else toot post "$message" -m ./bot.png fi done } scalps(){ data=$STATS_MESSAGE for i in "${users[@]}" do : 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 $i | cut -d '"' -f18 | grep -iv $ENDPOINT | wc -l`! " done if [ -n "$1" ]; then echo "$data" else toot post "$data" fi } help(){ 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" = "blocks" ]; then blocks "$2" elif [ "$1" = "scalps" ]; then scalps "$2" else help fi