rendered paste bodyon *:START: {
if (!hget(current)) hmake current 20
if (!hget(record)) hmake record 20
if (!$hget(transferred)) hmake transferred 20
if (!$hget(packs)) hmake packs 20
if (!$hget(slotsopen)) hmake slotsopen 20
if (!$hget(slotstotal)) hmake slotstotal 20
if ($exists(current1.hsh)) hload -b current current1.hsh
if ($exists(record1.hsh)) hload -b record record1.hsh
if ($exists(transferred1.hsh)) hload -b transferred transferred1.hsh
if ($exists(packs1.hsh)) hload -b packs packs1.hsh
if ($exists(slotsopen1.hsh)) hload -b slotsopen slotsopen1.hsh
if ($exists(slotstotal1.hsh)) hload -b slotstotal slotstotal1.hsh
}
on *:exit: {
hsave -bo current current1.hsh
hsave -bo record record1.hsh
hsave -bo transferred transferred1.hsh
hsave -bo packs packs1.hsh
hsave -bo slotsopen slotsopen1.hsh
hsave -bo slotstotal slotstotal1.hsh
}
on *:text:*:#absolute-chat, #absolute-movies: {
tokenize 32 $strip($1-)
if ($regex(speed,$1-,/\*\* Bandwidth Usage \*\* Current: (\d+\.?\d+)(KB|MB|GB)\/s.*Record: (\d+\.?\d+)(KB|MB|GB)\/s/i)) {
hadd -m current $nick $tobytes($regml(speed,1),$regml(speed,2))
hadd -m record $nick $tobytes($regml(speed,3),$regml(speed,4))
}
if ($regex(trans,$1-,/(?:Total Offered: \d+\.?\d* (?:kb|mb|gb|tb) )?Total Transferred: (\d+\.?\d*) ?(kb|mb|gb|tb)/i)) {
hadd -m transferred $nick $tobytes($regml(trans,1),$regml(trans,2))
}
if ($regex(packs,$1-,/\*\* (\d+) packs? \*\* (\d+) of (\d+) slots? open.*/)) {
hadd -m packs $nick $regml(packs,1)
hadd -m slotsopen $nick $regml(packs,2)
hadd -m slotstotal $nick $regml(packs,3)
}
if ( $1 == !stats ) {
msg $chan 10[14#Absolute-Movies Stats10]
msg $chan 10[14Servers 0nline: $botsonline 10]
msg $chan 10[14Total Packs: $packs 10]
msg $chan 10[14Slots Open $slotsopen 10]
msg $chan 10[14Total Slots: $slotstotal 10]
msg $chan 10[14Current Bandwidth: $currentspeed 10]
msg $chan 10[14Record Bandwidth: $recordspeed 10]
msg $chan 10[14Total Transferred: $transferred 10]
unset %current
unset %record
unset %transferred
unset %packs
unset %slotsopen
unset %slotstotal
}
}
on *:notice:*:*: {
if ($regex(speed,$1-,/\*\* Bandwidth Usage \*\* Current: (\d+\.?\d+)(KB|MB|GB)\/s.*Record: (\d+\.?\d+)(KB|MB|GB)\/s/i)) {
hadd -m current $nick $tobytes($regml(speed,1),$regml(speed,2))
hadd -m record $nick $tobytes($regml(speed,3),$regml(speed,4))
}
if ($regex(trans,$1-,/(?:Total Offered: \d+\.?\d* (?:kb|mb|gb|tb) )?Total Transferred: (\d+\.?\d*) (kb|mb|gb|tb)/i)) {
hadd -m transferred $nick $tobytes($regml(trans,1),$regml(trans,2))
}
}
alias currentspeed {
var %x 1
while ( %x <= $hget(current,0).item ) {
If ( $hget(current,%x).item ison #absolute-movies ) {
if ( %current = $null ) {
set %current $hget(current,%x).data
}
else {
set %current $calc( %current + $hget(current,%x).data)
}
}
inc %x
}
return $+($bytes(%current).suf,/s)
}
alias recordspeed {
var %x 1
while ( %x <= $hget(record,0).item ) {
If ( $hget(record,%x).item ison #absolute-movies ) {
if ( %record = $null ) {
set %record $hget(record,%x).data
}
else {
set %record $calc( %record + $hget(record,%x).data)
}
}
inc %x
}
return $+($bytes(%record).suf,/s)
}
alias transferred {
var %x 1
while ( %x <= $hget(transferred,0).item ) {
If ( $hget(transferred,%x).item ison #absolute-movies ) {
if ( %transferred = $null ) {
set %transferred $hget(transferred,%x).data
}
else {
set %transferred $calc( %transferred + $hget(transferred,%x).data)
}
}
inc %x
}
return $bytes(%transferred).suf
}
alias botsonline {
if ( $nick(#absolute-movies,0,v,ohr) >= $hget(packs,0).item ) {
return $hget(packs,0).item
}
else {
return $nick(#absolute-movies,0,v,ohr)
}
}
alias packs {
var %x 1
while ( %x <= $hget(packs,0).item ) {
If ( $hget(packs,%x).item ison #absolute-movies ) {
if ( %packs = $null ) {
set %packs $hget(packs,%x).data
}
else {
set %packs $calc( %packs + $hget(packs,%x).data)
}
}
inc %x
}
return %packs
}
alias slotsopen {
var %x 1
while ( %x <= $hget(slotsopen,0).item ) {
If ( $hget(slotsopen,%x).item ison #absolute-movies ) {
if ( %slotsopen = $null ) {
set %slotsopen $hget(slotsopen,%x).data
}
else {
set %slotsopen $calc( %slotsopen + $hget(slotsopen,%x).data)
}
}
inc %x
}
return %slotsopen
}
alias slotstotal {
var %x 1
while ( %x <= $hget(slotstotal,0).item ) {
If ( $hget(slotstotal,%x).item ison #absolute-movies ) {
if ( %slotstotal = $null ) {
set %slotstotal $hget(slotstotal,%x).data
}
else {
set %slotstotal $calc( %slotstotal + $hget(slotstotal,%x).data)
}
}
inc %x
}
return %slotstotal
}
alias xlist {
var %x 1
while ( %x <= $nick(#absolute-movies,0,v,ohr) ) {
.msg $nick(#absolute-movies,%x,v,ohr) xdcc list
inc %x
}
}
alias tobytes {
if ($2 == kb) return $calc($1 * 1024)
if ($2 == mb) return $calc($1 * 1048576)
if ($2 == gb) return $calc($1 * 1073741824)
if ($2 == tb) return $calc($1 * 1099511627776)