This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
You're splitting the line into tokens, and sending each one with a separate PRIVMSG command. If you don't want the line split into tokens, then just pass the whole line (after the !say, of course) to the say() method. You'll presumably need to modify your regular expression to match the message part of the line as a group, so you can extract just the message.