- Take a botbase like dagny
- Add a Markov Chaining engine like this
- Mix together thoroughly with Python magic.. and presto!
I'm very impressed with dagny - it's largely the shell of an IRC bot, with the ability to plug in arbitary event handlers, that trigger then the bot gets a message that matches your specified regexp.
An infobot-style bot is a simple application of a regexp that matches "is" and "are" and whatever comes before and after them.
For the Markov chainer, I store each word along with the people who used it, so you can get an entirely random Markov chain, or a Markov chain that imitates the style of a particular person. It will also generate a chain guaranteed to contain a particular word, if a sentence including that word has been mentioned in the bot's presence.
(I forget why I decided Moby needed a word list, but just in case he ever does, there's always the coincidentally named Moby Word List: http://www.dcs.shef.ac.uk/research/ilash/Moby/ )