Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement