Updated azhu module with last response time
This commit is contained in:
		| @@ -1,12 +1,38 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
|  |  | ||||||
| day=$(date +%a) | . "../bot.properties" | ||||||
|  | log="../$log" | ||||||
|  |  | ||||||
|  | lines=$(grep "!azhu" $log) | ||||||
|  | name=$(echo $lines | sed "s/.*\]:\(.*\)![^!]*/\1/g") | ||||||
|  | if [[ "$name" == "" ]]; then | ||||||
|  | 	name="azhu" | ||||||
|  | fi | ||||||
|  | line=$(echo $lines | sed "s/.*\[\(.*\)\].*/\1/g") | ||||||
|  | lastResponse_DayOfMonth=$(echo $line | sed "s/^.*:.*:\(.*\) .*:.*:.*$/\1/g") | ||||||
|  |  | ||||||
|  | dayOfWeek=$(date +%a) | ||||||
|  | dayOfMonth=$(date +%d) | ||||||
| hour=$(date +%T | sed "s/\([^:]*\):.*/\1/" ) | hour=$(date +%T | sed "s/\([^:]*\):.*/\1/" ) | ||||||
| minute=$(date +%M) | minute=$(date +%M) | ||||||
|  |  | ||||||
|  | daysApart=$((10#$dayOfMonth - 10#$lastResponse_DayOfMonth)) | ||||||
|  | if [ "$daysApart" -eq 0 ]; then | ||||||
|  | 	lastResponse_hour=$(echo $line | sed "s/^.*:.*:.* \(.*\):.*:.*$/\1/g") | ||||||
|  | 	lastResponse_minute=$(echo $line | sed "s/^.*:.*:.* .*:\(.*\):.*$/\1/g") | ||||||
|  |  | ||||||
|  | 	minutesBetween=$(((10#$hour - 10#$lastResponse_hour)*60 + 10#$minute - 10#$lastResponse_minute)) | ||||||
|  | fi | ||||||
|  |  | ||||||
|  |  | ||||||
|  | responsePercent=0 | ||||||
|  | if [ "$minutesBetween" -ge 0 ]; then | ||||||
|  | 	responsePercent=$(( -5000/($minutesBetween+40) - $minutesBetween/25 + 100 )) | ||||||
|  | fi | ||||||
|  |  | ||||||
| percent=0 | percent=0 | ||||||
|  |  | ||||||
| case $day in | case $dayOfWeek in | ||||||
| 	"Mon" ) | 	"Mon" ) | ||||||
| 		percent=$(($percent+25));; | 		percent=$(($percent+25));; | ||||||
| 	"Tue" ) | 	"Tue" ) | ||||||
| @@ -25,9 +51,13 @@ esac | |||||||
|  |  | ||||||
| hp=$((10#$hour*10#$hour*10#$hour/150)) | hp=$((10#$hour*10#$hour*10#$hour/150)) | ||||||
|  |  | ||||||
| percent=$(($percent+$hp+$minute/20)) | percent=$((10#$percent+10#$hp+10#$minute/20)) | ||||||
|  | percent=$(($percent + $responsePercent)) | ||||||
|  |  | ||||||
| if [[ "$percent" -ge 100 ]]; then |  | ||||||
|  | if [ "$percent" -le 0 ]; then | ||||||
|  | 	percent=0 | ||||||
|  | elif [ "$percent" -ge 100 ]; then | ||||||
| 	percent=99 | 	percent=99 | ||||||
| fi | fi | ||||||
|  |  | ||||||
| @@ -35,9 +65,9 @@ if [ $# -ge 1 ]; then | |||||||
| 	if [ $1 == "azhu" ]; then  | 	if [ $1 == "azhu" ]; then  | ||||||
| 		percent=0; | 		percent=0; | ||||||
| 	fi | 	fi | ||||||
| 	echo "PRIVMSG $2 :$1: There is a $percent% chance azhu is sleeping right now." | 	echo "PRIVMSG $2 :$1: There is a $percent% chance $name is sleeping right now." | ||||||
| else | else | ||||||
| 	echo "There is a $percent% chance azhu is sleeping right now." | 	echo "There is a $percent% chance $name is sleeping right now." | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user