Snippets Project Page
Author: entropy
Added: 4y
Updated: 3y
mIRC: 7.52+
Hits: 1,047
Downloads: 25
Review: westor
Size: 3.44KB
1 0
Login to vote.
STICKYBANS
v1.1
Rebans all sticky bans when unbanned. Simple but cool.
Download
JSON
▲ Review
▼ Source
; STICKYBANS v1.1 - by entropy 2020 ; Commands: ; /addban - bans all stickybans on active channel. ; /addsticky <ban1> <ban2> <ban3> etc... - adds to the stickybans list. ; /delsticky <ban1> <ban2> <ban3> etc... - deletes from the stickybans list. ; /liststicky - lists all stickybans. ; /clearsticky - clears the stickybans list. ;========================================================= EVENTS on @*:unban:#:{ if ($nick != ChanServ && $hget(stickybans,$banmask)) { mode # +b $banmask } } on *:start:{ if (!$hget(stickybans)) { hmake stickybans 100 } if ($isfile(stickybans.dat)) { hload stickybans stickybans.dat } } on *:exit:{ if ($hget(stickybans)) { hsave -o stickybans stickybans.dat } } ;========================================================= ALIASES alias addban { var %a = 1, %b, %all while ($hget(stickybans,%a).item) { %b = $v1 %all = %all %b inc %a } if ($me isop $active) { pushmodex $active $+(+,$str(b,$numtok(%all,32))) %all } } alias addsticky { ;/addsticky <ban1> <ban2> <ban3> etc... var %a = 1, %b, %f = 0 while ($gettok($1-,%a,32)) { %b = $v1 if (!$hget(stickybans,%b)) { inc %f | hadd -m stickybans %b $ctime } inc %a } echo $color(info) -tag * [STICKY] Added %f stickybans! } alias delsticky { ;/delsticky <ban1> <ban2> <ban3> etc... var %a = 1, %b, %f = 0 while ($gettok($1-,%a,32)) { %b = $v1 if ($hget(stickybans,%b)) { inc %f | hdel -m stickybans %b } inc %a } echo $color(info) -tag * [STICKY] Deleted %f stickybans! } alias clearsticky { ;/clearsticky if ($hget(stickybans)) { hfree stickybans | if ($isfile(stickybans.dat)) { .remove stickybans.dat } | echo $color(info) -tag * [STICKY] Ban list Cleared! } } alias liststicky { ;/liststicky var %a = 1, %b, %f = 0 echo $color(info) -tag * [STICKY] List: while ($hget(stickybans,%a).item) { %b = $v1 inc %f echo $color(info) -tag %f $+ ) %b inc %a } echo $color(info) -tag * [STICKY] List end. } alias -l pushmodex { if (-t* iswm $1) { var %time = $mid($1,3) , %count = 1 | tokenize 32 $2- } else { var %time = 0 , %count = 0 } var %modespl = $modespl , %chan = $1 , %modes = $2 , %parms = $3- , %x = 1 , %y = $len(%modes) , %lwhich = + , %which = + , %a , %b tokenize 44 $chanmodes var %t1 = $1 , %t2 = $nickmode $+ $2 , %t3 = $3 , %t4 = $4 tokenize 32 %parms while (%x <= %y) { var %t = $mid(%modes,%x,1) if (%t isin +-) { var %lwhich = %which , %which = %t } else { if (%t isincs $gettok(%t1 %t2 %t3, 1- $pos(.-+, %which),32)) { var %b = %b $1 tokenize 32 $2- } var %a = $+(%a,$iif(!%a || %lwhich != %which,%which),%t) , %lwhich = %which if ($len($remove(%a,+,-)) = %modespl) { if (!%time) { mode %chan %a %b } else { .timer -m 1 $calc(%time * %count) mode %chan %a %b } var %a = "" , %b = "", %count = %count + 1 } } inc %x } if (%a) { if (!%time) { mode %chan %a %b } else { .timer -m 1 $calc(%time * %count) mode %chan %a %b } } } ;========================================================= EOF
Changelog:
0
0