Commit Graph

212 Commits

Author SHA1 Message Date
2973d904f4 pythonic header 2010-10-25 18:44:28 -05:00
a4839fd35f whitespace nitpickery 2010-10-25 18:37:30 -05:00
69c8922024 Merge branch 'bloy-master' 2010-10-25 18:31:28 -05:00
ebd89d35cc (hopefully) properly catch/log URLError, IndexError 2010-10-25 18:23:25 -05:00
Mike Bloy
40ab270324 fixed rank trigger for karma 2010-10-24 14:57:23 -05:00
Mike Bloy
e557137f82 fix karma formatting 2010-10-24 09:37:43 -05:00
Mike Bloy
e453778791 clean up karma module 2010-10-24 09:36:15 -05:00
Mike Bloy
b1fe99d5a2 ignore nbproject dir 2010-10-24 08:43:22 -05:00
Mike Bloy
a64c83ce59 working karma module 2010-10-23 22:52:15 -05:00
a45af7a0a7 Pi -> pi, fixing what I'm going to claim is a typo. 2010-10-20 11:57:31 -05:00
c3270ef3df module to calculate pi over time, via the monte carlo method.
idea pinched from #linode.
2010-10-18 22:48:51 -05:00
2a1ef11d95 don't attempt recursion when the subcmd is, in fact, an empty string (i.e. text was '[]') 2010-10-12 11:54:43 -05:00
95a27cc44b read brainfile filename from config file, allow default 2010-10-09 20:37:15 -05:00
05f1ce325a put MegaHAL module load in __init__, which is now being implemented here
obviously, we need to call Module.__init__ as well, and as a nice
side effect, doing all of this lets us not need to do the on_connect
nonsense, which was the wrong thing to do anyway
2010-10-09 19:36:00 -05:00
52b740a52c split the register_handlers into a method other than the object constructor
the reasoning behind this is that we may want to load one object
but have it connect to multiple servers. this allows that.
2010-10-09 18:52:51 -05:00
599106e447 require config file on the command line 2010-10-02 21:44:03 -05:00
466eb6eff1 attempt to give up if we're doing too many splits 2010-09-30 19:38:21 -05:00
827d1b2c86 megahal library crashes if the text ends with ' for some reason, so work around it 2010-09-13 20:22:08 -05:00
1988662c0a have ^megahal$ trigger a no-input reply from the megahal module.
mostly useful for chaining random bot nonsense into other commands
2010-09-08 22:22:43 -05:00
d5c4750dd8 use proper pluralization, commas in countdown output 2010-09-08 21:39:56 -05:00
e6c9747dad remove overload of on_pubmsg() 2010-09-08 20:44:09 -05:00
54af309bbc and username, password options to bot, and properly connect with those options. 2010-09-08 20:32:43 -05:00
fd7834756b add !alias list that displays the existing alias commands. limited utility, really. 2010-09-08 20:12:19 -05:00
a7f0070a39 module reloading appears to be broken. disabling for now. 2010-09-08 20:06:20 -05:00
f5caeb3833 add new meta options to remove_metaoptions() 2010-09-08 19:58:29 -05:00
3e91000acc now that we have meta.strip_bot_name_from_input there is no need to overload on_pubmsg 2010-09-08 19:51:18 -05:00
338c1e759f meta option 'meta.strip_bot_name_from_input' to determine just that. 2010-09-08 19:49:56 -05:00
14973388e5 remove pubmsg/privmsg overloading in Alias now that we have 'meta.skip_recursion_scan'.
also, the last commit's message should have referred to this meta option
instead of what it actually did. oops.
2010-09-08 19:40:16 -05:00
fc8a61a110 meta option 'meta.pubmsg_ignore_bot_prefix' to have module not try [] recursion.
handy for the alias module, which will want to preserve that recursion stuff (if
it shows up) after it does its alias lookup
2010-09-08 19:38:19 -05:00
98c30e1714 module meta option to ignore when bot is addressed directly.
the motivation for this is if you have commands that have been aliased
that you do not want to fire when they normally would via 'bot: blah'
2010-09-08 19:32:06 -05:00
f3e9568fe3 create the array of arguments in all the methods that need them 2010-09-08 19:24:26 -05:00
6541e6a193 first attempt at using HTTP POST for translate 2010-09-08 19:07:01 -05:00
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
27ff7e257d fix a bug that was getting the trailing semicolon wrong, and do it better anyway. 2010-09-05 10:44:59 -05:00
053c3f0ae6 properly call admin functions within do.
before this, recursion type stuff wasn't responded to properly because
do wasn't returning the methods' text
2010-09-04 12:26:50 -05:00
8c1c10a4bc remove debugging print statement 2010-09-04 12:26:20 -05:00
92281151ff don't display the comment twice, now that we print the entire roll string 2010-09-04 12:09:37 -05:00
a0fd33b070 only append the roller's nick once, at the end, if there is a reply 2010-09-04 12:08:13 -05:00
27b27ecb61 split roll string and properly ignore "roll" from roll attempt 2010-09-04 12:04:24 -05:00
5b44b66c4d demand a roll prefix on the Dice module 2010-09-04 11:56:35 -05:00
b9ef46606d don't output anything if the aliasified command is the same as the reply.
this indicates that none of the modules could actually do anything with that
text, so whatever happened probably didn't fire any modules (and if it did,
they didn't provide return text anyway)
2010-09-04 11:55:10 -05:00
b1e1254564 reloading MegaHAL.py seems broken somehow, so just avoid doing it 2010-09-04 11:49:18 -05:00
a5dbb27622 Alias module to turn text into other text.
mostly for sending commands to the bot without addressing the bot with
bot: (and potentially triggering MegaHAL) yet also without exposing
sensitive commands to the non-addressable mode (like wtf/quit). speak
the alias and the bot will run the looked-up text through the modules,
regardless of their addressable settings
2010-09-04 11:29:18 -05:00
bf8fe46522 retransmit_event takes an Event and re-runs it through normal event handling.
i wrote this for something and then realized i didn't need it, but
it may be interesting for some reason in the future
2010-09-04 10:45:18 -05:00
1f27078f82 MegaHAL module, lets the bot partake in inane conversations. doesn't
assume a learning file or anything, starts with an empty brain and
learns from IRC
2010-09-04 09:53:11 -05:00
71e545b908 external MegaHAL library for incoming module 2010-09-04 09:51:44 -05:00
4bf2d344fc dice: only try sending something if we actually have something to say 2010-08-28 14:07:00 -05:00
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
713b1e560b get around occasional utf8 conversion exceptions by swallowing
those exceptions and moving on, since the output never seemed
wrong in these cases anyway
2010-08-24 13:25:30 -05:00
7dfdf28c19 TODO: periodic reconnects when disconnected/split 2010-08-24 12:01:55 -05:00