Parcourir la source

better log messages, and writing to logfile

Paul Klumpp il y a 12 ans
Parent
commit
9f4fd497f4
2 fichiers modifiés avec 36 ajouts et 32 suppressions
  1. 8 4
      cims.tcl
  2. 28 28
      putils.tcl

+ 8 - 4
cims.tcl

@@ -717,7 +717,6 @@ proc ::cims::receive_message {rec_botnick cmd rec_data} {
 	}
 	# now the bot is declared as a known bot.
 	
-	
 	set proper_botnick [::cims::proper_botnick ${botnet-nick}]
 	
 	putlog "::cims:: + Relaying Message from: $rec_nickname @ $rec_botnick @ $rec_channel: $rec_text"
@@ -761,7 +760,7 @@ proc ::cims::receive_message {rec_botnick cmd rec_data} {
 #	}
 
 
-	putlog "unique_userlist is [llength $unique_userlist] long"
+	putlog "::cims:: unique_userlist is [llength $unique_userlist] long"
 	
 	# it is an eggdrop limitation/bug that it is not allowed to send large botnet messages via putbot. 
   # it truncates our payload after 388 chars. in fact the payload is 401 chars.
@@ -785,6 +784,8 @@ proc ::cims::receive_answer {rec_botnick cmd rec_data} {
 	variable mnet_reached_users 
 	variable mnet_reached_userlist
 	variable mnet_reached_chans
+	global botnet-nick
+	set proper_botnick [::cims::proper_botnick ${botnet-nick}]
 
 	set long [string length $rec_data]
 	putlog "::cims:: * on receive_answer from $rec_botnick length: $long"
@@ -806,6 +807,7 @@ proc ::cims::receive_answer {rec_botnick cmd rec_data} {
 	# override obsolete rec_usercount from above.
 	set rec_usercount [llength $rec_userlist]
 
+	
 
 	# get this bots results to our namespaced variable:
 	# FIXME: make simple userstats more accurate by sending nicknames back..
@@ -817,7 +819,7 @@ proc ::cims::receive_answer {rec_botnick cmd rec_data} {
 	set mnet_reached_userlist($name,$chan) [lsort -unique [join [concat [split $mnet_reached_userlist($name,$chan)] [split $rec_userlist]]]]
 	putlog "::cims:: * near end receive_answer from $rec_botnick"
 
-	putlog "::cims:: * $rec_botnick told me he sent its message to $rec_usercount people in $rec_chancount channels for $network frequency $name!"
+	putlog "::cims:: * $rec_botnick told me he sent its message to $rec_usercount unique people in $rec_chancount channels for $network frequency $name!"
 	#putlog "::cims:: * Users reached since $name call: $mnet_reached_users($name,$chan) in channels: $mnet_reached_chans($name,$chan)"
 	
 }
@@ -1018,7 +1020,8 @@ proc ::cims::reply_timeout {name chan} {
   variable mnet_reached_users 
 	variable mnet_reached_userlist
   variable mnet_reached_chans
-	
+	global botnet-nick
+	set proper_botnick [::cims::proper_botnick ${botnet-nick}]
 	# clean $name and $chan
 	set name [::putils::kill_spaces $name]
 	set chan [::putils::kill_spaces $chan]
@@ -1038,6 +1041,7 @@ proc ::cims::reply_timeout {name chan} {
 	putlog "::cims:: * After ALL: Count_Users: $user_cnt  Count_Channels: $mnet_reached_chans($name,$chan)"
 	
 	# Give me some reply.
+	::putils::filelog "scripts/cims/${proper_botnick}.log" "$name from $chan reached $rec_usercount users: $rec_userlist"
 	::putils::put_local_msg ${chan} "::cims:: Message sent to $chan_cnt channels, reaching $user_cnt unique users."
 }
 

+ 28 - 28
putils.tcl

@@ -5,7 +5,7 @@
 namespace eval ::putils {
   ## some internal variables for messaging and stuff :) not your business after all.
 
-  set local_ver "0.4truncatesender"
+  set local_ver "0.4truncateSR"
 
 	package require base64
 	package require md5
@@ -30,10 +30,10 @@ proc ::putils::proper_botnick {botnick} {
 
   set temp [string tolower $botnick]
   # abfrage ob zu lang, dann fixen
-  # putlog "::putils:: $botnick lowercase: $temp"
+  # putlog "::putils::proper_botnick: $botnick lowercase: $temp"
   if {[string length $botnick] > 9} {
     set temp [string range $temp 0 8 ]
-    # putlog "::putils:: botnickname $botnick too long: capping to: $temp"
+    # putlog "::putils::proper_botnick: botnickname $botnick too long: capping to: $temp"
   }
   return $temp
 
@@ -80,16 +80,16 @@ proc ::putils::put_bot {target_botnetnick fromdata} {
 	if {[islinked $target_botnetnick] == 1} {
 
 		# prepare data ...! encode. send multiple data, if needed.
-		# encode it, base64
+		# encode it, base64, all in one line! '-wrapchar ""'
 		set data [::base64::encode -wrapchar "" $fromdata]
 		#::putils::filelog "scripts/cims/cims.log" "put_bot to $target_botnetnick: full base64 $data"
 
 		# make a hash of $data
 		set md5 [::md5::md5 -hex $data]
-		putlog "md5: $md5"
+		putlog "::putils::put_bot: md5 of full base64 message: $md5"
 
 		set data_len [string length $data]
-		putlog "data_len: $data_len"
+		putlog "::putils::put_bot: data_len of full base64 message: $data_len"
 		
 		# into how many pieces does this message to be splitted?
 		# default 1
@@ -98,11 +98,11 @@ proc ::putils::put_bot {target_botnetnick fromdata} {
 			set count_parts [expr $data_len / $calcmsglen]
 			set remainder [expr $data_len % $calcmsglen]
 			set real [expr ${data_len}.00 / ${calcmsglen}.00]
-			putlog "remainder: $remainder  real: $real"
+			putlog "::putils::put_bot: remainder: $remainder  real: $real"
 			if {[expr $data_len % $calcmsglen] > 0} {
 				set count_parts [expr $count_parts + 1]
 			}
-			putlog "length: $data_len messagedata will be divided into $count_parts parts"
+			putlog "::putils::put_bot: length: $data_len messagedata will be divided into $count_parts parts"
 		}
 #MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=
 #MTIzNDU2
@@ -115,7 +115,7 @@ proc ::putils::put_bot {target_botnetnick fromdata} {
 
 			# get the part
 			set part [string range $data 0 $maxmsglen]
-			putlog "part $x is $part"
+			putlog "::putils::put_bot: part $x is $part"
 
 			# kill the part out of the original string
 			set data [string replace $data 0 $maxmsglen ""]
@@ -124,7 +124,7 @@ proc ::putils::put_bot {target_botnetnick fromdata} {
 		}
 		
 
-		putlog "::putils:: put_bot: + a message delivered to ${target_botnetnick}."
+		putlog "::putils:: put_bot: + delivered a message part to ${target_botnetnick}."
 
 	} else {
 
@@ -133,21 +133,6 @@ proc ::putils::put_bot {target_botnetnick fromdata} {
 
 }
 
-#
-# Proc to generate a string of (given) characters
-# Range defaults to "ABCDEF...wxyz'
-#
-proc ::putils::randomRangeString {length {chars "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"}} {
-  set range [expr {[string length $chars]-1}]
-
-  set txt ""
-  for {set i 0} {$i < $length} {incr i} {
-     set pos [expr {int(rand()*$range)}]
-     append txt [string range $chars $pos $pos]
-  }
-  return $txt
-}
-
 
 
 proc ::putils::rec_bot {sender_botnetnick cmd rec_data} {
@@ -254,14 +239,14 @@ proc ::putils::rec_bot {sender_botnetnick cmd rec_data} {
 
 		set md5 [::md5::md5 -hex $base64]
 		if {$md5 == $message_hash} {
-			putlog "received decoded base64 message with correct md5"
+			putlog "::putils::rec_bot: received decoded base64 message with correct md5"
 			# start the targetted procedure with the received data. if available.
 			set bindlist [split [join [binds bot]]]
 			foreach {type o cmd cnt procedure} $bindlist {
-				putlog "cmd: $cmd procedure: $procedure"
+				#putlog "::putils::put_bot: cmd: $cmd procedure: $procedure"
 				# FIXME: we currently don't check for permissions...
 				if {$cmd == [join [lindex $original_data 0]]} {
-					putlog "execute procedure $procedure $sender_botnetnick [join [lindex $original_data 0]] [join [lrange $original_data 1 end]]"
+					putlog "::putils::rec_bot: execute procedure: $procedure $sender_botnetnick [join [lindex $original_data 0]] [join [lrange $original_data 1 end]]"
 					#execute procedure
 					$procedure $sender_botnetnick [join [lindex $original_data 0]] [join [lrange $original_data 1 end]]
 				}
@@ -327,6 +312,21 @@ proc ::putils::umlauts {text} {
   return ${text}
 }
 
+#
+# Proc to generate a string of (given) characters
+# Range defaults to "ABCDEF...wxyz'
+#
+proc ::putils::randomRangeString {length {chars "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"}} {
+  set range [expr {[string length $chars]-1}]
+
+  set txt ""
+  for {set i 0} {$i < $length} {incr i} {
+     set pos [expr {int(rand()*$range)}]
+     append txt [string range $chars $pos $pos]
+  }
+  return $txt
+}
+
 
 # safe "bot-knows-the-channel-and-is-in-there"-function, returns boolean
 proc ::putils::botonchannel {chan} {