Snippets Project Page
Author: entropy
Added: 5y
Updated: 4y
mIRC: 7.52+
Hits: 1,731
Downloads: 68
Review: entropy
Size: 2.93KB
2 0
Login to vote.
Simple BlackList
v1.8
This simple black list works well and is light weight.
Download
JSON
▲ Review
▲ Log
▼ Source
;========================================================================================= ; Simple BlackList v1.8 - by entropy 2020 ;========================================================================================= #black on on @black:join:#:{ var %x = 1 | while ($ulist($fulladdress,black,%x)) { mode # +b $v1 | inc %x } | kick # $nick Blacklisted } #black end on me:*:join:#:{ .timer 1 5 checkial # } menu nicklist { - Blacklist .$iif($snick($active,0) > 1,Add $snick($active,0) Selected Nicks To Black List) ..$submenu($GenerateMultiMasks($1)) .$iif($snick($active,0) == 1,Add Selected Nick To Black List) ..$iif($remove($gettok($address($1,5),2,64),.) isnum,IP Ban) ...Mask 1 - $mask1 { addblack $mask1 } ...Mask 2 - $mask2 { addblack $mask2 } ...Mask 3 - $mask3 { addblack $mask3 } ..- ..$submenu($GenerateMasks($1)) .- .Add Custom:addblack .- .$iif($ulist($address($$1,5),black,1) && $snick($active,0) == 1,Delete from Black List) { var %a = 1, %b = 0 | while ($ulist($address($$1,5),black,1)) { inc %b | .ruser black $v1 } | echo -tag * Blacklist cleared of: %b item $+ $iif(%b != 1,s) $+ ! } .- .$iif($ulist(*,black,1),Clear Blacklist) { var %r = $ulist(*,black,0) | .rlevel black | echo -tag * Blacklist cleared of: %r item $+ $iif(%r != 1,s) $+ ! } .- - } menu menubar,status,channel { - Blacklist $chr(9) $+([,$replace($group(#black).status,o,O),]) { $iif($group(#black).status == on,.disable,.enable) #black | echo -tag * Blacklist $replace($group(#black).status,On,enabled!,Off,disabled!) } - } alias f2 { addblack } alias -l checkial { if (!$chan($1).ial && $me ison $1) { .ialfill $1 } } alias -l getaddr { return $mask($address($snick($active,1),5),4) } alias -l mask1 { return $deltok($getaddr,2-3,46) } alias -l mask2 { return $deltok($getaddr,3,46) } alias -l mask3 { return $+($deltok($getaddr,4,46),.*) } alias -l dummyhost { return $mask(test!test@127.0.0.1,$1) } alias -l appendaddress { var %a = 1, %b | while ($snick($active,%a)) { %b = $v1 | addblack $address(%b,$1) | inc %a } } alias -l GenerateMasks { if ($1 = begin || $1 = end) { return - } elseif ($1 isnum 1-12) { var %lvl = $1 - 1, %addy = $address($snick($active,1),%lvl) if (%addy) { return Mask %lvl - %addy : addblack %addy } } } alias -l GenerateMultiMasks { if ($1 = begin || $1 = end) { return - } elseif ($1 isnum 1-12) { var %lvl = $1 - 1 return Mask %lvl - $dummyhost(%lvl) : appendaddress %lvl } } alias -l addblack { if ($1 == $null) { tokenize 32 $input(Host to blacklist?,5) } if ($! || $1 != $null) { var %n = $v1, %total = $ulist(*,black,0) | .auser black %n | if (%total != $ulist(*,black,0)) { echo -tag * $+([,$ulist(*,black,0),]) Added: $qt(%n) } } else { echo -tag * Nothing to add! } }
Changelog:
- 1.8 (1/15/20)
Changed the organization of menus
- 1.7 (12/12/19)
Fixed "IP Ban" bug
- 1.6 (12/11/19)
Redesigned the basics
- 1.5 (12/11/19)
Added more options
- v1.4 (12/10/19)
Did some small tweaks
- v1.3 (12/10/19)
Finalized the submenus
- v1.2 (12/10/19)
Rewrote it all. Works well
- 1.8 (1/15/20)
Changed the organization of menus
- 1.7 (12/12/19)
Fixed "IP Ban" bug
- 1.6 (12/11/19)
Redesigned the basics
- 1.5 (12/11/19)
Added more options
- v1.4 (12/10/19)
Did some small tweaks
- v1.3 (12/10/19)
Finalized the submenus
- v1.2 (12/10/19)
Rewrote it all. Works well