Matty, still a small booboo:
code:
case 'do' :
        return m[2]+' 'objChatWnd[pChatWnd.Handle];
=>
code:
case 'do' :
        return m[2]+' '+objChatWnd[pChatWnd.Handle];
Not exactly sure what he wants either though....
--
I first thought he wanted to append the text "(John)" to John's nickname in a chat window (which is indeed not possible with Plus! scripting)
--
Then I thought he meant he wanted to save a textual shortcut to the chatwindow, so he can write, from another chat window, to this now named chat window. Something like:
Input in a chat with John:
  /setname MyChatWithJohn
Input in a chat with Tom:
  /do hello
Output in chat with John:
  Me says:
  hello (MyChatWithJohn)
--
But now I see you believe he asks for yet something else...
so... 