Commit Graph

19 Commits

Author SHA1 Message Date
2aa369add7 rewrite recursion/alias code for the 500th time.
more of a moving of the code, actually, it now exists in (an overridden)
_handle_event, so that recursions happen against irc events directly,
rather than an already partially interpreted object.

with this change, modules don't need to implement do() nor do we have a
need for the internal_bus, which was doing an additional walk of the
modules after the irc event was already handled and turned into text. now
the core event handler does the recursion scans.

to support this, we bring back the old replypath trick and use it again,
so we know when to send a privmsg reply and when to return text so that
it may be chained in recursion. this feels old hat by now, but if you
haven't been following along, you should really look at the diff.

that's the meat of the change. the rest is updating modules to use
self.reply() and reimplementing (un)register_handlers where appropriate
2011-02-17 01:08:45 -06:00
359ca24856 remove replypath and all the places it was used.
with alias calling do() internally, there is no need for all this
replypath nonsense, and if there's ever a module that needs to reply
to stuff on its own outside of do(), it'd have to be implementing
all of this anyway, so it was pretty irrelevant.

this makes DrBotIRC alias/recursion stuff a bit cleaner.
2011-01-07 23:09:07 -06:00
acca8723b3 convert to/standardize docstrings a bit.
this got boring fast, so it's only half done
2011-01-06 23:25:46 -06:00
4d41314195 standardize config sections to use class name. NOTE: USERS NEED TO UPDATE THEIR CONFIG 2010-08-01 11:41:26 -05:00
594c4d297d remove_global_handler() for pubmsg and privmsg by default, since Module does the add_global_handler() (last commit) 2010-07-30 18:53:58 -05:00
eb1efa4919 add_global_handler() for pubmsg and privmsg by default, since Module defines on_pubmsg/on_privmsg anyway, and that's been the default for almost every module so far 2010-07-30 18:50:56 -05:00
7feb90242d renaming 'irclib' dir to 'extlib' 2010-07-30 18:34:10 -05:00
5ba26107cc each module subclassing Module unnecessarily defined __init__, with the exception of IrcAdmin, whose SIGINT setup was moved to register_handlers 2010-07-30 14:38:28 -05:00
cb70310616 regex search in FactFile 2010-07-30 07:22:29 -05:00
ae4c1fa726 move common reply functionality into a method in Module 2010-07-30 00:34:57 -05:00
57090fdda4 long list of changes to allow modular Module reloads: server as module variable, class appends self to module list, unregister_handlers method which must be overridden, reload method which does the magic to create the a new object of the re-read class. drop use of the main rehash and reload_modules, and don't pass rehash around anymore. load initial objects 'the old way' again. feature modules change for compatability and implementation of all of the above changes 2010-07-29 22:36:08 -05:00
f7cb0fd05a bugfix: index fact list properly 2010-07-29 19:46:58 -05:00
bd48a6e46a import random, since it's necessary. testing would have caught this :( 2010-07-29 00:29:22 -05:00
26d2e0c294 making imports fit my style convention, actually importing os in the module that needs it 2010-07-29 00:18:20 -05:00
91e535978f comment nitpicking and restyling 2010-07-29 00:04:01 -05:00
48498898bf vi modelines for split out files 2010-07-28 23:48:47 -05:00
b65c01fb31 GPLv3 headers on the split out files 2010-07-28 23:47:29 -05:00
kad
0c17196b32 Add some modelines and fix indentation, I hope. 2010-07-28 00:11:58 -05:00
kad
ec9acdd2ee Forgot to add files :( 2010-07-27 20:35:01 -05:00