Explorar o código

- add manual !vantrash to perform check

- announce if there was a fetching error
horgh %!s(int64=15) %!d(string=hai) anos
pai
achega
0bcea7b645
Modificáronse 1 ficheiros con 14 adicións e 0 borrados
  1. 14 0
      vantrash.tcl

+ 14 - 0
vantrash.tcl

@@ -16,18 +16,32 @@ namespace eval vantrash {
 	variable channel #tea
 	variable channel #tea
 
 
 	# min hr day month year
 	# min hr day month year
+	bind time - {30 19 * * *} vantrash::check
+	bind time - {30 20 * * *} vantrash::check
 	bind time - {30 21 * * *} vantrash::check
 	bind time - {30 21 * * *} vantrash::check
 
 
+	bind pub -|- "!vantrash" vantrash::handler
+
 	variable cached_date []
 	variable cached_date []
 }
 }
 
 
+proc vantrash::handler {nick uhost hand chan argv} {
+	vantrash::check * * * * *
+}
+
 proc vantrash::check {min hour day month year} {
 proc vantrash::check {min hour day month year} {
 	# Only fetch new date if we haven't yet found one, or that one is past
 	# Only fetch new date if we haven't yet found one, or that one is past
 	if {$vantrash::cached_date == "" || [clock seconds] > $vantrash::cached_date} {
 	if {$vantrash::cached_date == "" || [clock seconds] > $vantrash::cached_date} {
 		set token [http::geturl $vantrash::url]
 		set token [http::geturl $vantrash::url]
 		set data [http::data $token]
 		set data [http::data $token]
+		set ncode [http::ncode $token]
 		http::cleanup $token
 		http::cleanup $token
 
 
+		if {$ncode != 200} {
+			putserv "PRIVMSG $vantrash::channel :(vantrash) Error (${ncode}) fetching next pickup date. (Cached date is expired or not present): ${data}"
+			return
+		}
+
 		set next_date [lindex [split $data] 0]
 		set next_date [lindex [split $data] 0]
 		set vantrash::cached_date [clock scan $next_date]
 		set vantrash::cached_date [clock scan $next_date]
 	}
 	}