Commit Graph

788 Commits

Author SHA1 Message Date
Brian S. Stephan 7391e28b9b TODO: document an ancient shortcut to remove
this probably dates back to the beginning of the bot, a lot of things
that are handling irc events use event.arguments()[0] because it was
observed that that always had the entire message body, but i don't know
if that's actually the case --- in any event, we should probably loop
over it and try to find a way to handle everything

putting this off because the previous commit refactoring will obsolete
some methods, and because those that remain probably need to be reworked
to not return, and instead do something else to handle looping
2012-12-20 10:01:37 -06:00
Brian S. Stephan 52970894a9 DrBotIRC: add regex-matching global handlers
add_global_regex_handler and remove_global_regex_handler are new methods
that work the same as irclib's non-regex versions, but check patterns
before adding/removing. this allows for a more direct link between event
loop and module methods

i'm hoping that one day it will allow for the removal of ancient
shortcuts that just get in the way now, like do() and
on_pub_or_privmsg()

lightly tested, if anything is still brittle it's recursion, no doubt
2012-12-20 09:58:25 -06:00
Brian S. Stephan 53a3c40102 DrBotIRC: clean up event handlers a bit
this brings them more in line with the code in irclib, which will be
nice since i'm using that code as basis f or additions in a later commit
2012-12-20 09:50:20 -06:00
Brian S. Stephan 891b2bcab8 remove all of the help stuff
sorry, mikeb. it never really caught on and seemed kind of janky. i
intend to have something that uses docstrings in the future, with the
helping baked into Module or maybe even DrBotIRC
2012-12-19 21:12:49 -06:00
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 e4225abba4 DrBotIRC: remove connection argument from reply()
we only have one connection, we don't need to be told what to reply to
2012-12-19 20:32:18 -06:00
Brian S. Stephan 456671615b DrBotIRC: document irclib.IRC.connections
this is before i stupidly remove it again
2012-12-19 20:22:48 -06:00
Brian S. Stephan 885076c1b8 Module: remove some unused imports 2012-12-19 19:54:17 -06:00
Brian S. Stephan a440bf395c Module: documentation and whitespace cleanups
i've marked some stuff as deprecated, and there's even more of that kind
of thing coming up within the next dozen or so commits
2012-12-19 19:53:41 -06:00
Brian S. Stephan 582328973e DrBotIRC: use config nick/user to guess nickhost
we still override the nickhost guess with what comes out of the ircd's
welcome message, if it is a full nick!user@host (although now i'm
doubting if we should expect such a thing or if it was just unrealircd
being nice), but this produces more accurate guesses for the cases where
we don't do that override. this was affecting splitting
2012-12-19 15:12:57 -06:00
Brian S. Stephan a10e54bcc8 DrBotIRC: properly debug log welcome events
my git surgery failed me
2012-12-19 00:09:28 -06:00
Brian S. Stephan 2d98804823 TODO: bunch of updates/additions/clarifications 2012-12-19 00:02:47 -06:00
Brian S. Stephan 9fd8eeb504 remove GoogleTranslate
the API is no longer free. not that i've made Babelfish be at all
reliable yet, but let's prune the tree a bit while we're doing this kind
of thing
2012-12-19 00:00:20 -06:00
Brian S. Stephan 1ec2747f3e dr.botzo.py: whitespace/string cleanups
shockingly minor, it's a small file but i was expecting more egregious
code than there actually was
2012-12-18 23:40:54 -06:00
Brian S. Stephan bf6a5c5352 EXTERNALS: document python-twitter 2012-12-18 22:41:10 -06:00
Brian S. Stephan ebfeafe87b DrBotIRC: use format() rather than string concat
a couple other generic ' vs. " show up here too
2012-12-18 22:32:11 -06:00
Brian S. Stephan bf8a7e6453 DrBotIRC: module-wide logger rather than per-class
a couple formatting changes are caught in the wake of this change, and
NASFWG
2012-12-18 22:30:31 -06:00
Brian S. Stephan f30e1fd308 DrBotIRC: remove some unused imports 2012-12-18 22:17:04 -06:00
Brian S. Stephan da430981be DrBotIRC: docstring/comment cleanups
this is some of the oldest code in the bot, there's probably a lot more
that could be cleaned up (and, indeed, some upcoming commits do some of
that)
2012-12-18 22:15:52 -06:00
Brian S. Stephan 8a5e6b9130 IrcAdmin: note limitation with automsg and vhosts
i feel as if i should fix this eventually, but it's pretty low on the
priority list, to be honest
2012-12-18 20:56:30 -06:00
Brian S. Stephan b51b8b521d IrcAdmin: option for sending privmsgs on connect
nickserv/hostserv stuff are the obvious uses for this. i guess you could
have some sort of "hi i connected" type thing to the admin if you wanted
2012-12-18 20:15:32 -06:00
Brian S. Stephan f54e209c2f Pi: "unit circle" in the output message 2012-12-18 20:12:26 -06:00
Brian S. Stephan 7627af5d5b Radio: get mpd status and such
very rough, just committing because what few things it does do work
2012-11-07 18:15:56 -06:00
Brian S. Stephan fdc7a3d9a9 gross TODO: fix this later 2012-11-07 18:14:59 -06:00
Brian S. Stephan 9ec74d0e35 Markov: off by one while counting up to min_size 2012-10-05 17:09:04 -05:00
Brian S. Stephan 7b2e3fa9aa Weather: refer to the right object in prev. commit 2012-10-05 10:43:41 -05:00
Brian S. Stephan e69766e71e Weather: do ambiguous results prompt for forecast 2012-10-05 10:42:21 -05:00
Brian S. Stephan 0da81ca31e Weather: more verbose zmw codes in ambig. results
when printing zmw codes because the query was ambiguous, print
city, country rather than just city
2012-10-05 10:30:03 -05:00
Brian S. Stephan 49e83f18de Weather: do wunderground forecasts 2012-10-05 10:23:59 -05:00
Brian S. Stephan 425db7be81 Weather: weather conditions readability fixes
* bold (^B) city name, condition elements
* replace 32F and 32 F with 32°F
2012-10-05 10:22:35 -05:00
Brian S. Stephan 6426df9ece Weather: dump json output in a prettier format 2012-10-05 10:20:34 -05:00
Brian S. Stephan 41c1a46bb2 Weather: give hints when results are ambiguous 2012-09-17 16:47:41 -05:00
Brian S. Stephan b17de69a93 logging.cfg: i really hate this config file format 2012-09-17 16:28:42 -05:00
Brian S. Stephan 97259eb6b3 Merge branch 'master' of git.incorporeal.org:dr.botzo 2012-09-17 16:27:00 -05:00
Brian S. Stephan 2699396dd8 Weather: rewrite to use weather underground
this is still a work in progress, but the basic support is there
2012-09-17 16:26:29 -05:00
Brian S. Stephan ded2b9e96e drop pywapi
python-weather-api is of no interest now that google weather
has been shut down. switching to weather underground
2012-09-17 16:25:51 -05:00
Brian S. Stephan 73878cde5f logging.cfg: log weather at debug 2012-09-17 16:24:56 -05:00
Brian S. Stephan 02729377d8 Markov: more anti-stop bugfixes 2012-09-17 16:23:42 -05:00
Brian S. Stephan bdba8e20f1 Karma: don't swallow potential commands
when matching patterns, !rank item++ would not get replied to
since the karma matcher would hit, increment item, and then return
(with no response). now it hits but lets processing continue.

doing !rank item++ of course still increments item, which is probably
not what you want to have happen, but i'm not sure how i feel about
fixing it yet, since even if it's not what you /want/ it's probably
what you /expect/.
2012-09-13 12:28:03 -05:00
Brian S. Stephan e7a573bce1 Karma: allow multiple karma expressions per line 2012-09-13 12:16:25 -05:00
Brian S. Stephan c064f6ebe1 Markov: check for start2-only lists correctly while working backwards
what i was doing before had practically no chance of working right,
so that's fun
2012-07-30 10:25:13 -05:00
Brian S. Stephan e8e4354358 Markov: many working backwards bugfixes wrapped together 2012-07-29 22:36:11 -05:00
Brian S. Stephan bf850592df Markov: bugfix in the anti-address chaining 2012-07-29 17:53:56 -05:00
Brian S. Stephan b327bcab71 Markov: trivial code cleanup 2012-07-29 17:46:14 -05:00
Brian S. Stephan 14fd5721c1 Markov: trivial debugging fix 2012-07-29 15:44:43 -05:00
Brian S. Stephan 26ec854c67 Markov: try to avoid "nick:" starts to extra chaining
when starting another sentence because the main one is too short,
do a bit of work in an attempt to avoid "nick: blah" starts, since
they're fairly common. instead we just ignore nick: and start with
"blah blah"
2012-07-29 15:43:15 -05:00
Brian S. Stephan ad1de23a7c Markov: remove inaccurate debug logging 2012-07-29 15:41:36 -05:00
Brian S. Stephan 0386603d93 Storycraft: more debugging output 2012-07-29 09:46:53 -05:00
Brian S. Stephan b5d732cfd6 Pi: formatting cleanup, show database error 2012-07-29 09:45:19 -05:00