Commit Graph

365 Commits

Author SHA1 Message Date
dbcd367d66 Countdown: catch parsing error exception 2012-07-29 09:44:23 -05:00
988fe8729a Markov: add punctuation between chains
when starting a second (or Nth) chain because the results so far
are too short, add punctuation to the end of the chain, just to
make things feel a bit more natural
2012-07-29 09:43:06 -05:00
390e925360 Markov: rewrite backwards/forwards chainer
this clarifies a bunch of sections and seems slightly faster

target_word (which would be randomly selected from the input every
time) is replaced with seed_words, a shuffled list from the input.
this is to eliminate accidental reuse of the target word, which
would result in chains like X X X X X X X X X X X X X because
it'd keep targeting X

the rest of this is mostly just debug cleanup, though to simplify
the backwards code it only tries to find one target word
2012-07-29 09:39:07 -05:00
9ca37c3990 Markov: clarify what's going on in _get_suitable_word_from_choices 2012-07-29 09:36:56 -05:00
f15238a37e Markov: abort new chain tack-on if even that's giving us __stop 2012-07-28 14:01:05 -05:00
a6f4827a41 Markov: start new chains if the existing one is too short 2012-07-28 13:55:54 -05:00
ced165cff4 Markov: debug logging 2012-07-28 13:32:58 -05:00
f895867b86 Twitter: twitter_settings shouldn't have a primary key 2012-07-28 08:37:27 -05:00
8b2269c441 pyflakes cleanups 2012-07-27 20:38:45 -05:00
0a2aa21777 Storycraft: don't try to replace() on end_time when it's None 2012-07-27 17:42:12 -05:00
adccf69ede Storycraft: properly support/print timestamps 2012-07-27 16:51:57 -05:00
033631e5c2 no longer encode/decode UTF8 stuff when going to/from database
seems safe so far (famous last words)
2012-07-27 16:34:57 -05:00
e1356496eb Markov: don't encode('utf8') the stuff out of the database
it seems unnecessary now? i guess i have to change this in all
the modules now, including this one because i probably missed something
2012-07-27 15:24:56 -05:00
7bd5558f05 ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin for case-sensitivity 2012-07-27 14:57:41 -05:00
8338799f1b Seen: nick alone is no longer a unique primary key 2012-07-27 11:37:29 -05:00
2163268a39 Twitter: standardize on #dr.botzo for settings 2012-07-27 02:23:30 -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
deedf330e3 Twitter: don't freak out about not being authed when checking if we're authed 2012-07-27 00:11:10 -05:00
f8974dd240 TextTransform: add a !lower
how i got so far without adding this i'll never know
2012-07-26 19:53:20 -05:00
d6561bf221 Twitter: show full tweet when printing a reply-tweet 2012-07-26 18:18:16 -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
4100b55de0 deleting MegaHAL, Trigger, Urls (all deleted in py3 as well) 2012-07-15 21:05:48 -05:00
8dba63e38c deleting FactFile, which i intended to do aeons ago 2012-07-15 20:54:58 -05:00
2b0b7abd58 Markov: unicode fixes and improvements 2012-07-15 01:11:21 -05:00
8f5b6d96c2 Twitter: add a flag to getstatus/getuserstatus that suppresses the printing of the source 2012-07-14 09:59:45 -05:00
a8fe6da14f Twitter: when printing tweets, making the printing of the ID optional
add a flag to getstatus/getuserstatus that suppresses the printing of the ID
2012-07-14 09:55:11 -05:00
709a0cfd9a Twitter: actually store the server connection, not the bot instance 2012-07-14 09:54:26 -05:00
d41d8ed0c9 Twitter: force timeline check to wait 5 minutes (for channel joins and antispam) 2012-07-14 09:54:02 -05:00
8a7660380b Twitter: persist the authentication tokens and reuse them on init 2012-07-14 09:29:12 -05:00
2650824dbd Markov: correct the documentation on min_size/max_size in _generate_line 2012-07-14 09:22:37 -05:00
2dd27dde4b Twitter: more cleanup, clarify the auth stuff a bit 2012-07-14 08:41:40 -05:00
82765c7404 Twitter: some code cleanups, use self.twit.VerifyCredentials rather than an authed variable 2012-07-14 08:17:21 -05:00
395d436008 Seen: punctuation nitpicking, and provide response when user was not seen 2012-07-10 17:15:52 -05:00
d94d7f0c88 Markov: register ._generate_line as markov_generate_line 2012-04-05 21:24:41 -05:00
2e1bc8d5e0 Dice: expose do_roll as XML-RPC method "dice_roll" 2012-03-30 17:54:42 -05:00
60b7a33f7b Dice: apply the irc formatting outside of the !roll handler 2012-03-30 17:54:06 -05:00
f5b367406b Dice: break out the !roll handler 2012-03-30 17:26:51 -05:00
731aec8c0c DrBotIRC, Facts: clean up some method header doc since it shows up in XML-RPC 2012-03-30 11:14:31 -05:00
4253c83694 Facts: expose _get_fact as an XML-RPC method 2012-03-30 10:19:16 -05:00
71688f2389 Facts: refactoring; move the database querying into its own method (for reuse) 2012-03-30 10:18:40 -05:00
05a3bd0af7 move XML-RPC support into DrBotIRC so everything can eventually use it 2012-03-30 09:43:30 -05:00
91faebf33a XmlRpcServer: expose functionality via XML-RPC
this could be fun. provide an XML-RPC web service that allows for
remote access into the bot. in addition to some obvious stuff, this
includes a method that lets you execute any arbitrary module's arbitrary
method (so be careful) and retrieve the results.

as a side effect this has made it apparent that i need to clean up
some of my modules so that functionality and irc responses are decoupled.
2012-03-30 00:44:25 -05:00
07744a0f66 indicate recursion better by adding _recursing to Event
for simplicity's sake, this was added to the extlib/irclib rather
than subclassing. because i'm lazy. anyway, check that flag instead
of doing the event._target = None hack, since that hack was breaking
Markov.

for an unrelated reason (what to learn and not learn), update Markov

also remove an unused method that was getting in my way while coding this
2012-03-29 20:07:32 -05:00
7d41564d02 Markov: allow for auto-context insertion
this should result in no chains having a null context --- if no pre-existing
context is created, one is created for the channel/nick and used. this makes,
for example, arbitrary queries "private" to that nick (again unless that has
been overridden). shouldn't affect much of anything, but adding this made
the context-less learning code obsolete, which is fine since it was never used
anyway
2012-03-19 00:12:29 -05:00
ce93480e9b Dice: allow !roll/!ctech strings anywhere, not just at the start of the line 2012-03-19 00:11:56 -05:00
ac14c2a8e8 Acro: use an actual variable :| 2012-03-02 20:10:39 -06:00
b08059df78 Acro: tuning the sleep times, added self.seconds_to_submit_step as another tunable 2012-03-02 20:05:47 -06:00
7e5d51f460 Acro: play a game commonly known as acromania.
the bot will generate acronyms of 3-8 characters in length. it's your
job to find the "best" phrase fitting the acronym. work in progress,
but this is still playable
2012-03-02 19:13:03 -06:00
26bc8bec34 Markov: rebuild the tables, use the context stuff in a better fashion this time
the module will drop your old tables if you have them, so if there's data there,
be sure to back them up and figure out some migration strategy (probably annoying
and probably having to script it).

the big change is that each line is associated to a context now, and channels
are also associated to contexts. this should allow for a better partitioning
of multiple brains, and changing which channels point to which brain.

also caught in the wake is some additional logging verbosity, and a change to
no longer lower() everything learned.

the script to dump a file into the database has also been updated with the above
changes
2012-02-28 23:23:14 -06:00
79ddce0bcb Babelfish: already a smattering of bugfixes and cleanups 2012-01-23 22:05:25 -06:00