c0e2de11f7
Twitter: tweet output tweaks
...
prefer @username printing over Full Name. previous output was inconsistent
2012-01-18 13:00:08 -06:00
a608f509ca
TextTransform: al bhed translator
2011-10-21 17:17:37 -05:00
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
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
e3ef3f48dc
Markov: add support for temporarily disabling chatter by supplying a negative chance
2011-10-21 16:59:57 -05:00
78f7614987
Module: it's come to this. bump the default sqlite connection timeout to 60 sec
2011-10-18 00:48:46 -05:00
b82dd382ee
DrBotIRC: swallow the rare exception that trickles up this far
2011-10-18 00:48:11 -05:00
d4f7941b7b
TODO: logging module
2011-10-18 00:41:15 -05:00
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
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
ad93ea28ec
Dice: fix display of multi-run rolls (e.g. 6#d20)
2011-10-14 14:22:56 -05:00
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
50fbbbfedd
Markov.py: tweaking the shut up check, this has been pretty good for a while
2011-09-20 01:20:27 -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
9ecd66f94a
Module: upsert drbotzo_modules
2011-07-06 21:51:30 -05:00
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
a51f0cb54c
Markov: refer to the actual target from a chatter target when shutting up
2011-07-01 18:42:04 -05:00
9abdc98487
Twitter: catch ValueError
2011-06-27 20:17:30 -05:00
678350fe5d
Markov: trivial change to allow for more advanced randomness later
2011-06-22 19:00:01 -05:00
9745cfc9be
Twitter: catch ValueError if the provided index isn't a number at all
2011-06-21 17:24:31 -05:00
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
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
1e87fe59d8
even more close connections from get_db()
2011-06-20 22:34:27 -05:00
097077174b
close connections from get_db()
2011-06-20 22:20:41 -05:00
c08e7cabc0
Module.py: make get_db() threadsafe by having it create a new connection every time
2011-06-20 22:08:49 -05:00
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
c7846e415a
IrcAdmin: don't crash by trying to tell #chan that you just left #chan
2011-06-20 20:27:20 -05:00
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
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
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
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
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
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
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
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
1a69610785
Alias: fix ^!alias$ == crash bug
2011-06-14 22:40:45 -05:00
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
02e77f3aed
Karma: make karma case insensitive, by popular request
2011-06-14 21:22:56 -05:00
57be7f8026
Markov: remove some cruft that is now obsolete
2011-06-14 21:08:01 -05:00
45af15a1ef
document more BUGS i'll fix one day
2011-06-02 15:24:38 -05:00
90be2d1855
Markov: trying a simpler form of shut up check
2011-05-03 22:13:49 -05:00
c55852129a
Twitter: Markov used our "need to create our own db object" logic and then improved it.
...
most importantly, don't clobber the first thread's db instances
2011-05-01 10:42:24 -05:00
5e8e93beba
Markov: clean up the whole "need to create our own db object" thing
2011-05-01 10:41:59 -05:00
03d0d6bc2d
Markov: shut up if we've been too chatty in too short a period of time.
...
track all lines seen and all lines said by Markov. every 30 seconds,
if there have been more than 20 such lines, and Markov is responsible
for roughly half of them, then shut up for 30 seconds, because the
bot probably got stuck talking to another bot.
this should mean that such a reply infinite loop can't happen for
more than a minute.
i'm not entirely sure on the 30 sec/20 lines ratio. this may need
tuning.
2011-05-01 10:38:46 -05:00
7692d295f6
Markov: don't clobber existing database objects in the forked thread
2011-05-01 10:26:06 -05:00
a73aec8ff0
Markov: remove debugging noise that snuck in via 42d414a0a4
2011-05-01 10:11:04 -05:00
1945637752
Markov: add support for chatter targets, channels we log messages to or randomly speak in
2011-05-01 10:05:37 -05:00