Mine
public text v1 · immutablevgta {
var %doSmilies = 1
var %noRepeat = 1
var %len = $rand(20,30), %i = 1, %str, %s, %l
var %ar = @#$%&*
while (%i <= %len) {
if (%noRepeat == 1) {
:go
%s = $mid(%ar,$rand(1,$len(%ar)),1)
if (%s == %l) { goto go }
%l = %s
%str = %str $+ %s
}
else {
%str = %str $+ $mid(%ar,$rand(1,$len(%ar)),1)
}
if ($rand(1,5) == 3 && %doSmilies == 1) {
%str = %str q:) $+ $chr(160)
}
inc %i
}
if ($isid) {
return %str
}
else {
msg $active %str
}
}