rendered paste bodyon *:text:`o*:#:{
var %z, %t, %q, %g, %n
if ($me !isowner $chan) { halt }
if ($getustatus($nick) > 4) { halt }
if (!$2) {
%z = $nick
if (%get.nick isowner $chan) {
mode $chan -qo %get.nick %get.nick
mode $chan +o %get.nick
halt
}
if (%z isop $chan) { halt }
mode $chan +o %z
halt
}
else {
%t = $+($2,$chr(95)) | %q = $len(%t)
var %nko 1
while (%nko <= $nick($chan,0)) {
if ($left($nick($chan,%nko),%q) == %t) {
%g = $replace($+($gettok($$ial($nick($chan,%nko) $+ *,1).addr,1,64),$chr(42),$chr(64),$chr(42)),$chr(126),$chr(42))
%n = $+($chr(42),$chr(33),%g)
set %get.nick $nick($chan,%nko)
set %get.gate %n
if (($getustatus($nick) > 3) && (%get.nick isowner $chan)) { halt }
if (%get.nick isowner $chan) {
mode $chan -qo %get.nick %get.nick
mode $chan +o %get.nick
halt
}
if (%get.nick isop $chan) { halt }
mode $chan +o %get.nick
halt
}
inc %nko
}
}
haltdef
}