Commit Graph

1113 Commits

Author SHA1 Message Date
Brian S. Stephan 7a1c024d69 dispatch: write message to file properly in py3 2016-01-17 11:39:43 -06:00
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 164f2c61bf Merge branch 'better-plugin-support' into 'master'
Better plugin (un)loading --- more logging, !reload plugin with option
of reloading entire package

In addition to a variety of logging and internal changes, this
also adds a !reload [plugin] command, which, where 'plugin' is
'package.ircplugin', just does a simple unload/load on the
plugin, but where 'plugin' is 'package.', reloads all modules
in the specified package (assuming it is still a plugin's
package), which allows for making more code changes and applying
them without having to restart the bot.

Like all things this internal to the bot, this probably needs
the tires kicked a bit more, but initial testing has succeeded.

See merge request !2
2016-01-17 11:12:32 -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 f66aea6c2d Merge branch 'py3' into 'master'
Upgrade dr.botzo to Python 3

The py3 branch brings dr.botzo to the point that it's able to run in a Python 3.4 environment. All IRC plugins have been tested on an actual network.

Due to 2to3's behavior with unicode_literals, this should *not* be run in a Python 2 environment, as the once-unicode-safe literals might be mistreated again.

See merge request !1
2016-01-16 19:47:01 -06:00
Brian S. Stephan 0051f006d9 requirements.txt: py3 related (?) version bumps
this has been tested in a python 3.4 environment. i'm not sure if all of
these changes were necessary to make this py3 compatible, but it works,
so i'm committing it
2016-01-16 19:40:18 -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 75dc2ae2cb bump django dep 2015-09-17 21:58:54 -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 efc2b2675f Merge branch 'master' of git.incorporeal.org:dr.botzo 2015-09-17 21:35:36 -05:00
Brian S. Stephan 8504a2556d facts: trivial comment cleanups 2015-09-16 16:57:12 -05:00
Brian S. Stephan a7a54c75b7 pysimplesoap dependency 2015-08-16 17:15:08 -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 c8bedebe97 add mpd-notifications script
illustrative purposes, mostly
2015-07-11 08:17:19 -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 0c7b880517 port_karma_to_django: properly import nickmask 2015-06-20 16:39:51 -05:00
Brian S. Stephan 7ee07ae81e Merge branch 'master' of git.incorporeal.org:dr.botzo 2015-06-20 16:34:31 -05:00
Brian S. Stephan ac3e71c32a karma: option to ignore targets 2015-06-20 16:34:18 -05:00
Brian S. Stephan 877e18c890 port_facts_to_django: properly import nickmask 2015-06-20 16:24:24 -05:00
Brian S. Stephan fd7feeccdc procmail-to-dispatch: get rid of key stuff
key is now part of the URL, and the dispatcher action will choose
whether or not to include it, so we don't need key at all anymore
2015-06-20 11:31:04 -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