This website requires JavaScript.
f4dc667c77
dodge another unicode crash
Brian S. Stephan
2010-11-22 20:25:28 -06:00
daa018c64b
handle silly +- syntax, which will do both an increment and a decrement
Brian S. Stephan
2010-11-19 09:33:37 -06:00
50e45b2a0d
move the karma logging into a separate method, since i'm about to reuse it in a new way
Brian S. Stephan
2010-11-19 09:26:49 -06:00
12d5425644
vi modeline in Karma.py
Brian S. Stephan
2010-11-19 09:20:48 -06:00
526d553220
require whitespace or end of line after increment/decrement
Brian S. Stephan
2010-11-17 10:25:49 -06:00
8cc411956e
much more permissive karma regexes
Brian S. Stephan
2010-11-17 10:21:30 -06:00
9014e076bf
drop the timeout to 1 sec
Brian S. Stephan
2010-11-03 22:52:42 -05:00
436fcd1132
provide timeout to the megahal system, so that the bot doesn't spin forever on a reply
Brian S. Stephan
2010-11-03 22:50:34 -05:00
6ebca3ff59
simple utility script to take a newline-separated list of facts and insert to database
Brian S. Stephan
2010-11-01 22:17:10 -05:00
2b06c79d67
.gitignore stuff that is generated by PLY (from Dice.py)
Brian S. Stephan
2010-11-01 22:15:31 -05:00
c484dde5b8
Merge branch 'kad'
Brian S. Stephan
2010-11-01 22:12:51 -05:00
57b6ffa0b7
re.IGNORECASE in the regexp function compiled for sqlite
Brian S. Stephan
2010-11-01 22:12:14 -05:00
e1d5d9f522
Fix negative modifier issue
kad
2010-10-31 17:01:15 -06:00
0bcefc49b5
Merge branch 'kad'
Brian S. Stephan
2010-10-31 13:36:59 -05:00
c2280aaf1e
Remove diceply.py
kad
2010-10-31 11:08:58 -06:00
4f56e40ca7
Use PLY to parse dice strings
kad
2010-10-30 14:04:58 -06:00
694f051994
allow karma to happen anywhere in a sentence (rather than just the start), switch to re.search() throughout
Brian S. Stephan
2010-10-29 13:08:48 -05:00
b7f2b9bd0e
use re.search() rather than re.match() in a couple places
Brian S. Stephan
2010-10-29 00:30:02 -05:00
b5e71d677f
first cut at a database-driven fact storage module.
Brian S. Stephan
2010-10-29 00:00:55 -05:00
487e997a55
define a regexp function in sqlite
Brian S. Stephan
2010-10-28 23:52:06 -05:00
8fbd58e2c6
chmod -x modules/Karma.py
Brian S. Stephan
2010-10-28 20:56:59 -05:00
aabc8904ad
properly handle recursion, so that the alias actually works
Brian S. Stephan
2010-10-28 20:46:09 -05:00
0dfe8bcdd6
have karma module use the normal, non-alias-like command ('rank' rather than '!rank')
Brian S. Stephan
2010-10-28 20:15:48 -05:00
352b9e1830
more punctuation in the regex
Brian S. Stephan
2010-10-28 20:08:30 -05:00
5dda9ac1e5
change the format of the pi output a bit
Brian S. Stephan
2010-10-28 20:05:08 -05:00
eeb8ff83bf
fix a lack of encoding bug in a place where it's probably been lingering for a while.
Brian S. Stephan
2010-10-27 23:16:07 -05:00
898a4aa6c0
Revert "remove even more unicode()/encode() calls."
Brian S. Stephan
2010-10-27 23:12:46 -05:00
1afa34554f
remove even more unicode()/encode() calls.
Brian S. Stephan
2010-10-27 22:54:26 -05:00
aae4dfa062
remove a (hopefully) useless unicode() call
Brian S. Stephan
2010-10-27 22:48:52 -05:00
8384a54961
updating the TODO. there's probably more stuff here that i forgot
Brian S. Stephan
2010-10-27 22:40:24 -05:00
cb7044e64a
this encode('utf-8')/decode('utf-8') seems to unnecessary and accomplishes nothing?
Brian S. Stephan
2010-10-27 22:09:59 -05:00
7c4125e099
properly use encode() to do the rot13 conversion, ignore conversion failures
Brian S. Stephan
2010-10-27 21:56:18 -05:00
1bc0dd0b2a
TextTransform module. right now it only does rot13
Brian S. Stephan
2010-10-27 19:57:18 -05:00
eefc41a6d7
last_insert_rowid() only makes sense for the current connection, so ORDER BY id DESC instead
Brian S. Stephan
2010-10-27 19:32:09 -05:00
2d8a86950c
remove unneeded ConfigParser
Brian S. Stephan
2010-10-27 19:31:43 -05:00
97893a3b7a
convert Pi.py to use sqlite backend
Brian S. Stephan
2010-10-27 18:02:26 -05:00
1d73deda1c
sqlite related stuff as part of making sqlite the canonical backend
Brian S. Stephan
2010-10-27 17:59:01 -05:00
70b49ecbcc
whitespace nitpicking
Brian S. Stephan
2010-10-25 21:14:35 -05:00
3d65a6a158
Merge branch 'bloy-sqlite'
Brian S. Stephan
2010-10-25 21:11:40 -05:00
8cfeef2efd
Revert "Merge branch 'bloy-sqlite'" because i want to merge this the right way
Brian S. Stephan
2010-10-25 21:06:01 -05:00
c1c29648d7
Revert "whitespace nitpicking" because I want to merge this the right way
Brian S. Stephan
2010-10-25 21:05:33 -05:00
b9c2be8c54
whitespace nitpicking
Brian S. Stephan
2010-10-25 20:50:59 -05:00
5a76a9866a
Merge branch 'bloy-sqlite'
Brian S. Stephan
2010-10-25 20:49:12 -05:00
5f6ced3066
add ' to karma matcher regex
Brian S. Stephan
2010-10-25 19:21:39 -05:00
9a1086e855
added support for karma for things with spaces, by wrapping it in ()
Brian S. Stephan
2010-10-25 19:11:17 -05:00
2973d904f4
pythonic header
Brian S. Stephan
2010-10-25 18:44:28 -05:00
a4839fd35f
whitespace nitpickery
Brian S. Stephan
2010-10-25 18:37:30 -05:00
69c8922024
Merge branch 'bloy-master'
Brian S. Stephan
2010-10-25 18:31:28 -05:00
ebd89d35cc
(hopefully) properly catch/log URLError, IndexError
Brian S. Stephan
2010-10-25 18:23:25 -05:00
84ba3107f0
include rank in karma output
Mike Bloy
2010-10-24 14:48:26 -05:00
98f07105bc
karma data store moved to sqlite
Mike Bloy
2010-10-24 13:05:16 -05:00
6a67795b18
modules know how to ask for a version number from the database
Mike Bloy
2010-10-24 11:50:12 -05:00
56d2847285
ignore database files
Mike Bloy
2010-10-24 11:49:05 -05:00
48427ecd21
create the database if it doesn't exist, on startup
Mike Bloy
2010-10-24 11:46:49 -05:00
240612fecf
database connection grabbing for Modules
Mike Bloy
2010-10-24 09:46:41 -05:00
40ab270324
fixed rank trigger for karma
Mike Bloy
2010-10-24 14:57:23 -05:00
e557137f82
fix karma formatting
Mike Bloy
2010-10-24 09:37:43 -05:00
e453778791
clean up karma module
Mike Bloy
2010-10-24 09:36:15 -05:00
b1fe99d5a2
ignore nbproject dir
Mike Bloy
2010-10-24 08:43:22 -05:00
a64c83ce59
working karma module
Mike Bloy
2010-10-23 22:52:15 -05:00
a45af7a0a7
Pi -> pi, fixing what I'm going to claim is a typo.
Brian S. Stephan
2010-10-20 11:57:31 -05:00
c3270ef3df
module to calculate pi over time, via the monte carlo method.
Brian S. Stephan
2010-10-18 22:48:51 -05:00
2a1ef11d95
don't attempt recursion when the subcmd is, in fact, an empty string (i.e. text was '[]')
Brian S. Stephan
2010-10-12 11:54:43 -05:00
95a27cc44b
read brainfile filename from config file, allow default
Brian S. Stephan
2010-10-09 20:37:15 -05:00
05f1ce325a
put MegaHAL module load in __init__, which is now being implemented here
Brian S. Stephan
2010-10-09 19:36:00 -05:00
52b740a52c
split the register_handlers into a method other than the object constructor
Brian S. Stephan
2010-10-09 18:52:51 -05:00
599106e447
require config file on the command line
Brian S. Stephan
2010-10-02 21:44:03 -05:00
466eb6eff1
attempt to give up if we're doing too many splits
Brian S. Stephan
2010-09-30 19:38:21 -05:00
827d1b2c86
megahal library crashes if the text ends with ' for some reason, so work around it
Brian S. Stephan
2010-09-13 20:22:08 -05:00
1988662c0a
have ^megahal$ trigger a no-input reply from the megahal module.
Brian S. Stephan
2010-09-08 22:22:43 -05:00
d5c4750dd8
use proper pluralization, commas in countdown output
Brian S. Stephan
2010-09-08 21:39:56 -05:00
e6c9747dad
remove overload of on_pubmsg()
Brian S. Stephan
2010-09-08 20:44:09 -05:00
54af309bbc
and username, password options to bot, and properly connect with those options.
Brian S. Stephan
2010-09-08 20:32:43 -05:00
fd7834756b
add !alias list that displays the existing alias commands. limited utility, really.
Brian S. Stephan
2010-09-08 20:12:19 -05:00
a7f0070a39
module reloading appears to be broken. disabling for now.
Brian S. Stephan
2010-09-08 20:06:20 -05:00
f5caeb3833
add new meta options to remove_metaoptions()
Brian S. Stephan
2010-09-08 19:58:29 -05:00
3e91000acc
now that we have meta.strip_bot_name_from_input there is no need to overload on_pubmsg
Brian S. Stephan
2010-09-08 19:51:18 -05:00
338c1e759f
meta option 'meta.strip_bot_name_from_input' to determine just that.
Brian S. Stephan
2010-09-08 19:49:56 -05:00
14973388e5
remove pubmsg/privmsg overloading in Alias now that we have 'meta.skip_recursion_scan'.
Brian S. Stephan
2010-09-08 19:40:16 -05:00
fc8a61a110
meta option 'meta.pubmsg_ignore_bot_prefix' to have module not try [] recursion.
Brian S. Stephan
2010-09-08 19:38:19 -05:00
98c30e1714
module meta option to ignore when bot is addressed directly.
Brian S. Stephan
2010-09-08 19:32:06 -05:00
f3e9568fe3
create the array of arguments in all the methods that need them
Brian S. Stephan
2010-09-08 19:24:26 -05:00
6541e6a193
first attempt at using HTTP POST for translate
Brian S. Stephan
2010-09-08 19:07:01 -05:00
47022f9428
add ctech dice rolling method, for cthulhutech.
Brian S. Stephan
2010-09-05 11:00:11 -05:00
27ff7e257d
fix a bug that was getting the trailing semicolon wrong, and do it better anyway.
Brian S. Stephan
2010-09-05 10:44:59 -05:00
053c3f0ae6
properly call admin functions within do.
Brian S. Stephan
2010-09-04 12:26:50 -05:00
8c1c10a4bc
remove debugging print statement
Brian S. Stephan
2010-09-04 12:26:20 -05:00
92281151ff
don't display the comment twice, now that we print the entire roll string
Brian S. Stephan
2010-09-04 12:09:37 -05:00
a0fd33b070
only append the roller's nick once, at the end, if there is a reply
Brian S. Stephan
2010-09-04 12:08:13 -05:00
27b27ecb61
split roll string and properly ignore "roll" from roll attempt
Brian S. Stephan
2010-09-04 12:04:24 -05:00
5b44b66c4d
demand a roll prefix on the Dice module
Brian S. Stephan
2010-09-04 11:56:35 -05:00
b9ef46606d
don't output anything if the aliasified command is the same as the reply.
Brian S. Stephan
2010-09-04 11:55:10 -05:00
b1e1254564
reloading MegaHAL.py seems broken somehow, so just avoid doing it
Brian S. Stephan
2010-09-04 11:49:18 -05:00
a5dbb27622
Alias module to turn text into other text. mostly for sending commands to the bot without addressing the bot with bot: (and potentially triggering MegaHAL) yet also without exposing sensitive commands to the non-addressable mode (like wtf/quit). speak the alias and the bot will run the looked-up text through the modules, regardless of their addressable settings
Brian S. Stephan
2010-09-04 11:29:18 -05:00
bf8fe46522
retransmit_event takes an Event and re-runs it through normal event handling. i wrote this for something and then realized i didn't need it, but it may be interesting for some reason in the future
Brian S. Stephan
2010-09-04 10:45:18 -05:00
1f27078f82
MegaHAL module, lets the bot partake in inane conversations. doesn't assume a learning file or anything, starts with an empty brain and learns from IRC
Brian S. Stephan
2010-09-04 09:53:11 -05:00
71e545b908
external MegaHAL library for incoming module
Brian S. Stephan
2010-09-04 09:51:44 -05:00
4bf2d344fc
dice: only try sending something if we actually have something to say
Brian S. Stephan
2010-08-28 14:07:00 -05:00
88c83c1e45
dice: properly handle multiple-roll strings (d20; d20) in this post- recursion world where we're supposed to return a string
Brian S. Stephan
2010-08-28 14:04:29 -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
Brian S. Stephan
2010-08-24 13:25:30 -05:00