Brian S. Stephan
ac14c2a8e8
Acro: use an actual variable :|
2012-03-02 20:10:39 -06:00
Brian S. Stephan
b08059df78
Acro: tuning the sleep times, added self.seconds_to_submit_step as another tunable
2012-03-02 20:05:47 -06:00
Brian S. Stephan
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
Brian S. Stephan
ef9b80d86f
DrBotIRC: add support for ignoring all events from a nick
...
rudimentary for the moment. pop something like this in your config:
[Ignore]
nick_to_ignore = 1
2012-03-01 22:00:42 -06:00
Brian S. Stephan
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
Brian S. Stephan
79ddce0bcb
Babelfish: already a smattering of bugfixes and cleanups
2012-01-23 22:05:25 -06:00
Brian S. Stephan
c018bb9634
Babelfish: since google translate's API has been discontinued, let's use babelfish
2012-01-23 21:44:52 -06:00
Brian S. Stephan
c0e2de11f7
Twitter: tweet output tweaks
...
prefer @username printing over Full Name. previous output was inconsistent
2012-01-18 13:00:08 -06:00
Brian S. Stephan
a608f509ca
TextTransform: al bhed translator
2011-10-21 17:17:37 -05:00
Brian S. Stephan
ef66c855f3
Achievements: new dumb feature, add irc achievements
...
stats on users are tracked, and achievements are defined by writing
sql queries against those stats. silly fun
2011-10-21 17:01:49 -05:00
Brian S. Stephan
8c1ffc54ba
Markov: drop the max id stuff, get a bunch of chains and pick one randomly. cooler this way.
2011-10-21 17:01:09 -05:00
Brian S. Stephan
e3ef3f48dc
Markov: add support for temporarily disabling chatter by supplying a negative chance
2011-10-21 16:59:57 -05:00
Brian S. Stephan
78f7614987
Module: it's come to this. bump the default sqlite connection timeout to 60 sec
2011-10-18 00:48:46 -05:00
Brian S. Stephan
b82dd382ee
DrBotIRC: swallow the rare exception that trickles up this far
2011-10-18 00:48:11 -05:00
Brian S. Stephan
d4f7941b7b
TODO: logging module
2011-10-18 00:41:15 -05:00
Brian S. Stephan
cda1d43606
Markov: index on (v, context) and other enhancements for the last commit
...
reduce some infinite loop possibilities, and add an index with the old <= id trick
to speed up the searching for backwards chains
2011-10-16 21:13:27 -05:00
Brian S. Stephan
42962bc48d
Markov: add support for starting in the middle of a chain and working backwards
...
this only makes sense if we have a target word set, which we usually do.
start with the target word and go backwords, finding k2s that lead to it
(and that lead to that k2, and so on) until we get to the start-of-chain
value, when we know we're done working backwards. then resume the normal
appending logic
probably needs some work, probably a bit slow on huge databases. analysis
pending, but this appears to work
2011-10-16 20:19:51 -05:00
Brian S. Stephan
ad93ea28ec
Dice: fix display of multi-run rolls (e.g. 6#d20)
2011-10-14 14:22:56 -05:00
Brian S. Stephan
86e6cd3db0
Dice: change the output format so it's a bit more readable
2011-10-13 21:08:09 -05:00
kad
93761df5ed
Allow spaces after ; for separated rolls
2011-10-13 20:30:59 -05:00
Brian S. Stephan
50fbbbfedd
Markov.py: tweaking the shut up check, this has been pretty good for a while
2011-09-20 01:20:27 -05:00
Brian S. Stephan
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
Brian S. Stephan
9ecd66f94a
Module: upsert drbotzo_modules
2011-07-06 21:51:30 -05:00
Brian S. Stephan
4566d1734e
change the default sqlite timeout to 30 seconds
...
this should make the bot wait longer for table locks, assuming i
read the docs right
2011-07-01 18:42:49 -05:00
Brian S. Stephan
a51f0cb54c
Markov: refer to the actual target from a chatter target when shutting up
2011-07-01 18:42:04 -05:00
Brian S. Stephan
9abdc98487
Twitter: catch ValueError
2011-06-27 20:17:30 -05:00
Brian S. Stephan
678350fe5d
Markov: trivial change to allow for more advanced randomness later
2011-06-22 19:00:01 -05:00
Brian S. Stephan
9745cfc9be
Twitter: catch ValueError if the provided index isn't a number at all
2011-06-21 17:24:31 -05:00
Brian S. Stephan
ad4d75f724
Module: move REGEXP definition to every get_db() call
...
also remove some self.conn stuff that no one used anymore
2011-06-21 17:22:24 -05:00
Brian S. Stephan
7220025f0a
Markov: randomly say something to a list of approved channels
...
check interval is every 10 minutes, rows in markov_chatter_target
have a 1 in chance chance of leading to a line being generated,
every 10 minutes. (so an interval of 144 = 10 min * 6 * 24 = one line
per day, on average)
2011-06-20 22:49:25 -05:00
Brian S. Stephan
1e87fe59d8
even more close connections from get_db()
2011-06-20 22:34:27 -05:00
Brian S. Stephan
097077174b
close connections from get_db()
2011-06-20 22:20:41 -05:00
Brian S. Stephan
c08e7cabc0
Module.py: make get_db() threadsafe by having it create a new connection every time
2011-06-20 22:08:49 -05:00
Brian S. Stephan
152ef2a1ad
Module: remove the timer stuff, since individual modules can do this better themselves
...
Markov, Twitter: switch to forking a thread ourselves, and check every
second whether or not to quit. this is the "better" part above, as
now we can instantly quit the thread rather than waiting for all
the timers to fire and expire
2011-06-20 21:18:55 -05:00
Brian S. Stephan
c7846e415a
IrcAdmin: don't crash by trying to tell #chan that you just left #chan
2011-06-20 20:27:20 -05:00
Brian S. Stephan
75ba29739c
don't treat the string 'debug' as an alias from the config file
...
stuff like '!echo debug' would result in 'false'. oops
2011-06-20 20:05:03 -05:00
Brian S. Stephan
111b068ed4
Dice: trivial whitespace cleanup, merging last two commits from kad
2011-06-20 19:32:17 -05:00
kad
35df9f9425
Change output for selection rolls. Output of die rolls is no longer sorted.
2011-06-20 16:48:24 -05:00
kad
a767b3d6e2
Fix trying to roll a zero-sided die error
2011-06-20 16:45:08 -05:00
Brian S. Stephan
c7b7e6e3ad
Seen: don't track seen data for stuff without a location
...
like the last commit, this happens on [subcommands]
2011-06-16 21:26:13 -05:00
Brian S. Stephan
df3de56c4c
Markov: don't add chains if the context is null
...
that should only be possible on non-pub/privmsgs, or if there
is a [subcommand] being analyzed. in any event, don't learn it.
2011-06-16 21:25:22 -05:00
Brian S. Stephan
74c03cff88
update markov chain import script for always using a context, specified on command line
...
also read stdin rather than a file for lines
2011-06-15 20:40:24 -05:00
Brian S. Stephan
a8031909b4
Markov: bite the bullet and make each markov chain automatically assigned a context (channel/query)
...
still kind of testing this, but i think it's easiest
2011-06-15 12:29:18 -05:00
Brian S. Stephan
476bd92010
Seen: per-channel (or privmsg speaker, i suppose) seen data
...
now mean words in one channel aren't leaked via !seen in another
2011-06-15 11:07:32 -05:00
Brian S. Stephan
fe305f4388
remove documenting a BUG about Module.get_db() not being thread-safe
...
this is still true, but Twitter and Markov work around it suitably
2011-06-14 22:42:50 -05:00
Brian S. Stephan
1a69610785
Alias: fix ^!alias$ == crash bug
2011-06-14 22:40:45 -05:00
Brian S. Stephan
a0588869f3
Markov: add selecting by context, in order to segregate chains by channel
...
adding chains by context has existed for a while, this should allow for
querying for chains with null context or the current context. lightly
tested
2011-06-14 22:10:57 -05:00
Brian S. Stephan
02e77f3aed
Karma: make karma case insensitive, by popular request
2011-06-14 21:22:56 -05:00
Brian S. Stephan
57be7f8026
Markov: remove some cruft that is now obsolete
2011-06-14 21:08:01 -05:00
Brian S. Stephan
45af15a1ef
document more BUGS i'll fix one day
2011-06-02 15:24:38 -05:00