You could use regex in the trigger to make it shorter:
On $*:TEXT:/^[~]*/Si:*: { if ($mid($1,1) == ~do) { $antiflood($1) $iif($query($nick),describe $2 $3-,describe # $2-) } Elseif ($mid($1,1) == ~say) { $antiflood($1) $iif($query($nick),msg $2 $+(% ,$3-),msg # $+(''',$2-,''')) } }