/* * ban removers, 1993, 1997 * This script requires ircII-EPIC4. */ # returns non-0 if $0 matches or is matched by $1-, 0 if not. alias comatch @ function_return = match($*) || rmatch($*) alias deban_mode { fe ($*) bx by bz { @ :moder = bz?[-bbb]:by?[-bb]:bx?[-b]:[] if (moder) { mode * $moder $bx $by $bz } } } # remove all bans on current channel alias deban uniban * $* # remove all bans that could cover nickname alias unban uniban $0!$uh($0) # remove all bans matching or matched by pattern alias uniban { ^local unbanlist ^local p $0 stack push on 367 stack push on 368 ^on ^367 * { bless if (comatch($2 $p)) { push unbanlist $2 } } ^on ^368 * { bless stack pop on 367 stack pop on 368 deban_mode $unbanlist } ^mode ${[$1]?[$1]:C} +b wait } # remove all bans that contain a literal text substring alias nban { local unbanlist local p $0 stack push on 367 stack push on 368 ^on ^367 * { bless if (rmatch($2 *$p*)) { push unbanlist $2 } } ^on ^368 * { bless stack pop on 367 stack pop on 368 deban_mode $unbanlist } ^mode ${[$1]?[$1]:C} +b wait } #hop'93