|
@@ -63,6 +63,7 @@ namespace eval ::cims {
|
|
|
variable mnet_colors
|
|
|
variable mnet_colors_optional
|
|
|
variable mnet_reached_users
|
|
|
+ variable mnet_reached_userlist
|
|
|
variable mnet_reached_chans
|
|
|
variable mnet_http_config
|
|
|
variable mnet_local_config
|
|
@@ -613,6 +614,16 @@ proc ::cims::chanstat_users {chan users} {
|
|
|
return $users
|
|
|
}
|
|
|
|
|
|
+proc ::cims::chanstat_userlist {chan unique_userlist} {
|
|
|
+ set ch_userlist [chanlist ${chan}]
|
|
|
+
|
|
|
+ lappend unique_userlist $ch_userlist
|
|
|
+ putlog "userlist: $unique_userlist"
|
|
|
+ set unique_userlist [lsort -unique $unique_userlist]
|
|
|
+
|
|
|
+ return $unique_userlist
|
|
|
+}
|
|
|
+
|
|
|
proc ::cims::history_queue {bucket nickname channel rec_text} {
|
|
|
#::cims::history_queue $network,$name "$timestamp $rec_nickname $rec_channel $rec_text"
|
|
|
variable mnet_histories
|
|
@@ -704,6 +715,7 @@ proc ::cims::receive_message {rec_botnick cmd rec_data} {
|
|
|
|
|
|
putlog "::cims:: + Relaying Message from: $rec_nickname @ $rec_botnick @ $rec_channel: $rec_text"
|
|
|
|
|
|
+ set unique_userlist ""
|
|
|
set users 0
|
|
|
set count_channels 0
|
|
|
|
|
@@ -720,6 +732,8 @@ proc ::cims::receive_message {rec_botnick cmd rec_data} {
|
|
|
incr count_channels
|
|
|
|
|
|
set users [::cims::chanstat_users $chan $users]
|
|
|
+ set unique_userlist [::cims::chanstat_userlist $chan $unique_userlist]
|
|
|
+
|
|
|
putlog "::cims:: * Remote counting $chan users: $users"
|
|
|
::cims::put_local_netmessage $network $name $chan $rec_nickname $rec_channel $rec_text
|
|
|
|
|
@@ -735,13 +749,14 @@ proc ::cims::receive_message {rec_botnick cmd rec_data} {
|
|
|
}
|
|
|
|
|
|
# ANSWER! SEND!
|
|
|
- ::cims::put_bot $rec_botnick "mnet_answer $network $name $rec_channel $users $count_channels"
|
|
|
+ ::cims::put_bot $rec_botnick "mnet_answer $network $name $rec_channel $users $count_channels $unique_userlist"
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
proc ::cims::receive_answer {rec_botnick cmd rec_data} {
|
|
|
variable mnet
|
|
|
variable mnet_reached_users
|
|
|
+ variable mnet_reached_userlist
|
|
|
variable mnet_reached_chans
|
|
|
|
|
|
# we receive a STRING in rec_data! convert into list!
|
|
@@ -750,20 +765,22 @@ proc ::cims::receive_answer {rec_botnick cmd rec_data} {
|
|
|
# work with list (lindex, lrange) and put together to a STRING again with JOIN.
|
|
|
set network [join [lindex $rec_data 0]]
|
|
|
set name [join [lindex $rec_data 1]]
|
|
|
- set chan [join [lindex $rec_data 2]]
|
|
|
-
|
|
|
- set rec_usercount [join [lindex $rec_data 3]]
|
|
|
+ set chan [join [lindex $rec_data 2]]
|
|
|
+
|
|
|
+ set rec_usercount [join [lindex $rec_data 3]]
|
|
|
set rec_chancount [join [lindex $rec_data 4]]
|
|
|
-# set rec_text [lrange $rec_data 2 end]
|
|
|
+ set rec_userlist [join [lindex $rec_data 5]]
|
|
|
|
|
|
# get this bots results to our namespaced variable:
|
|
|
# FIXME: make simple userstats more accurate by sending nicknames back..
|
|
|
# done: userstats should be counted in a correct variablename .. according to network and frequency
|
|
|
- # if you don't pay attention to it, a conflict between two broadcasts counting users may appear.
|
|
|
- # $mnet_reached_chans($name,$chan) <- $mnet_reached_users($name,$chan)
|
|
|
+ # if you don't pay attention to it, a conflict between two broadcasts counting users may appear.
|
|
|
+ # $mnet_reached_chans($name,$chan) <- $mnet_reached_users($name,$chan)
|
|
|
set mnet_reached_users($name,$chan) [expr $mnet_reached_users($name,$chan) + $rec_usercount]
|
|
|
set mnet_reached_chans($name,$chan) [expr $mnet_reached_chans($name,$chan) + $rec_chancount]
|
|
|
+ set mnet_reached_userlist($name,$chan) [lsort -unique [lappend mnet_reached_userlist($name,$chan) $rec_userlist]]
|
|
|
|
|
|
+ #hau
|
|
|
putlog "::cims:: * $rec_botnick told me he sent its message to $rec_usercount 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)"
|
|
|
|
|
@@ -963,6 +980,7 @@ proc ::cims::allowed_netbot {network netbot} {
|
|
|
proc ::cims::reply_timeout {name chan} {
|
|
|
variable mnet
|
|
|
variable mnet_reached_users
|
|
|
+ variable mnet_reached_userlist
|
|
|
variable mnet_reached_chans
|
|
|
|
|
|
# clean $name and $chan
|
|
@@ -971,16 +989,19 @@ proc ::cims::reply_timeout {name chan} {
|
|
|
|
|
|
# easify variables
|
|
|
set users $mnet_reached_users($name,$chan)
|
|
|
+ set userlist $mnet_reached_userlist($name,$chan)
|
|
|
set chans $mnet_reached_chans($name,$chan)
|
|
|
|
|
|
+ set user_cnt [llength [join $userlist]]
|
|
|
+
|
|
|
#putlog "::cims:: HIER $name UND $chan"
|
|
|
# inzwischen drfte auch die antwort gekommen sein.. also jetzt mnet_reached_* auswerten nach timeout..
|
|
|
|
|
|
- # make stats channel-dependent
|
|
|
+ # make stats channel-dependent
|
|
|
putlog "::cims:: * After ALL: Count_Users: $mnet_reached_users($name,$chan) Count_Channels: $mnet_reached_chans($name,$chan)"
|
|
|
|
|
|
# Give me some reply.
|
|
|
- ::putils::put_local_msg ${chan} "::cims:: Message sent to $users users in $chans channels."
|
|
|
+ ::putils::put_local_msg ${chan} "::cims:: Message sent to $chans channels, reaching $user_cnt unique users."
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1417,6 +1438,7 @@ proc ::cims::messaging_public {nick mask hand chan text} {
|
|
|
variable mnet_delay
|
|
|
variable mnet_histories
|
|
|
variable mnet_reached_users
|
|
|
+ variable mnet_reached_userlist
|
|
|
variable mnet_reached_chans
|
|
|
|
|
|
global botnet-nick lastbind
|
|
@@ -1485,6 +1507,7 @@ proc ::cims::messaging_public {nick mask hand chan text} {
|
|
|
|
|
|
# reset stats .. because he is just freshly sending
|
|
|
set mnet_reached_users($name,$chan) "0"
|
|
|
+ set mnet_reached_userlist($name,$chan) ""
|
|
|
set mnet_reached_chans($name,$chan) "0"
|
|
|
|
|
|
::cims::history_queue $network,$name $nick $chan $text
|
|
@@ -1524,8 +1547,8 @@ proc ::cims::messaging_public {nick mask hand chan text} {
|
|
|
if {$mnet_freqs_onoff($name,$_ownchan) == 1} {
|
|
|
|
|
|
# userstats local
|
|
|
-# set mnet(reached) [::cims::chanstat_users $_ownchan $mnet(reached)]
|
|
|
set mnet_reached_users($name,$chan) [::cims::chanstat_users $_ownchan $mnet_reached_users($name,$chan)]
|
|
|
+ set mnet_reached_userlist($name,$chan) [::cims::chanstat_userlist $_ownchan $mnet_reached_userlist($name,$chan)]
|
|
|
|
|
|
putlog "::cims:: * Localcounting up $_ownchan users: $mnet_reached_users($name,$chan)"
|
|
|
|