I misread. That's how the /describe command works, it will be you performing the action on the specified channel (target). I have no idea why it won't work for you, did you make sure your remotes aren't disabled? Try typing Type /remote on

AWEstun: The ^ prefix is for halting the default text.

Code:

on *:JOIN:#JohnDoeChannel: {
  if ($nick == JohnDoe {
    describe $chan Waves Hi
  }
}