Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


NickTracker #111

merged 59 commits into from

2 participants


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

The actual tracking code itself is all in modules/ 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
  • 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 (
  • 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 (
  • Actually throw a warning for @deprecated functions
  • Organized and grouped the methods in bot.Phenny
astronouth7303 added some commits
@astronouth7303 astronouth7303 PEP-8 and Steve-V#85. 480bdb2
@astronouth7303 astronouth7303 A few typos in the last commit. 161ceda
@astronouth7303 astronouth7303 Added some extension code for service modules. 0e7d076
@astronouth7303 astronouth7303 Filing away notes for future improvements. 3118d0b
@astronouth7303 astronouth7303 Got basic NickServ parsing working. 34a427b
@astronouth7303 astronouth7303 Better parsing and the start of querying logic. 02c9d91
@astronouth7303 astronouth7303 Can give a nick to the tracker commands now. 5a4bc8d
@astronouth7303 astronouth7303 Just moving stuff around so the dense string parsing is at the bottom 5b504e9
@astronouth7303 astronouth7303 If ACC gets nick '*', don't do anything with it. df93db3
@astronouth7303 astronouth7303 Implement the nick/account mapping. 7b9549b
@astronouth7303 astronouth7303 Added query queue and initial processing. 235cf95
@astronouth7303 astronouth7303 Lots more comments, plus a bug. d1ca965
@astronouth7303 astronouth7303 It works! I don't think there's any major bugs left in the processing…
… code.
@astronouth7303 astronouth7303 Added a "canon" command to help test things. ba87646
@astronouth7303 astronouth7303 Bug in NICK handling. 211dd0d
@astronouth7303 astronouth7303 Fixed up nick changing so it doesn't throw errors. ced92d6
@astronouth7303 astronouth7303 Unified handling of status, better parsing, and an environ option to …
…print dispatches.
@astronouth7303 astronouth7303 Better prints and altnicks. a2a9a57
@astronouth7303 astronouth7303 Added EventSource. Useful for later. cce0798
@astronouth7303 astronouth7303 A TimeTrackDict, to help maintain caches. a5fae0c
@astronouth7303 astronouth7303 A utility function to start a daemon thread, since that code is used …
@astronouth7303 astronouth7303 Warn about functions using @deprecated. 28bfe5a
@astronouth7303 astronouth7303 Use TimeTrackDict for the nick/account store. 44d168d
@astronouth7303 astronouth7303 Added more detailed NICKTRACKER flags. 7a8d6ad
@astronouth7303 astronouth7303 Actually track which nicks ACC should retry. 2531d73
@astronouth7303 astronouth7303 Use startdaemon(), allow overriding of PhennyWrapper.msg(). 3c493ad
@astronouth7303 astronouth7303 Allow a config for the data expiry, and move the default config to an…
… outside file.
@astronouth7303 astronouth7303 Added TimeTrackDict.checktimes() to force a check for expired items. 413a675
@astronouth7303 astronouth7303 Formats, typos, and prints. dea3550
@astronouth7303 astronouth7303 Only expire items once. 775b3fd
@astronouth7303 astronouth7303 Use a set internally instead of list. 587cbf4
@astronouth7303 astronouth7303 Use a real traceback when errors fall through, help debug Steve-V#105. dedcfdb
@astronouth7303 astronouth7303 Added "unregistered" and "deleted" handling. Improved ACC usage by as…
…king for the account name.
@astronouth7303 astronouth7303 Added printing of sends as well as dispatches, and changed the behavi…
…or of QUIT and PART. (Do an update.)
@astronouth7303 astronouth7303 GH-85 on tell. 616b4fe
@astronouth7303 astronouth7303 Got tell up to nicktracker speed. 3794a46
@astronouth7303 astronouth7303 Working on getting seen to work. getalts() is horribly broken. fe8a2c1
@astronouth7303 astronouth7303 Fixed getalts(). d481f24
@astronouth7303 astronouth7303 Seen now working with nicktracker. 901f9e5
@astronouth7303 astronouth7303 Don't return duplicate nicks from getalts() 00b0e15
@astronouth7303 astronouth7303 Cleaned up. Fixed a bug. And don't go checking for multiple nicks. 000a78c
@astronouth7303 astronouth7303 Put the sort in the right order. 6a11f26
@astronouth7303 astronouth7303 Fix a typo and added some more TODOs. 9e23503
@astronouth7303 astronouth7303 SQLite seems to basically work. df12c35
@astronouth7303 astronouth7303 Expire data in getalts() 83d319c
@astronouth7303 astronouth7303 One last bug. I hope. 9f5fc59
@astronouth7303 astronouth7303 Fixed a bug with regards to where NickServ reports the wrong nick. d5be006
@astronouth7303 astronouth7303 Use startdaemon(). 1373c31
@astronouth7303 astronouth7303 Fixed a bug with renames, and added transactions. 85f1be4
@astronouth7303 astronouth7303 Namespace accounts and nicks in seen. c3f05b6
@astronouth7303 astronouth7303 Added NickTracker support to greet. 15903a1
@astronouth7303 astronouth7303 Change that didn't make it into the rebase. 918fd4a
@astronouth7303 astronouth7303 Don't wipe out accounts when the user goes OFFLINE. a7dbeb1
@astronouth7303 astronouth7303 I think I fixed Steve-V#105. We'll see. 3ed5e21
@astronouth7303 astronouth7303 Oops. Forgot the other half of that. 2ac9d62
@astronouth7303 astronouth7303 Fixed a logic error in renick handling. 60f800c
@astronouth7303 astronouth7303 Added DaemonThread class to support subclassing threading.Thread whil…
…e staying DRY.
@astronouth7303 astronouth7303 Added some encapsulation to nicks_to_process. 49d3bce
@astronouth7303 astronouth7303 Fixed a typo and added some documentation. cdca027
@Steve-V Steve-V merged commit e9b698d into Steve-V:master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Nov 22, 2011
  1. @astronouth7303

    PEP-8 and Steve-V#85.

    astronouth7303 authored
  2. @astronouth7303
  3. @astronouth7303
  4. @astronouth7303
  5. @astronouth7303
  6. @astronouth7303
  7. @astronouth7303
  8. @astronouth7303
  9. @astronouth7303
  10. @astronouth7303
  11. @astronouth7303
  12. @astronouth7303
  13. @astronouth7303
  14. @astronouth7303
  15. @astronouth7303

    Bug in NICK handling.

    astronouth7303 authored
  16. @astronouth7303
  17. @astronouth7303
  18. @astronouth7303
  19. @astronouth7303
  20. @astronouth7303
  21. @astronouth7303
  22. @astronouth7303
  23. @astronouth7303
  24. @astronouth7303
  25. @astronouth7303
  26. @astronouth7303
  27. @astronouth7303
  28. @astronouth7303
  29. @astronouth7303
  30. @astronouth7303

    Only expire items once.

    astronouth7303 authored
  31. @astronouth7303
  32. @astronouth7303
  33. @astronouth7303
  34. @astronouth7303

    Added printing of sends as well as dispatches, and changed the behavi…

    astronouth7303 authored
    …or of QUIT and PART. (Do an update.)
  35. @astronouth7303

    GH-85 on tell.

    astronouth7303 authored
  36. @astronouth7303
  37. @astronouth7303
  38. @astronouth7303

    Fixed getalts().

    astronouth7303 authored
  39. @astronouth7303
  40. @astronouth7303
  41. @astronouth7303
  42. @astronouth7303
  43. @astronouth7303
  44. @astronouth7303
  45. @astronouth7303
  46. @astronouth7303

    One last bug. I hope.

    astronouth7303 authored
  47. @astronouth7303
  48. @astronouth7303

    Use startdaemon().

    astronouth7303 authored
  49. @astronouth7303
  50. @astronouth7303
  51. @astronouth7303
  52. @astronouth7303
Commits on Nov 23, 2011
  1. @astronouth7303
  2. @astronouth7303
  3. @astronouth7303
Commits on Dec 11, 2011
  1. @astronouth7303
  2. @astronouth7303
  3. @astronouth7303
  4. @astronouth7303
Something went wrong with that request. Please try again.