rendered paste body; put this in Remote Scripts:
alias rainbow {
if ($group(#rainbow) == on) {
var %cindex = 1
var %len = $mid($1-,1,0)
var %in
var %let = 1
var %letter
while (%let <= %len) {
%letter = $mid($1-,%let,1)
if (%letter == $chr(32)) {
if (($asc($mid($1-,$calc(%let + 1),1)) >= 48) && ($asc($mid($1-,$calc(%let + 1),1)) <= 57)) {
%in = %in $+ $chr(32) $+ $+ $gettok(4.7.8.9.3.10.11.12.2.6.13,%cindex,46) $+ $+ $mid($1-,$calc(%let + 1),1)
}
else {
%in = %in $+ $chr(32) $+ $+ $gettok(4.7.8.9.3.10.11.12.2.6.13,%cindex,46) $+ $mid($1-,$calc(%let + 1),1)
}
inc %cindex
%let = $calc(%let + 2)
}
else if (($asc(%letter) >= 48) && ($asc(%letter) <= 57)) {
%in = %in $+ $+ $gettok(4.7.8.9.3.10.11.12.2.6.13,%cindex,46) $+ $+ %letter
inc %cindex
%let = $calc(%let + 1)
}
else if ((%letter == $chr(2)) || (%letter == $chr(31)) || (%letter == $chr(15)) || (%letter == $chr(22))) {
%in = %in $+ %letter
%let = $calc(%let + 1)
}
else {
%in = %in $+ $+ $gettok(4.7.8.9.3.10.11.12.2.6.13,%cindex,46) $+ %letter
inc %cindex
%let = $calc(%let + 1)
}
if (%cindex == 12) { %cindex = 1 }
}
return %in
}
else {
return $1-
}
}
#rainbow off
on *:INPUT:*:{
if (/* !iswm $1) {
//msg $active $rainbow($1-) | halt
}
}
#rainbow end
; put something like this in Popups (can be in status, channel, query, nick list, menu bar, whichever you want... select it by clicking on the Popups tab, and then clicking "View")
$iif(($group(#rainbow) == on),Disable Rainbow Script,Enable Rainbow Script):{
if ($group(#rainbow) == on) { /.disable #rainbow }
else { /.enable #rainbow }
}