Brian S. Stephan
576cea4c0a
Web (Storycraft): only do fancy first-letter tricks on actual stories, not the message about how there isn't a story to show yet.
2011-02-20 11:42:33 -06:00
Brian S. Stephan
632a3f5e99
Web: add an app for storycraft, mainly for viewing completed games at the moment
2011-02-20 11:32:17 -06:00
Brian S. Stephan
91b276ece5
TODO: half-thought plan to move all bot config to the database
2011-02-19 14:16:29 -06:00
Brian S. Stephan
faef1cb802
Web: add a root index page
...
would like to display some of the bot variables, but the base config
needs to be added to the database first, which isn't done yet
2011-02-19 14:13:11 -06:00
Brian S. Stephan
378029321c
Web: move botweb to web
2011-02-19 13:22:36 -06:00
Brian S. Stephan
55ad48c805
Web: slight environment cleanup, wsgi app
2011-02-19 13:18:31 -06:00
Brian S. Stephan
c9046ff587
Merge remote branch 'origin/mjb.web'
2011-02-19 10:47:31 -06:00
Brian S. Stephan
22b35bcb94
Storycraft: add storycraft_gamestatus in order to break out getting a game's status
...
this is primarily to use a consistent format - 'game X status' rather than 'status X'
2011-02-19 01:18:14 -06:00
Brian S. Stephan
de04fd0d85
add TODO for fixing Twitter poll output order
2011-02-19 01:17:19 -06:00
Brian S. Stephan
3e63c2e458
since sending arbitrary text and replying now have very different goals, add Module.sendmsg
...
this just sends a privmsg to the specified target on the specified
connection. pretty straightforward. also, update the modules that
need it to use it.
2011-02-17 12:31:51 -06:00
Brian S. Stephan
752515a628
put check for pubmsg vs. privmsg in Module.reply() rather than a method where it achieved nothing
2011-02-17 12:07:41 -06:00
Brian S. Stephan
fca716af9e
allow for multiple modules to respond to recursion text
2011-02-17 12:01:32 -06:00
Brian S. Stephan
f4d69c90d4
Alias: don't crash when doing alias info output because i forgot to update the reply calls.
2011-02-17 10:07:29 -06:00
Brian S. Stephan
04c5a641d1
Alias: ignore case in alias search
2011-02-17 09:38:41 -06:00
Brian S. Stephan
2aa369add7
rewrite recursion/alias code for the 500th time.
...
more of a moving of the code, actually, it now exists in (an overridden)
_handle_event, so that recursions happen against irc events directly,
rather than an already partially interpreted object.
with this change, modules don't need to implement do() nor do we have a
need for the internal_bus, which was doing an additional walk of the
modules after the irc event was already handled and turned into text. now
the core event handler does the recursion scans.
to support this, we bring back the old replypath trick and use it again,
so we know when to send a privmsg reply and when to return text so that
it may be chained in recursion. this feels old hat by now, but if you
haven't been following along, you should really look at the diff.
that's the meat of the change. the rest is updating modules to use
self.reply() and reimplementing (un)register_handlers where appropriate
2011-02-17 01:08:45 -06:00
Brian S. Stephan
64df118c65
move Twitter._unescape to Module._unencode_xml
2011-01-26 20:28:34 -06:00
Brian S. Stephan
28f450ab5d
Markov: improve min_size by implementing min_search_tries
...
if the end of a chain has been reached via __end, but min_size
has not been satisfied, discard the last couple elements in the
chain and try again. use min_search_tries so we don't do this
forever.
2011-01-25 20:42:52 -06:00
Brian S. Stephan
7b4b86dc0d
Markov: add support for requesting desired min/max size of a reply
...
note that since the min_size support is kind of crude at the moment,
this only partially works
2011-01-25 20:25:15 -06:00
Brian S. Stephan
157f1bf361
Twitter: add command for a twitter-native reply
2011-01-25 19:36:24 -06:00
Brian S. Stephan
1aba7c904d
Alias: convert to use database
2011-01-24 17:01:32 -06:00
Brian S. Stephan
c732466129
Merge branch 'master' of git.incorporeal.org:dr.botzo
2011-01-24 16:51:52 -06:00
Brian S. Stephan
2f3feb093d
have !markov learn echo the text it learned, in case someone wants to chain it with other commands for some reason
2011-01-24 16:51:05 -06:00
Brian S. Stephan
4e8b60c201
Karma: add top to reportpattern
2011-01-20 14:50:51 -06:00
Brian S. Stephan
18fc614a4a
assorted whitespace nitpicking
2011-01-20 14:15:10 -06:00
Brian S. Stephan
7601b025e1
Merge remote branch 'origin/mjb'
2011-01-20 14:08:39 -06:00
Mike Bloy
ce42bca43a
add new help text for new karma command
2011-01-20 10:12:28 -06:00
Mike Bloy
2cc79b42a6
add a top karma givers report
2011-01-20 10:08:20 -06:00
Brian S. Stephan
a0a5bdec1c
document moving Twitter's _unencode somewhere more appropriate
2011-01-19 23:24:30 -06:00
Brian S. Stephan
5ec7ac7177
Twitter: unescape some xml entities that may show up in the input.
...
this should maybe be moved into DrBotIRC or something, it'll likely
be handy elsewhere.
2011-01-19 23:12:01 -06:00
Brian S. Stephan
a961180065
Twitter: support for polling the bot's timeline and mentions feeds
...
needs authentication. this adds a sqlite database, to track a couple
settings. one, since_id, tracks the last successful time this poll
happened, so it's pretty important you don't muck around with it.
default value is 0, so the first time this poll occurs, it may be a
bit spammy.
2011-01-19 22:56:49 -06:00
Brian S. Stephan
cac9afd33e
document sqlite/threads bug
2011-01-19 20:59:24 -06:00
Brian S. Stephan
e88a934569
Twitter: cleanup/organize the code a bit
2011-01-19 19:44:04 -06:00
Brian S. Stephan
89905ac771
Twitter: tweet_or_retweet_text -> _return_tweet_or_retweet_text
2011-01-19 19:26:28 -06:00
Brian S. Stephan
7c05f60ffd
Markov: implement a min_size, which tries to make a chain of at least min_size words.
...
note that this isn't guaranteed, if the chain is such that the
current tuple has nowhere to go but to the end of the line, then
it will follow it --- it doesn't try to go back and rebuilt a different
chain or anything.
2011-01-19 18:44:07 -06:00
Brian S. Stephan
ac0429569e
Markov: size -> max_size, since I'm going to try adding a min_size soon
2011-01-19 18:35:01 -06:00
Brian S. Stephan
176ca25c68
Markov: increase the default max length from 25 words to 100 words.
...
it's expected that, usually, the chain will have hit an end before this.
2011-01-19 18:32:15 -06:00
Brian S. Stephan
c4ade3cbca
catch all Exception when calling the handlers, to avoid a crash there.
...
this used to be in the bot before we moved this code around
2011-01-19 10:21:14 -06:00
Brian S. Stephan
d592d3f3bb
Markov: regexes should only match start of line --- add ^
2011-01-19 10:20:20 -06:00
Brian S. Stephan
3283fac1ff
Markov: remove some debugging i forgot to clean out before the initial commit
2011-01-18 22:51:40 -06:00
Brian S. Stephan
9841a51f21
.gitignore dr.botzo.markov
2011-01-18 22:34:03 -06:00
Brian S. Stephan
8dd223f778
Markov: a module to implement a chatterbot via markov chains.
...
yeah, we have MegaHAL, but i can't find a good implementation in
python that actually works and is stable, so we'll implement a
simple thing ourselves. works pretty much like MegaHAL does, but
without the string corruption.
original code provided by ape, care of mike bloy
2011-01-18 22:30:59 -06:00
Brian S. Stephan
8f86b7484a
Storycraft: fix progress math
2011-01-09 22:36:56 -06:00
Brian S. Stephan
10cbe1944f
Storycraft: add a terse progress string to the output when messaging players.
...
this is so that people know when they should start wrapping their
story up.
2011-01-09 22:17:22 -06:00
Brian S. Stephan
e9c22d33f3
Storycraft: write completed story to disk via !storycraft export #
2011-01-09 21:41:23 -06:00
Brian S. Stephan
e39d55f03d
Storycraft: display how over the user went when writing their line, if they went over
2011-01-09 21:40:03 -06:00
Mike Bloy
69aa4016bc
add working karma module to django bot site
2011-01-09 14:11:24 -06:00
Brian S. Stephan
2f001e274b
Storycraft: notify (via privmsg) a player who has had a game newly assigned to them, and show the line.
2011-01-09 13:50:16 -06:00
Mike Bloy
154eb9753f
adding karma 'app'
2011-01-09 12:51:22 -06:00
Brian S. Stephan
487ca2e862
Storycraft: display the number of logged lines when doing an in progress status
2011-01-09 12:30:55 -06:00
Brian S. Stephan
7ae2a75732
Storycraft: when picking a new random player in the middle of a game, avoid picking the same person as the last turn
2011-01-09 12:28:37 -06:00