Commit Graph

134 Commits

Author SHA1 Message Date
Brian S. Stephan 007f9bdbc7 twitter: don't re-encode replyee name
this appears to have been whan was causing replying via twitter to fail.
let's test something while we're here:

fixes #2
2016-01-17 11:36:10 -06:00
Brian S. Stephan 6fe6797281 ircbot: implement !reload for plugins
in addition to being a convenient unload plugin, load plugin, this also
uses importlib.reload() to kick the interpreter to reload changed code
inside the plugin's package, if the user requests to reload the entire
package. this seems safe so far

(famous last words)
2016-01-17 10:56:39 -06:00
Brian S. Stephan 0ba889bf75 ircbot: _unload_plugin doesn't need connection 2016-01-17 10:52:25 -06:00
Brian S. Stephan 97c18a2459 ircbot: provide feedback option to _plugin_unload 2016-01-17 09:49:55 -06:00
Brian S. Stephan 10071f9094 ircbot: add load/unload plugin documentation 2016-01-17 09:49:30 -06:00
Brian S. Stephan 676f479d52 ircbot: add some debug logging in plugin (un)load 2016-01-17 09:21:29 -06:00
Brian S. Stephan 4c949ee6f3 ircbot: don't unload just one plugin of path
if we somehow got multiple plugins of the same path loaded, unload them
all when unloading, not just the first one we find
2016-01-17 09:20:06 -06:00
Brian S. Stephan 310c2aa28d markov: fake a __stop if a k1,k2 has no v
this shouldn't have happened, but i'm guessing some previous crash put
some buggy data into my database, so let's just be careful and do this.
a k1,k2 could have had any value for v, but not knowing what else to do
in this corner case, we'll just use a stop and let the caller decide
if they want to keep going
2016-01-16 23:41:46 -06:00
Brian S. Stephan a243b65d1d ircbot: new auto-migration, either django or py3 2016-01-16 19:57:11 -06:00
Brian S. Stephan b14152d8d5 dispatch: new auto-migration, either django or py3 2016-01-16 19:56:14 -06:00
Brian S. Stephan a314809671 weather: use requests library over urllib/json 2016-01-16 19:39:33 -06:00
Brian S. Stephan 90d20dfe75 transform: use new py3 base64 API 2016-01-16 19:37:24 -06:00
Brian S. Stephan 59c593f60b transform: use codecs library for rot13 2016-01-16 19:36:51 -06:00
Brian S. Stephan c3c54b9f10 ircbot: use % formatting in some debugging 2016-01-16 19:36:10 -06:00
Brian S. Stephan cdde966733 ircbot: properly output exception msg to string 2016-01-16 19:34:06 -06:00
Brian S. Stephan 570a4e1962 twitter: don't re-encode response as utf-8 2016-01-16 19:33:03 -06:00
Brian S. Stephan 47a1352a0a change __unicode__()s to __str__()s 2016-01-16 18:21:46 -06:00
Brian S. Stephan 9112ad0ae7 convert the project via 2to3 2016-01-16 18:02:17 -06:00
Brian S. Stephan f513b241d2 ircbot: force lowercase IrcChannel channel name 2015-09-17 22:55:25 -05:00
Brian S. Stephan d9c39d3db9 markov: better context/target creation ex handling 2015-09-17 22:35:23 -05:00
Brian S. Stephan 4f17234a0a markov: force the target/context to lowercase 2015-09-17 22:35:04 -05:00
Brian S. Stephan e8d57b29b2 irclib.bot: don't del sys.modules[badname]
this makes no sense to do on ImportError since that's probably why we
got here. testing, not 100% sure this is right
2015-09-17 22:23:36 -05:00
Brian S. Stephan 91594117bc remove deprecated TEMPLATE_DIRS setting 2015-09-17 22:23:14 -05:00
Brian S. Stephan 505dc8799c markov: configure what channels to learn from 2015-09-17 22:22:59 -05:00
Brian S. Stephan 91bbabec67 facts: get rid of the soap stuff
interesting, but i don't really care to use it ever, so deleted
2015-09-17 21:56:52 -05:00
Brian S. Stephan 8504a2556d facts: trivial comment cleanups 2015-09-16 16:57:12 -05:00
Brian S. Stephan b9b626d2ef remove useless import 2015-08-14 16:55:02 -05:00
Brian S. Stephan 425bf64baa facts: proof of concept grade SOAP WS
mostly just to prove to myself that i can use pysimplesoap and be kinda
pleased with the results
2015-08-14 16:54:31 -05:00
Brian S. Stephan 68cf0f8816 facts: don't require nickmask in admin form 2015-08-14 16:53:37 -05:00
Brian S. Stephan f18569b636 enable sites framework, useful for some SOAP stuff 2015-08-14 16:52:57 -05:00
Brian S. Stephan 4abcef58c1 karma: ignore commands or chatter separately 2015-07-11 08:12:25 -05:00
Brian S. Stephan bf0445149b twitter: handle twitter API errors better
i think i need to make this client (re)connect on demand or something,
though, i'm getting a lot of timeouts
2015-07-11 08:10:35 -05:00
Brian S. Stephan 6bf2732d7f dispatch: handle writing unicode to file properly 2015-07-11 08:09:53 -05:00
Brian S. Stephan e2d4e29750 use LenientDecodingLineBuffer in bot guts
should make the bot more resilient to clients that send non-unicode text
2015-06-22 17:43:45 -05:00
Brian S. Stephan ac3e71c32a karma: option to ignore targets 2015-06-20 16:34:18 -05:00
Brian S. Stephan 598a158300 dispatch: helps if i actually use the new text 2015-06-20 11:26:35 -05:00
Brian S. Stephan f542a862b8 dispatch: have option to include key in output 2015-06-20 11:23:28 -05:00
Brian S. Stephan 98bb608291 dispatch: allow dispatcher key in API URLs as well 2015-06-20 11:22:17 -05:00
Brian S. Stephan 241de26dd5 facts: allow adding facts via IRC 2015-06-20 10:58:40 -05:00
Brian S. Stephan 934f83b734 facts: show the source of facts, if desired 2015-06-20 10:46:52 -05:00
Brian S. Stephan d507e8f7ac facts: add the timestamp back too 2015-06-20 10:22:49 -05:00
Brian S. Stephan 69ca220b5e facts: add fact source back into model
it was silly for me to have dropped this
2015-06-20 10:19:11 -05:00
Brian S. Stephan 772df777ba ircbot: tie bot users to django auth user, part 3
get rid of is_admin(), instead check for django permissions. a couple
things were using is_admin(), so now there's an example of the
permission adding and usage, as those were ported
2015-06-20 10:08:51 -05:00
Brian S. Stephan df17e68456 ircbot: tie bot users to django auth user, part 2
rename BotAdmin to BotUser

other stuff will check whether or not they're an "admin", which will
actually be standard django permissions
2015-06-20 09:50:52 -05:00
Brian S. Stephan 123acbbd8d ircbot: tie bot users to django auth user, part 1
sets up the foreign key and changes how is_admin() works, though it will
be going away pretty soon, i just need to do this migration in parts so
as to not confuse django too much
2015-06-20 09:27:50 -05:00
Brian S. Stephan 243531c017 add prospector and config 2015-06-20 02:00:56 -05:00
Brian S. Stephan e194ae0319 dispatch: don't override get_object() in /message 2015-06-20 01:13:11 -05:00
Brian S. Stephan 4a092ec603 markov: have context in target's __unicode__() 2015-06-20 01:09:42 -05:00
Brian S. Stephan 397ae2243c ircbot: recurse if we had an alias hit
the idea is that there may be two aliases in the string, or the alias
may have created another alias
2015-06-19 21:40:35 -05:00
Brian S. Stephan e11d7280de countdown: display negative numbers better
this kinda removes an old BUGS line that isn't actually correct for this
change, but it was old and fixed a while ago anyway (mostly)
2015-06-19 21:40:21 -05:00