on *:join:#: {
if ($nick == $me) {
.ial on | ialfill $chan
return
}
if ($address isin %banlist. [ $+ [ $chan ] ]) { kick $chan $nick You are not welcome here }
}
on *:OP:#: {
if ($opnick != $me) { return }
.timer 1 5 /check_banned $chan
; I Put a delay on the check_banned incase you are opped before the /ialfill finishes.
}
alias -l check_banned {
var %i = 1
while ($ialchan(*,$$1,%i) {
if ($ifmatch isin %banlist. [ $+ [ $chan ] ]) { kick $chan $nick You are not welcome here! }
}
}
alias -l ban_nick {
var %nick = $1
var %chan = $2
var %address = $ialchan(%nick,%chan,1)
if (!%address) { return }
if (%address in %banlist. [ $+ [ $chan ] ]) { return }
set %banlist. [ $+ [ %chan ] ] = %banlist. [ $+ [ %chan ] ] %address
}
alias -l unban_nick {
var %nick = $1
var %chan = $2
var %address = $ialchan(%nick,%chan,1)
if (!%address) { return }
set %banlist. [ $+ [ %chan ] ] $remove(%banlist. [ $+ [ %chan ] ], %address)
}
on *:SERVEROP:#: { }