MrBot
Revision as of 15:18, 27 March 2010 by Licah Fox (talk | contribs) (RS IRC Bot moved to MrBot over redirect: More accurate title)
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 http://www.rebelsquadrons.org/irc/bot.help for instructions on using the bot.
Contents
todo
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 http://icte.darkjedibrotherhood.com/schedule.html)
- 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? :mesa.az.us.undernet.org 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 http://www.mso.anu.edu.au/~ralph/OPTED/ -- !etym can use http://www.etymonline.com/index.php?term=zephyr -- add links to urbandictionary and a comprehensive dictionary site for definitions that seem to fail (answers.com?)
- 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 icte.rs.org? since it's going to be a major site of its own. Or, maybe just rs.org/icte 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. http://phrontistery.info/a.html