Commit Graph

43 Commits

Author SHA1 Message Date
Brian S. Stephan 8d6d66333b Module: don't pass DrBotServerConnection to init
another "this is unnecessary" change, obviously impacting all the
modules that override __init__ as well as the base class. again, they
can use the DrBotIRC instance for anything, which is (with one
exception) only for add/remove_global_handler, which i'm planning on
working my way off of anyway
2012-12-19 21:06:53 -06:00
Brian S. Stephan 3e76f75bba Module: remove reply(), use DrBotIRC's
obviously this means all of the modules changed to accomodate. this is
one of many steps to reduce the number of times we pass connections and
servers and other such info around, when it's mostly unnecessary because
modules have a reference to DrBotIRC
2012-12-19 20:51:35 -06:00
Brian S. Stephan 8b2269c441 pyflakes cleanups 2012-07-27 20:38:45 -05:00
Brian S. Stephan 2e1bc8d5e0 Dice: expose do_roll as XML-RPC method "dice_roll" 2012-03-30 17:54:42 -05:00
Brian S. Stephan 60b7a33f7b Dice: apply the irc formatting outside of the !roll handler 2012-03-30 17:54:06 -05:00
Brian S. Stephan f5b367406b Dice: break out the !roll handler 2012-03-30 17:26:51 -05:00
Brian S. Stephan ce93480e9b Dice: allow !roll/!ctech strings anywhere, not just at the start of the line 2012-03-19 00:11:56 -05:00
Brian S. Stephan ad93ea28ec Dice: fix display of multi-run rolls (e.g. 6#d20) 2011-10-14 14:22:56 -05:00
Brian S. Stephan 86e6cd3db0 Dice: change the output format so it's a bit more readable 2011-10-13 21:08:09 -05:00
kad 93761df5ed Allow spaces after ; for separated rolls 2011-10-13 20:30:59 -05:00
Brian S. Stephan 111b068ed4 Dice: trivial whitespace cleanup, merging last two commits from kad 2011-06-20 19:32:17 -05:00
kad 35df9f9425 Change output for selection rolls. Output of die rolls is no longer sorted. 2011-06-20 15:48:24 -06:00
kad a767b3d6e2 Fix trying to roll a zero-sided die error 2011-06-20 15:45:08 -06:00
Brian S. Stephan 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
Brian S. Stephan 18fc614a4a assorted whitespace nitpicking 2011-01-20 14:15:10 -06:00
Brian S. Stephan 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
Brian S. Stephan 0bd681c324 convert most modules to use ! commands.
okay, it's time. we got around for a while with all sorts of silly
config options and exceptions and common strings triggering bot
commands. but now it's time to man up and expect modules to be
more strict and less loosey-goosey.

convert the popular modules (i.e. the ones that still work) to
trigger on !pi rather than pi, etc. usually, this is achieved via
regex searches, although there are some weird bugs (ones i'm hoping
are caused by other recursion/alias bugs and not this commit).

more code around this will be gutted soon, but this, at least,
means you can't say 'tweet that shit, yo' and accidentally trigger
the bot.
2011-01-07 20:37:24 -06:00
Brian S. Stephan d637983ae1 apparently ply doesn't like docstrings in its functions 2011-01-07 18:42:56 -06:00
Brian S. Stephan 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
kad e1d5d9f522 Fix negative modifier issue 2010-10-31 17:01:15 -06:00
kad c2280aaf1e Remove diceply.py 2010-10-31 11:14:18 -06:00
kad 4f56e40ca7 Use PLY to parse dice strings 2010-10-30 14:09:16 -06:00
Brian S. Stephan 47022f9428 add ctech dice rolling method, for cthulhutech.
does greatest/best set/best straight methods. use normal roll for
stuff that should be summed, like damages
2010-09-05 11:00:11 -05:00
Brian S. Stephan 27ff7e257d fix a bug that was getting the trailing semicolon wrong, and do it better anyway. 2010-09-05 10:44:59 -05:00
Brian S. Stephan 8c1c10a4bc remove debugging print statement 2010-09-04 12:26:20 -05:00
Brian S. Stephan 92281151ff don't display the comment twice, now that we print the entire roll string 2010-09-04 12:09:37 -05:00
Brian S. Stephan a0fd33b070 only append the roller's nick once, at the end, if there is a reply 2010-09-04 12:08:13 -05:00
Brian S. Stephan 27b27ecb61 split roll string and properly ignore "roll" from roll attempt 2010-09-04 12:04:24 -05:00
Brian S. Stephan 5b44b66c4d demand a roll prefix on the Dice module 2010-09-04 11:56:35 -05:00
Brian S. Stephan 4bf2d344fc dice: only try sending something if we actually have something to say 2010-08-28 14:07:00 -05:00
Brian S. Stephan 88c83c1e45 dice: properly handle multiple-roll strings (d20; d20) in this post-
recursion world where we're supposed to return a string
2010-08-28 14:04:29 -05:00
Brian S. Stephan 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
Brian S. Stephan 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
Brian S. Stephan 7feb90242d renaming 'irclib' dir to 'extlib' 2010-07-30 18:34:10 -05:00
Brian S. Stephan 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
Brian S. Stephan ae4c1fa726 move common reply functionality into a method in Module 2010-07-30 00:34:57 -05:00
Brian S. Stephan 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
Brian S. Stephan 26d2e0c294 making imports fit my style convention, actually importing os in the module that needs it 2010-07-29 00:18:20 -05:00
Brian S. Stephan 91e535978f comment nitpicking and restyling 2010-07-29 00:04:01 -05:00
Brian S. Stephan 48498898bf vi modelines for split out files 2010-07-28 23:48:47 -05:00
Brian S. Stephan 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-27 23:11:58 -06:00
kad ec9acdd2ee Forgot to add files :( 2010-07-27 19:35:01 -06:00