@Epic just change:
.timer 1 2 describe # $replace($1-,$me,%nick)
To:
.timer 1 2 describe # $replace($1-,$me,$nick,$chr(36),$+($chr(36),!),$chr(37),$+($str($chr(2),2),$chr(37)),|,$+($str($chr(2),2),|))
careful Ford :P we can easily circumvent this with evaluation brackets, for example $1- = '[ [ $identifier ] ]' becomes '[ [ $!identifier ] ]' and so '$identifier' still evaluates when the timer fires.
the $encode/$decode method is tried and true, but causes problems for users who have $decode locked. also, MIME type encoding inflates the string by at least a third of its original length (length in UTF-8, that is). it has its advantage, in that it doesn't require the addition of custom aliases; but the right custom alias would make for a much more optimal method of escaping code.
here is a relatively recent discussion on the issue, i have a small snippet at the end there which is an attempt to advance the methodology regarding escaping strings