CHANGES 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. v0.4
  2. ====
  3. Config now written in JSON. To sum up recent changes in the last week, since there have been a few:
  4. * bot is now multithreaded. He joins n-number of specified networks in the config file, and joins channels on a
  5. per-network basis.
  6. Issues:
  7. -------
  8. * IRC pass and DB pass must be specified in each network block, as each thread is really only concerned with
  9. information relevant to itself; specific to its own network. This is probably not how the bot would be used;
  10. it's likely he'd be running on one machine, with one DB password. IRC pass per-network makes sense, though.
  11. * Code still very much needs to be cleaned up and restructured.
  12. * bot class still passing only PRIVMSGs to botbrain -- for events to be really useful (see Future), JOINS, PARTS,
  13. etc would need to get passed as well.
  14. Future:
  15. -------
  16. * Events and module handling. For modules to be useful (and usable) they'd have to be able to register, or subscribe,
  17. to interesting (or uninteresting, I'm not judging you) 'events' as determined by the botbrain. The bot needs to
  18. merely pass lines received into botbrain, where logic is performed. Both events and how to load modules (as well
  19. as module conventions) need to be defined.
  20. v0.5.1
  21. ======
  22. Modules and events now work. There are a few miscellaneous unrelated-to-modules-and-events fixes in place, as well;
  23. * a more graceful handling of DEBUG. It is now passed into the bot as set by the commandline flag -d.
  24. * added message number handling to the bot. this should allow for a much more robust understanding of exactly what the server is sending us.
  25. * fix for confman -- there was a bug introduced when I switched to os.path.abspath and how I was passing in the default path to confman. os.path.expanduser fixes it (~ was being prepended to the current absolute path). This now expands ~ out to /home/<username>.
  26. * A note to module authors, and tying to events: drop your module in modules/, then define an event in bot.py. In your module, you simple determine what 'type' of event to subscribe to. When that event is triggered, the event will notify all modules that have subscribed to it.
  27. Issues:
  28. -------
  29. * IRC pass and DB pass must be specified in each network block, as each thread is really only concerned with
  30. information relevant to itself; specific to its own network. This is probably not how the bot would be used;
  31. it's likely he'd be running on one machine, with one DB password. IRC pass per-network makes sense, though.
  32. * Code still very much needs to be cleaned up and restructured.
  33. * bot class still passing only PRIVMSGs to botbrain -- for events to be really useful (see Future), JOINS, PARTS,
  34. etc would need to get passed as well. --WONTFIX - CORE ADDITIONAL FUNCTIONALITY MOVED TO MODULES --
  35. v0.6
  36. ======
  37. Features:
  38. * Dynamic module loading and unloading, and dynamic event creation are add. --DONE--
  39. * setup.sh generates mysql commands to create database and add user for the bot to log in as.
  40. * Dynamic help and some more framework additions to modules. help.py module checks for every module's field 'help' and will display that if available.
  41. Bugs fixed:
  42. DB respects username and password and db name from configuration file.
  43. v0.6.1
  44. ======
  45. ** This version is incompatible with previous versions, due to an additional argument being passed to modules (a convenience 'say' function). **
  46. v0.6.2
  47. ======
  48. Features:
  49. * BaseModule, allowing modules to inherit from it and have it do all the boilerplate on the default __init__, and doing any additional work they need in a post_init function.
  50. v0.6.5
  51. ======
  52. Fixes the keyboard interrupt in debug mode issue.
  53. v0.7.0
  54. ======
  55. Fixes the not reconnecting upon disconnect issue.
  56. Features
  57. * Change logger functionality. Logger.write() now takes an additional (optional) argument for nickname, to distinguish logfiles.