For timers, this should solve the problem, although I suspect there might be a less confusing way that I can't think of right now:
timer 1 3 msg $!right(: $+ $chan $+ ,-1) hello!
In case anyone was thinking of using this particular workaround, I just wanted to point out that this is not a good solution after all. It would break with many channel names, e.g., any channel with a parenthesis in the name. A proper solution would require a more complex solution like $encode/$decode.