There's no need to explicitly clear the clipboard, as you're overwriting the contents anyway.
To wait for a keypress, you can use an empty loop:
Start Loop While : Keyboard Key 'Enter' Is Not Pressed
End Loop
You could potentially do away with the enter keypress action, and just have your physical keystroke open the chat window instead.
If you want to make sure your keystroke doesn't interfere with pasting, you could use another loop to wait for it to be released before proceeding, E.G.
Start Loop While : Keyboard Key 'Enter' Is Not Pressed
End Loop
Start Loop While : Keyboard Key 'Enter' Is Pressed
End Loop
To end dictation using speech, you can do something like
Start Dictation Mode (Clearing Dictation Buffer)
Wait for spoken response: 'dictation complete'
Stop Dictation Mode
Recognized commands and/or responses are not added to the dictation buffer, so you don't need to worry about them getting typed accidentally (assuming you pick a phrase that is recognized reliably).
Another option is to try and detect when you have finished speaking, as outlined
here.