Steve-V/tgg-BotSteve — pull request #111 by astronouth7303 (2011-12-11 04:25:26+00:00)
Title: NickTracker

The huge NickTracker patch, as discussed in GH-101.

The actual tracking code itself is all in `modules/nicktracker.py`. The obvious and easy modules to use it (seen and tell) also have implementations to use it which are backwards compatible.

On top of all that, there are piles of other fixes and feature implementations, including:

* Fixing the asynchat race condition
* Added DaemonThread, startdaemon, and TimeTrackDict to `tools.py`
* Added the ability for modules to override `CommandInput` and `PhennyWrapper`
* Added the idea of an event and implemented an event source mixin to support it (`event.py`)
* Added some debugging stuff with regards to message sending and receiving (enabled by setting `SHOW_DISPATCH` in the environment)
* Moved the default configuration to its own file (`config.py.tmpl`)
* Actually throw a warning for `@deprecated` functions
* Organized and grouped the methods in bot.Phenny