/* * ban removers, 1993, 1997 * This script requires ircII-EPIC4. */ # returns 1 if $0 matches or is matched by $1, 0 if not. alias comatch @ function_return = (rmatch($0 $1) || rmatch($1 $0)) 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 .