Copy and paste into a new remotes file. Than just type /Chanstats . It will echo the channel stats in the channel.
alias ChanStats {
if ($active ischan) { var %Chan = $active }
elseif (!$1 ischan) { echo -a You must select a channel you are on | halt }
else { var %Chan = $1 }
set %ChanStats $1
.who $1
}
alias -l ChanStat {
var %Chan_Temp = 0
While (%Chan_Temp != $Nick($1,0)) {
inc %Chan_Temp 1
if ($Nick($1,%Chan_Temp) isop $1) { inc %Chan_op 1 }
elseif ($Nick($1,%Chan_Temp) ishop $1) { inc %Chan_Hop 1 }
elseif ($Nick($1,%Chan_Temp) isvoice $1) { inc %Chan_voice 1 }
else { inc %Chan_Reg 1 }
}
echo $1 8[ 15-- 9S3tat9s 14Total Users8: $Nbr($nick($1,0)).c $iif(%Chan_Op != $Null,14OPs8: $Nbr(%Chan_op $Percent(%Chan_op,$1,2).c).c) $iif(%Chan_Hop != $Null,14HOPs8: $nbr(%Chan_hop $Percent(%Chan_hop,$1,2).c).c) $iif(%Chan_Voice != $Null,14Voices8: $nbr(%Chan_Voice $Percent(%Chan_Voice,$1,2).c).c) $iif(%Chan_Reg != $Null,14Regulars8: $Nbr(%Chan_Reg $Percent(%Chan_Reg,$1,2).c).c)
echo $1 8[ 15-- 9S3tat9s 14Clones8: $Nbr($CCheck($1) $Percent($CCheck($1),$1,2).c).c $iif($Hget($1,Away),14Away Users8: $nbr($Hget($1,Away) $Percent($Hget($1,Away),$1,2).c).c) $iif($Hget($1,IRCop),14IRCops8: $nbr($Hget($1,IRCop) $Percent($Hget($1,IRCop),$1,2).c).c) $iif($Hget($1,Bots),14Bots8: $nbr($Hget($1,Bots) $Percent($Hget($1,Bots),$1,2).c).c) $iif($Hget($1,Reg),14Reg8/14UnReg8: $nbr($+($Hget($1,Reg),8/15,$Hget($1,UnReg))).c)
unset %Chan_*
}
alias percent {
if ($2 ischan) { Var %Val2 = $Nick($2,0) }
else { var %Val2 = $2 }
var %z = $calc($1 / %Val2 *100)
if ($3 != $null) { %z = $round(%z,$3) }
if (%z) { var %x = $+(15,$Replace(%z,.,8.15),8%) }
else { var %x = 1508% }
if ($Prop = c) { Return %x }
else { Return $strip(%x) }
}
alias nbr {
if ($1- != $null) {
if ($prop = c) { return 10(15 $+ $1- $+ 10) }
else { return ( $+ $1- $+ ) }
}
}
alias who {
if ($1 ischan) {
if ((!$isTok(%Who.Queue,$1,32)) && ($Numtok(%Who.Queue,32) > 0)) { set %Who.Queue %Who.Queue $1 }
if (!$isTok(%Who.Chan,$1,32)) { set %Who.Chan %Who.Chan $1 }
if ($HGet($1)) { hfree $1 }
hmake $1 5
hadd -m $1 Away 0
hadd -m $1 Bots 0
hadd -m $1 IRCop 0
hadd -m $1 Reg 0
hadd -m $1 UnReg 0
}
!.raw who $1-
}
alias CCheck {
var %x = 1
var %a 0
while (%x <= $nick($1,0)) {
var %clones = $cclone($address($nick($1,%x),2),$1)
if (%clones) {
inc %a $Numtok(%Clones,32)
}
inc %x
}
return %a
}
alias CClone {
if ($ialchan($1,$2,0) >= 2) {
var %x = 1
while ($ialchan($1,$2,%x)) {
inc %x
}
}
return %x
}
raw 315:*:{
haltdef
if ($IsTok(%Who.Chan,$2,32)) {
ChanStat $2 Self
%Who.Chan = $DelTok(%Who.Chan,$FindTok(%Who.Chan,$2,32),32)
}
if (%Who.Queue) {
var %Chan = $GetTok(%Who.Queue,1,32)
%Who.Queue = $DelTok(%Who.Queue,1,32)
.who %Chan
}
}
raw 352:*:{
haltdef
if ($2 = *) { halt }
var %Chan = $GetTok(%Who.Chan,$FindTok(%Who.Chan,$2,1,32),32)
if ($6 ison %Chan) {
if (G isin $7) { hinc -m %Chan Away 1 }
if (* isin $7) { hinc -m %Chan IRCop 1 }
if (B isin $7) { hinc -m %Chan Bots 1 }
if (r isin $7) { hinc -m %Chan Reg 1 }
if (r !isin $7) { hinc -m %Chan UnReg 1 }
}
}