on $*:text:/^[!@]set */Si:#:{ if (($nick isop $chan) || ($address($nick,2) = $address($me,2))) { if ($settable($2) = true) { var %x $iif($left($1,1) = @, .msg $chan, .notice $nick) var %prefix *** $+($s1,$chr(91),$s2,SET,$s1,$chr(93),) var %y $s1 $+ $replace($2,$left($2,1),$upper($left($2,1))) is now $s2 $+ $3 $s1 $+ for $chan $+ . if ($regex($2,/^(c(o)?mb(at)?|stats)$/Si)) { set %statson [ $+ [ $chan ] ] $3 %x %prefix %y } if ($regex($2,/^ge(update)?$/Si)) { set %gestatus [ $+ [ $chan ] ] $3 %x %prefix %y } if ($regex($2,/^alch(emy)?$/Si)) { set %alchstatus [ $+ [ $chan ] ] $3 %x %prefix %y } if ($regex($2,/^fml$/Si)) { set %fmlstatus [ $+ [ $chan ] ] $3 %x %prefix %y } if ($regex($2,/^weather$/Si)) { set %weatherstatus [ $+ [ $chan ] ] $3 %x %prefix %y } if ($regex($2,/^y(ou)?t(ube)?$/Si)) { set %ytstatus [ $+ [ $chan ] ] $3 %x %prefix %y } if ($regex($2,/^url$/Si)) { set %urlstatus [ $+ [ $chan ] ] $3 %x %prefix %y } if ($regex($2,/^abc(s)?$/Si)) { set %abcstatus [ $+ [ $chan ] ] $3 %x %prefix %y } if ($regex($2,/^spell(s)?$/Si)) { set %spellstatus [ $+ [ $chan ] ] $3 %x %prefix %y } } ;else { .notice $nick I don't believe $2 is able to be set. } } elseif ($nick !isop $chan) { .notice $nick You must be an OP to set these. } } alias settable { if ($regex($1,/^((alch(emy)?)|(ge(update)?)|(fml)|(url)|(y(ou)?t(ube)?)|(weather)|(abc(s)?)|(c(o)?mb(at)?|stats)|(spell(s)?))$/Si)) return true }