Currently online in the major RS channels as MrBot. MrBot has been online since August 4, 2007. He was offline for four months, 2008.02.07-2008.06.07, but has been back ever since.

If MrBot is not online, send an email to Licah and he will investigate.

See for instructions on using the bot.


Necessary before "v1.0"

  • Bot doesn't reconnect sometimes :(
  • Bot sometimes just vanishes and ceases operation without error. Only possible clues are that Josh was peered immediately beforehand, and there was a batch of mysql connection errors just before that. Bot should never reach end of script without !quit.. research!
  • Aggressively attempt to regain nick MrBot if stolen

and then

  • Don't respond to !lookup in #db
  • Fix topics to allow more than one word :P
  • MrBot loses track of you if you change your nick to the same characters, but different cases. (Licah > LICAH)
  • is there some kind of autotopic going on? weird...investigate
  • Update "seen" if person PARTs a channel
  • Automatically set +nst if opped or entering channel
  • Don't reply to X's msgs
  • Swear filter: allow setting via PM?
  • further standardize error messages? -- make everything work like !op - including self-op-recognition
  • resolve owner but not manager problems - e.g. Swifty #rid.
  • !access - if only one channel, remove "s"
  • Find out what's causing the occasional fwrite() errors
  • (Website) Make it possible to edit stuff via website.
  • (Website) figure out /irc/ folder, update /chat/ a little bit more - need to put /irc/tutorial.html back up (see
  • slashes in channels or nicks are fatal; simply need to mres every channel and nick
  • make sure log off mode is 100% error-free? though no one uses it.
  • (!op) trying to op multiple people at once is bad:
[2008.07.24 20:06:25] <Lespin> !op Codyman Lespin
[2008.07.24 20:06:25] MrBot sets mode: +pino Codyman
  • support for channel modes (+n, +s, +t) - put in mysql table?
  • after kick, need to update seen/online (also after part?) - this is supposed to be in there already..
  • "I've been online for 1 week, 6 days, 23 hours, 59 minutes, 60 seconds, since 2008.11.23 10:28:23pm EST." After 2 weeks uptime, command works improperly. (Nice to get that much uptime!)

other updates to consider

  • "Target change too fast." message clogs up some logs. remove from logs entirely.
  • update to use servers from db
  •  !access - people still not getting the right order - figure out what to do
  •  !topic - keep track of topic? allow !topic to have mrbot say topic (since undernet servers sometimes make it be lost)
  • (!seen) searchroster(): search ABG chars too
  • seen: recursive nick checks? licah|afk has not /nick'd LicahEvlDead, so there are now two results for "licah" while licah is licah|afk (because of different hostmasks)
  • logs: consider making monthly archives of logs for filesize purposes
  • Scrambler: !pause?
  • Scrambler: option for private games
  •  !seen - should take a parameter of how many results - provide some way to see all? maybe on chat website
  •  !logout ability, more than just !private
  • ops recognition: bot doesn't realize it has ops when it creates a channel, like #scrambler.
  • consider dealing with this msg? 482 MrBot #rsio :You're not channel operator
  • make command to have MrBot state which channels he does and does not have ops
  • +ooo does not work for MrBot to recognize itself being opped?
  • \ in nicks is not saved to seen list
  • socket_accept() constantly generates errors? suppressed for now
  • (re)connecting: lots of php errors generated -- need to suppress some (especially related to sockets, since we use error-handling for that)
  •  !dice: any logged-in person should be able to control this (also true w/!scrambler?)

expanded functionality

  • (ICTE) matchmaking mode in multiple channels?
  • (Games) trivia / hangman / wheel of fortune
  • dictionary def: !def can use -- !etym can use -- add links to urbandictionary and a comprehensive dictionary site for definitions that seem to fail (
  • add support to reconnect to MySQL if the service is rebooted and/or the connection doesn't exist. Makes bot more robust, and we can restart mysql service as needed.
  • I kinda want to revamp ICTE a lot and start awarding idle points, like the plan was for ORW3. That would involve some bot stuff, too. We can set that up with auto-on and auto-off for MrBot... it could be a completely automated ICTE system.. some sweet stuff could happen. It'd take a fair amount of time, but not as much as you might think. let's think about it.. also, maybe since it's going to be a major site of its own. Or, maybe just will still work. That's a whole project to consider.. woot
  • (RS-wide merits) add support for the two potential bot things
  • (Stats) add support for line-counting, etc.
  • keep track of everyone's status (+v, +o)
  •  !access doesn't work without providing a channel name - providing this ability would be tricky, since 1,2,3 are pins as well. Should be doable in some fashion.

Scrambler logs

  • do some RS lists (can pull automatically from db and format -- like ABG chars, medals, etc)
  • add logs from other scrambler (morelogs.rar)
  • List of unusual words -- huge.