alias blacklist { if ($readini(blacklisted.ini,$address($1,2),$1) == yes) { echo -a $+($chr(91),Blacklist,$chr(93)) User: $1 Hostmask: $address($1,2) is already blacklisted. Reason: $iif($readini(blacklisted.ini,$address($1,2),reason),$readini(blacklisted.ini,$address($1,2),reason),-) } else { if (!$1) { echo -a Syntax: /blacklist nick [reason] halt } if ($address($1,2) == $null) { echo -a The Hostmask of $1 could not be resolved, an automatic raw user host finder has been initiated for Nick Only banning. /getrawuser $1 timer 1 3 set %toban $!(*!*,$+,$noident(%host))) timer 1 3.5 echo -a Rawuserhost match: $1 Userhost: $$(%toban) timer 1 4 writeini blacklisted.ini $1 details Nick: $1 Hosmask: $$(%toban) Time Blacklisted: $time Date blacklisted: $date timer 1 5 globalban $1 } else { writeini blacklisted.ini $address($1,2) $1 yes writeini blacklisted.ini $1 details Nick: $1 Hosmask: $address($1,2) Time Blacklisted: $time Date blacklisted: $date writeini blacklisted.ini $address($1,2) $address($1,2) yes if ($2-) { writeini blacklisted.ini $address($1,2) reason $2- } amsg $+(4,$chr(91),10»Blacklist,«4,$chr(93)) 4[10Nick4]10 $1 (Hostmask: $address($1,2) $+ ) $iif($2-,4[10Reason4]10 $2-) echo -a Global banning will now start var %x = 1 while (%x <= $chan(0)) { timer 1 2 mode $chan(%x) +b $address($1,2) | kick $chan(%x) $1 $+(4,$chr(91),10»Blacklist,«4,$chr(93),10) $iif($2-,4B10lacklisted. 4R10eason: $2-,4B10lacklisted.) | inc %x } } } } alias unblacklist { if (!$1) { echo -a Syntax: /unblacklist user *!*@address.com [If you do not have the address please use /check nick] halt } else { remini blacklisted.ini $2 remini blacklisted.ini $1 amsg $+(4,$chr(91),10»Unblacklisting,«4,$chr(93)) 4[10Nick4]10 $1 (Hostmask: $2 $+ ) echo -a Global unbanning will now start var %x = 1 while (%x <= $chan(0)) { timer 1 2 mode $chan(%x) -b $2 | inc %x } } } on *:JOIN:#:{ if ($readini(blacklisted.ini,$address($nick,2),$nick) == yes) || ($readini(blacklisted.ini,$nick,details) != $null) { if (($me isop $chan) || ($me ishop $chan)) { ban -k $chan $nick $+(4,$chr(91),10»Blacklist,«4,$chr(93)) 4B10lacklisted. $iif($readini(blacklisted.ini,$address($nick,2),reason),4R10eason: $readini(blacklisted.ini,$address($nick,2),reason)) } else { msg $chan $+(4,$chr(91),10»Blacklist,«4,$chr(93)) $nick is on my blacklist. Please KB $iif($readini(blacklisted.ini,$address($nick,2),reason),Reason: $readini(blacklisted.ini,$address($nick,2),reason),No reason found however) } } } alias check { if (!$1) { echo -a Syntax: /check user halt } else { if ($readini(blacklisted.ini,$1,details) == $null) { echo -a ' $+ $1 $+ ' not found in blacklist } else { echo -a Results for ' $+ $1 $+ ': echo -a $readini(blacklisted.ini,$1,details) $iif($readini(blacklisted.ini,$gettok($readini(blacklisted.ini,$1,details),4,32),reason),Reason: $readini(blacklisted.ini,$gettok($readini(blacklisted.ini,$1,details),4,32),reason)) } } } alias noident { var %x = 1 while (%x <= $calc($len($1) + 1)) { if (!%atfound) && ($mid($1,%x,1) != @) { inc %x } if (!%atfound) && ($mid($1,%x,1) == @) { var %result = @ set %atfound yes inc %x } if (%atfound == yes) && ($mid($1,%x,1) != @) { var %result = %result $+ $mid($1,%x,1) inc %x } elseif ($mid($1,%x,1) == $null) { halt } } unset %host unset %atfound return %result } alias getrawuser { unset %host set %ipnick $1 set %output echo -a userhost $1 } alias globalban { amsg $+(4,$chr(91),10»Blacklist,«4,$chr(93)) 4[10Nick4]10 $1 (Hostmask: $$(%toban) $+ ) Reason could not be written var %x = 1 while (%x <= $chan(0)) { mode $chan(%x) +b $$(%toban) kick $chan(%x) $1 $+(4,$chr(91),10»Blacklist,«4,$chr(93),10) 4B10lacklisted. inc %x } } alias blhelp { echo -a Commands: echo -a /blacklist user [reason] - blacklists a user globally, Reason is optional echo -a /check user - Gives details of a users blacklist if applicable echo -a /unblacklist user *!*@Host.Mask [If you do not know the host mask do /check user } raw 302:*: { if (%ipnick) { if ($2- == $null) { set %host Not online } else { tokenize $asc(=) $2- set %host $remove($replace($2-,$chr(43),$chr(32)),$chr(32)) } unset %output unset %ipnick }