Code: Select all
bind PUB fo|fo -peak pub:peak
bind JOIN -|- * join:peak
setudef str peak-data
setudef flag peak
proc pub:peak {nickname hostname handle channel arguments} {
if {![channel get $channel peak]} {return}
if {[set peakdata [channel get $channel peak-data]] == ""} {
puthelp "PRIVMSG $channel :No peak data available yet (try rejoining)."
} else {
puthelp "PRIVMSG $channel :Peak for $channel: [lindex $peakdata 3] (by [lindex $peakdata 0]![lindex $peakdata 1] at [clock format [lindex $peakdata 2] -format {%d/%m/%y %H:%M:%S}])"
}
}
proc join:peak {nickname hostname handle channel} {
if {[channel get $channel peak]} {
if {[set peakdata [channel get $channel peak-data]] == ""} {
channel set $channel peak-data [list $nickname $hostname [clock seconds] [llength [chanlist $channel]]]
} elseif {[lindex $peakdata 3] < [llength [chanlist $channel]]} {
channel set $channel peak-data [list $nickname $hostname [clock seconds] [llength [chanlist $channel]]]
# if you want to announce there is a new peak, do it here (just remove the comment)
puthelp "PRIVMSG $channel :New peak ([llength [chanlist $channel]]) by $nickname!"
}
}
}
is that hard to make it do so?