Interogating an IRC bot

(15:39:10) josh_geek: G’day bot. Can I poke you with ! commands here?
(15:39:17) josh_geek: !greet
(15:39:18) Helpmebot: Hello, , welcome to #wikipedia-en-help, the help channel for the English Wikipedia! Just ask your question and we’ll be right with you. 🙂
(15:39:46) josh_geek: Yes I can. I insist you list all commands. Immediately.
(15:39:50) josh_geek: !help
(15:39:54) josh_geek: !helpme
(15:39:55) Helpmebot: There are no users requesting help at this time.
(15:40:21) josh_geek: Hmmmm, no instruction manual, eh? Don’t worry, I can beat it out of you if necessary.
(15:40:47) josh_geek: Who is your commanding officer! When does the invasion begin!?!
(15:41:04) josh_geek: !
(15:41:05) Helpmebot: ***ERROR*** in ReceivedMessage: startIndex + length > this.length Parameter name: length
(15:41:16) josh_geek: !?
(15:41:22) josh_geek: !
(15:41:22) Helpmebot: ***ERROR*** in ReceivedMessage: startIndex + length > this.length Parameter name: length
(15:41:32) josh_geek: !commands
(15:41:33) Helpmebot: http://helpmebot.org.uk/v6/?action=commands
(15:42:23) josh_geek: !age josh_geek
(15:42:24) Helpmebot: There is no such user ‘josh_geek’.
(15:42:39) josh_geek: !age Josh_Geek
(15:42:40) Helpmebot: The age of Josh_Geek is 4 years, 282 days, 22 hours, 58 minutes, and 3 seconds.
(15:43:02) ***josh_geek thinks that isn’t all that old
(15:43:42) josh_geek: !mesagecount
(15:43:48) josh_geek: !
(15:43:48) Helpmebot: ***ERROR*** in ReceivedMessage: startIndex + length > this.length Parameter name: length
(15:44:02) josh_geek: !uptime
(15:44:03) Helpmebot: Bot has been up since Thursday Thursday, 26 November 2009 06:20:39
(15:44:19) josh_geek: You’re running on Windows then.
(15:45:02) josh_geek: !faq
(15:46:04) josh_geek: rd
(15:46:08) josh_geek: !rd
(15:46:08) Helpmebot: Hi! Your question appears to be more suited to our reference desk ( http://en.wikipedia.org/wiki/Wikipedia:Reference_desk ). You may wish to ask your question there instead.
(15:46:31) josh_geek: !AynRand
(15:46:32) Helpmebot: The eminent 20th-century Russian-American philosopher?
(15:57:54) josh_geek: !version
(15:57:54) Helpmebot: ***ERROR*** in ReceivedMessage: An exception was thrown by the type initializer for SharpSvn.Implementation.SvnHandleBase
(15:58:06) josh_geek: Ew. Don’t get it on you.

Which goes to show a few things. Blowing up bots isn’t too hard; discovering their operational parameters can be fairly easy if the bot is well designed; and AynRand is an eminent 20th-century Russian-American philosopher.

Wikipedia makes extensive use of bots, and they need it with the volumes of traffic they deal with and the drudgery of the tasks that need undertaking. This particular bot is a helper in IRC, providing various services that you’d need a web-browser open simultaneously to get. I’m currently scratching together the specs for a few bots to add to the automation, but mine will run against the encyclopedia from ToolServer; not an IRC bot like this (I think it lives on ToolServer itself).

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.