ed63e027d4
dr.botzo.py: optionally connect via ipv6, ssl
2013-01-22 17:12:37 -06:00
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
8b2269c441
pyflakes cleanups
2012-07-27 20:38:45 -05:00
7bd5558f05
ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin for case-sensitivity
2012-07-27 14:57:41 -05:00
1a36becead
convert to a MySQL backend
...
WARNING!
there's no going back now. this change is *huge* but it was overdue.
WARNING!
the database backend is now mysql. modules that should use a database
but don't yet were left untouched, they'll come later. scripts haven't
been converted yet, though i'm pretty sure i'll need to soon.
while i was going through everything, connection/cursor idioms were
cleaned up, as were a bunch of log messages and exception handling. this
change is so gross i'm happy things appear to be working, which is
the case --- all modules are lightly tested.
2012-07-27 02:18:01 -05:00
732c7229a8
dr.botzo.py: clarify the warning about missing module_list
...
(not modlist)
2012-07-26 21:18:07 -05:00
04369f95cf
dr.botzo: only warn when config specifies no modules
...
this is still 100% wrong, but it's not an error, per se
2012-07-26 20:43:51 -05:00
257c9d446e
dr.botzo: abort if the database isn't set
...
it's become pretty important, and is only going to get moreso
2012-07-26 20:43:21 -05:00
26596e5e00
add debug logging to irclib rather than the gross print()ing
...
note that with the default logging config, nothing is printed at INFO,
so irclib is silent. but this is better control over the debugging
2012-07-26 20:17:58 -05:00
e6be873f3d
rename logger to drbotzo for clarity's sake
2012-07-26 20:09:22 -05:00
f017422e69
dr.botzo, Module: misc cleaning up of old crap
2012-07-26 19:38:18 -05:00
9654f4de98
switch to use python's logging, with config file i'm not entirely happy about
2012-07-15 21:32:12 -05:00
25d0f2f5c3
connect to sqlite with isolation_level=None as an attempt to avoid (invalid) database is locked errors
2012-03-29 20:09:50 -05:00
70e1ee017f
make drbotzo_modules.module a primary key so that we can use INSERT OR REPLACE INTO
...
WARNING! if you have an existing drbotzo_modules, you MUST RECREATE IT
WITH THE PRIMARY KEY. things will be wonky without it.
easiest way is to (by hand) create drbotzo_modules_temp as shown in the code,
INSERT INTO drbotzo_modules_temp SELECT * FROM drbotzo_modules, DROP the old
table, and ALTER TABLE RENAME TO the new one.
again, if you don't do this, newer modules will do all sorts of crazy
things, namely trying to create tables that already exist (because they have
multiple, differing values in drbotzo_modules)
2011-07-26 18:32:06 -05:00
01d3c7c80c
migrate some code that became pivotal to the bot into DrBotIRC.
...
this is a big change. DrBotIrc is now in charge of module loading
and unloading, aliases, and recursion. the Alias module is no more,
and a bunch of functionality was moved out of IrcAdmin, including
also config file saving, the sigint handler, and quitting the bot.
additionally, a lot of stuff got caught in the wake. dr.botzo.py
is simpler now, and lets DrBotIRC do the dynamic loading stuff.
Module.__init__ changed, modules no longer get modlist and instead
get a reference to the DrBotIRC object. IrcAdmin still has the same
exposed methods, but now calls out to DrBotIRC to achieve some of
them.
naturally, a recursion/alias rewrite was included with this change.
it is clearer now (i think), but probably brittle somewhere.
additionally, currently any module that has registered a pubmsg
handler can potentially fire more than once on one input (without
recursion). this may be the next thing to fix. do() may need to
be split, or maybe it's time to stop having modules deal with
pubmsg/privmsg entirely. need to decide.
WEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
2011-01-07 17:38:26 -06:00
4d6228b93a
move DrBotIRC into a separate file, since we will probably be hacking more on it soon
2011-01-07 09:54:51 -06:00
b487caf12d
make the config file argument optional.
...
this should probably be robustified (--config-file=foo) eventually
2011-01-06 22:43:10 -06:00
00d5502477
remove some stuff that's been commented out for a while now
2011-01-06 22:40:45 -06:00
Mike Bloy
8ffcecdff0
hacked out loading of all modules from __init__
...
Discussion with bss implies that this is no longer needed, now that
the dynamic loader and unload is in place.
empirical testing seems to confirm this
2010-12-17 22:52:53 -06:00
1bacfe047e
fix (god i hope fix) unicode in Twitter
...
also remove some unnecessary unicode conversions right before printing?
commented out until i'm convinced there was no need for it.
protip: clearest description i've read to date:
http://stackoverflow.com/questions/368805/python-unicodedecodeerror-am-i-misunderstanding-encode#370199
2010-12-16 10:36:50 -06:00
7a9b68f2c4
remove unnecessary method, preferring register_handlers
2010-12-15 20:53:52 -06:00
da9e4b3142
better method of loading modules --- don't import *, import each individually
2010-12-10 23:25:56 -06:00
eeb8ff83bf
fix a lack of encoding bug in a place where it's probably been lingering for a while.
2010-10-27 23:16:07 -05:00
898a4aa6c0
Revert "remove even more unicode()/encode() calls."
...
turns out there was a reason why i did this one.
This reverts commit 1afa34554f
.
2010-10-27 23:12:46 -05:00
1afa34554f
remove even more unicode()/encode() calls.
...
it's now to the point that i have no idea what convinced me to
make them in the first damn place.
2010-10-27 22:54:26 -05:00
Mike Bloy
48427ecd21
create the database if it doesn't exist, on startup
2010-10-24 15:11:37 -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
54af309bbc
and username, password options to bot, and properly connect with those options.
2010-09-08 20:32:43 -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
4d41314195
standardize config sections to use class name. NOTE: USERS NEED TO UPDATE THEIR CONFIG
2010-08-01 11:41:26 -05:00
54d62dd587
unicode fixes, in part to support what is going on in an in-dev weather module
2010-07-30 19:57:10 -05:00
7feb90242d
renaming 'irclib' dir to 'extlib'
2010-07-30 18:34:10 -05:00
262ee2e3e1
PEP 257ifying dr.botzo.py and Module.py
2010-07-30 13:34:51 -05:00
e1fe0eb4ca
do splitting in DrBotServerConnection.privmsg
2010-07-30 08:01:45 -05:00
88186e1425
slight documentation and whitespace for subclassing irclib.IRC, irclib.ServerConnection
2010-07-29 23:26:30 -05:00
9191f25052
load modules at startup based on config file, remove that item from TODO
2010-07-29 23:13:15 -05:00
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
a3da4f39c8
remove unnecessary stuff from dr.botzo.py import
2010-07-29 00:32:20 -05:00
91e535978f
comment nitpicking and restyling
2010-07-29 00:04:01 -05:00
kad
02df2ca783
Cleanup code
2010-07-28 13:25:49 -05:00
kad
0c17196b32
Add some modelines and fix indentation, I hope.
2010-07-28 00:11:58 -05:00
kad
1704fc7c50
Add ability to rehash modules. Split modules into separate files. Rehash is a bit flakey, not sure of a better way to do it.
2010-07-27 20:29:28 -05:00
c9c3b0e499
move irclib into its own subdirectory
2010-07-27 20:29:28 -05:00
74371727ed
making comments more standard
2010-07-27 20:29:28 -05:00
ea1b89540b
add GPL notice to dr.botzo.py
2010-07-27 20:29:28 -05:00
kad
1c728b14bd
Try to dynamically create modules
2010-07-26 22:46:48 -05:00
4f0908f873
move irclib into its own subdirectory
2010-07-26 22:36:07 -05:00
35b6545425
making comments more standard
2010-07-26 21:59:11 -05:00