This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates 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.