#Channel.Stats.Report on
on me:^*:JOIN:#:{
set -u600 $+(%,Me.JOIN.,$cid,.,$chan) 0 0
.raw $+(WHO $chan,$crlf,MODE $chan +b)
haltdef
}
alias ChanStats {
if ($1) set %chan #$1
elseif (#* iswm $active) set %chan $active
if (%chan) {
set -u600 $+(%,Me.JOIN.,$cid,.,%chan) 0 0
.raw $+(TOPIC %chan,$crlf,NAMES %chan,$crlf,MODE %chan,$crlf,WHO %chan,$crlf,MODE %chan b)
}
}
;
; Halt the joining numerics on me:*:JOIN:
;
raw 332:*: if ($eval($+(%,Me.JOIN.,$cid,.,$2),2) != $null) halt
raw 333:*:{
if ($eval($+(%,Me.JOIN.,$cid,.,$2),2) != $null) {
set $+(%,Me.JOIN.,$cid,.,$2) $eval($+(%,Me.JOIN.,$cid,.,$2),2) $3-
halt
}
}
raw 353:*: if ($eval($+(%,Me.JOIN.,$cid,.,$3),2) != $null) halt
raw 366:*: if ($eval($+(%,Me.JOIN.,$cid,.,$2),2) != $null) halt
raw 324:*: if ($eval($+(%,Me.JOIN.,$cid,.,$2),2) != $null) halt
raw 329:*:{
if ($eval($+(%,Me.JOIN.,$cid,.,$2),2) != $null) {
set $+(%,Me.JOIN.,$cid,.,$2) $eval($+(%,Me.JOIN.,$cid,.,$2),2) $3
halt
}
}
;
; IAL Filler
;
raw 352:*:{
if $eval($+(%,Me.JOIN.,$cid,.,$2), 2) != $null {
var %Oper.Count = $gettok($ifmatch, 1, 32)
var %Away.Count = $gettok($ifmatch, 2, 32)
var %Other = $gettok($ifmatch, 3-, 32)
if (* isin $7) inc %Oper.Count
if (G isin $7) inc %Away.Count
set $+(%,Me.JOIN.,$cid,.,$2) %Oper.Count %Away.Count %Other
halt
}
}
raw 315:*:{
if ($eval($+(%,Me.JOIN.,$cid,.,$2), 2) != $null) {
.raw MODE $2 b
halt
}
}
;
; IBL filler
;
raw 367:*: if ($eval($+(%,Me.JOIN.,$cid,.,$2), 2) != $null) halt
raw 368:*:{
if ($eval($+(%,Me.JOIN.,$cid,.,$2), 2) == $null) return
ChanStatsReport $2
halt
}
alias ChanStatsReport {
if ($eval($+(%,Me.JOIN.,$cid,.,$1), 2) != $null) {
var %Oper.Count = $gettok($ifmatch, 1, 32)
var %Away.Count = $gettok($ifmatch, 2, 32)
var %Topic.Set.By = $gettok($ifmatch, 3, 32)
var %Topic.Set.Time = $asctime($gettok($ifmatch, 4, 32), yyyy/mm/dd HH:nn:ss)
var %Channel.Created = $asctime($gettok($ifmatch, 5, 32), yyyy/mm/dd HH:nn:ss)
var %chan = $1
echo $color(join) -bfirt %chan * Now talking in %chan $+([,$asctime($ctime, yyyy/mm/dd HH:nn:ss),])
echo $color(join) -bfirt %chan * Created: %Channel.Created
echo $color(topic) -bflirt %chan * Topic is: $chan(%chan).topic
echo $color(topic) -bfirt %chan * Set by %Topic.Set.By $+([,%Topic.Set.Time,])
echo $color(join) -bfirt %chan * $+([, $&
$nick(%chan, 0) Nick,$iif($nick(%chan, 0) != 1,s),][, $&
$nick(%chan, 0, o) Op,$iif($nick(%chan, 0, o) != 1,s),][, $&
$nick(%chan, 0, v) Voice,$iif($nick(%chan, 0, v) != 1,s),][, $&
$nick(%chan, 0, r) Regular][, $&
%Oper.Count Oper, $iif(%Oper.Count != 1,s),][, $&
%Away.Count Away][, $&
$ibl(%chan, 0) Ban,$iif($ibl(%chan, 0) != 1,s),])
linesep %chan
unset $+(%,Me.JOIN.,$cid,.,$1)
}
}
#Channel.Stats.Report end