Fixed algorithm to determine zodiac sign. Tested with Sagittarius/Capricorn. Should retest tomorrow with other signs. Unwarranted precision.
Config may or may not be screwed up. Rewrote reply() to just pull its source.channel, source.character out of the message object it replies to, instead of bothering of putting it into datapipe as an intermediary. reply() now takes three arguments - the string to send as reply, the Message instance from which to pull Source and optionally, route_override. reply by default sends its reply to the user via the same path the command came in, e.g. channel to channel, PM to PM. path_override lets you force a path to only ever reply in PMs or what have you.
Big hotfix after messing with reply and screwing up almost all plugins. Minor cleanups and whatnot. Made part() work correctly.
Fixed issues with self.reply / reply. Updated plugins to use new format. Tried porting links over from the old format.
Fixed links module auuuugh
Fixed tarot plugin errors, bad standard access permissions for .ignore and added ability to not check age for a channel by setting it to 0. Also added a huge waste of CPU cycles by parsing FLN (someone has logged off - sent for ANY user on the ENTIRE network, great job) so that an admin/user logging out without leaving the room doesn't in fact screw the bot over. Which means parsing everyone for every room. AMAZING.
Reworked age checked to be off by default, switched on by commands. Setting minage to 0 switches it off again. Deleted loginLock. Just F5 until the sequence works right.
Entire program now uses all unicode, all the time. It's almost like I'm using Python 3.x (and since this works via a __future__ import I guess I kinda am). The reason? Using stars in the youtube parser. There's such a thing as style. Also fixed channels without settings getting dumped.
Rewrote utils.log so strings can be prettified with a timestamp without dumping to file - utils.log(text, 0). Mode 0 just prints, 1 dumps to log, 2 to error log, 3 to verbose log. 3 is default. Fixed lastseen processing. Probably.
Fixed logging system. Hopefully. Or maybe not.
Logging stuff