Commit Graph

176 Commits

Author SHA1 Message Date
Brian S. Stephan 4013a93dc9 Merge branch 'bloy-karma' 2010-12-08 22:00:39 -06:00
Brian S. Stephan a19dcdb690 fix string concat thinko 2010-12-06 16:31:16 -06:00
Brian S. Stephan a8562f71a0 slight code cleanup, add windchill calculation 2010-12-06 16:01:49 -06:00
Mike Bloy 9340c76361 remove trailing whitespace 2010-12-01 10:58:04 -06:00
Mike Bloy b425895107 optimist/pessimist report 2010-11-25 13:05:23 -06:00
Mike Bloy acee8752a5 highest and lowest karma report 2010-11-25 13:01:23 -06:00
Mike Bloy 30d49bcd5d karma stat command
added ability to get stats on a particular users karma
2010-11-25 11:41:12 -06:00
Mike Bloy a434c3738f error reporting in karma_modify
the connection and replypath paramaters are required for graceful error reporting
2010-11-25 11:20:48 -06:00
Mike Bloy 647a2edb5c thinking about new karma commands 2010-11-23 23:38:56 -06:00
Mike Bloy 120dcc9fda slightly more anal silly karma handling 2010-11-23 21:45:47 -06:00
Brian S. Stephan f4dc667c77 dodge another unicode crash 2010-11-22 20:25:28 -06:00
Brian S. Stephan daa018c64b handle silly +- syntax, which will do both an increment and a decrement
(this won't impact the overall rank, of course, but does create log
entries that may be interesting for later analysis
2010-11-19 09:33:37 -06:00
Brian S. Stephan 50e45b2a0d move the karma logging into a separate method, since i'm about to reuse it in a new way 2010-11-19 09:26:49 -06:00
Brian S. Stephan 12d5425644 vi modeline in Karma.py 2010-11-19 09:20:48 -06:00
Brian S. Stephan 526d553220 require whitespace or end of line after increment/decrement
this is to avoid stuff like http://somegross/url--more/garbage as being
a decrement of http://somegross/url
2010-11-17 10:25:49 -06:00
Brian S. Stephan 8cc411956e much more permissive karma regexes 2010-11-17 10:21:30 -06:00
Brian S. Stephan 9014e076bf drop the timeout to 1 sec 2010-11-03 22:52:42 -05:00
Brian S. Stephan 436fcd1132 provide timeout to the megahal system, so that the bot doesn't spin forever on a reply
not that that just happened or anything
2010-11-03 22:50:34 -05:00
Brian S. Stephan c484dde5b8 Merge branch 'kad' 2010-11-01 22:12:51 -05:00
kad e1d5d9f522 Fix negative modifier issue 2010-10-31 18:01:15 -05:00
Brian S. Stephan 0bcefc49b5 Merge branch 'kad' 2010-10-31 13:36:59 -05:00
kad c2280aaf1e Remove diceply.py 2010-10-31 12:14:18 -05:00
kad 4f56e40ca7 Use PLY to parse dice strings 2010-10-30 15:09:16 -05:00
Brian S. Stephan 694f051994 allow karma to happen anywhere in a sentence (rather than just the start), switch to re.search() throughout 2010-10-29 13:08:48 -05:00
Brian S. Stephan b7f2b9bd0e use re.search() rather than re.match() in a couple places
(search() looks for the regex anywhere in the string whereas
match() only looks for the regex starting from the beginning)
2010-10-29 00:30:02 -05:00
Brian S. Stephan b5e71d677f first cut at a database-driven fact storage module.
may still be a bit brittle
2010-10-29 00:00:55 -05:00
Brian S. Stephan 8fbd58e2c6 chmod -x modules/Karma.py 2010-10-28 20:56:59 -05:00
Brian S. Stephan aabc8904ad properly handle recursion, so that the alias actually works 2010-10-28 20:46:09 -05:00
Brian S. Stephan 0dfe8bcdd6 have karma module use the normal, non-alias-like command ('rank' rather than '!rank') 2010-10-28 20:15:48 -05:00
Brian S. Stephan 352b9e1830 more punctuation in the regex 2010-10-28 20:08:30 -05:00
Brian S. Stephan 5dda9ac1e5 change the format of the pi output a bit 2010-10-28 20:05:08 -05:00
Brian S. Stephan aae4dfa062 remove a (hopefully) useless unicode() call 2010-10-27 22:48:52 -05:00
Brian S. Stephan cb7044e64a this encode('utf-8')/decode('utf-8') seems to unnecessary and accomplishes nothing?
still haven't figured out how to get around the whole character replace nonsense though
2010-10-27 22:09:59 -05:00
Brian S. Stephan 7c4125e099 properly use encode() to do the rot13 conversion, ignore conversion failures 2010-10-27 21:56:18 -05:00
Brian S. Stephan 1bc0dd0b2a TextTransform module. right now it only does rot13 2010-10-27 19:57:18 -05:00
Brian S. Stephan eefc41a6d7 last_insert_rowid() only makes sense for the current connection, so ORDER BY id DESC instead 2010-10-27 19:32:09 -05:00
Brian S. Stephan 2d8a86950c remove unneeded ConfigParser 2010-10-27 19:31:43 -05:00
Brian S. Stephan 97893a3b7a convert Pi.py to use sqlite backend 2010-10-27 18:02:26 -05:00
Brian S. Stephan 1d73deda1c sqlite related stuff as part of making sqlite the canonical backend
* Module.py __init__ sets up sqlite db connection by default
* Module.py __init__ calls init_db() which is empty, expects subclasses to implement as necessary
* Module.py doesn't close sqlite connection by default

Changes call for a couple updates in Karma.py, namely implementing db_init
and excepting sqlite3.Error rather than closing the connection
2010-10-27 17:59:01 -05:00
Brian S. Stephan 70b49ecbcc whitespace nitpicking 2010-10-25 21:14:35 -05:00
Brian S. Stephan 3d65a6a158 Merge branch 'bloy-sqlite'
Resolved conflicts:
	modules/Karma.py - re-added support for (long items)
2010-10-25 21:11:40 -05:00
Brian S. Stephan 8cfeef2efd Revert "Merge branch 'bloy-sqlite'" because i want to merge this the right way
This reverts commit 5a76a9866a.
2010-10-25 21:06:01 -05:00
Brian S. Stephan c1c29648d7 Revert "whitespace nitpicking" because I want to merge this the right way
This reverts commit b9c2be8c54.
2010-10-25 21:05:33 -05:00
Brian S. Stephan b9c2be8c54 whitespace nitpicking 2010-10-25 20:50:59 -05:00
Brian S. Stephan 5a76a9866a Merge branch 'bloy-sqlite' 2010-10-25 20:49:12 -05:00
Brian S. Stephan 5f6ced3066 add ' to karma matcher regex 2010-10-25 19:21:39 -05:00
Brian S. Stephan 9a1086e855 added support for karma for things with spaces, by wrapping it in ()
e.g.: (this is one really long thing that i like)++
2010-10-25 19:11:17 -05:00
Brian S. Stephan 2973d904f4 pythonic header 2010-10-25 18:44:28 -05:00
Brian S. Stephan a4839fd35f whitespace nitpickery 2010-10-25 18:37:30 -05:00
Brian S. Stephan 69c8922024 Merge branch 'bloy-master' 2010-10-25 18:31:28 -05:00
Brian S. Stephan ebd89d35cc (hopefully) properly catch/log URLError, IndexError 2010-10-25 18:23:25 -05:00
Mike Bloy 84ba3107f0 include rank in karma output 2010-10-24 15:13:01 -05:00
Mike Bloy 98f07105bc karma data store moved to sqlite 2010-10-24 15:13:00 -05:00
Mike Bloy 40ab270324 fixed rank trigger for karma 2010-10-24 14:57:23 -05:00
Mike Bloy e557137f82 fix karma formatting 2010-10-24 09:37:43 -05:00
Mike Bloy e453778791 clean up karma module 2010-10-24 09:36:15 -05:00
Mike Bloy a64c83ce59 working karma module 2010-10-23 22:52:15 -05:00
Brian S. Stephan a45af7a0a7 Pi -> pi, fixing what I'm going to claim is a typo. 2010-10-20 11:57:31 -05:00
Brian S. Stephan c3270ef3df module to calculate pi over time, via the monte carlo method.
idea pinched from #linode.
2010-10-18 22:48:51 -05:00
Brian S. Stephan 95a27cc44b read brainfile filename from config file, allow default 2010-10-09 20:37:15 -05:00
Brian S. Stephan 05f1ce325a put MegaHAL module load in __init__, which is now being implemented here
obviously, we need to call Module.__init__ as well, and as a nice
side effect, doing all of this lets us not need to do the on_connect
nonsense, which was the wrong thing to do anyway
2010-10-09 19:36:00 -05:00
Brian S. Stephan 827d1b2c86 megahal library crashes if the text ends with ' for some reason, so work around it 2010-09-13 20:22:08 -05:00
Brian S. Stephan 1988662c0a have ^megahal$ trigger a no-input reply from the megahal module.
mostly useful for chaining random bot nonsense into other commands
2010-09-08 22:22:43 -05:00
Brian S. Stephan d5c4750dd8 use proper pluralization, commas in countdown output 2010-09-08 21:39:56 -05:00
Brian S. Stephan e6c9747dad remove overload of on_pubmsg() 2010-09-08 20:44:09 -05:00
Brian S. Stephan fd7834756b add !alias list that displays the existing alias commands. limited utility, really. 2010-09-08 20:12:19 -05:00
Brian S. Stephan 3e91000acc now that we have meta.strip_bot_name_from_input there is no need to overload on_pubmsg 2010-09-08 19:51:18 -05:00
Brian S. Stephan 14973388e5 remove pubmsg/privmsg overloading in Alias now that we have 'meta.skip_recursion_scan'.
also, the last commit's message should have referred to this meta option
instead of what it actually did. oops.
2010-09-08 19:40:16 -05:00
Brian S. Stephan f3e9568fe3 create the array of arguments in all the methods that need them 2010-09-08 19:24:26 -05:00
Brian S. Stephan 6541e6a193 first attempt at using HTTP POST for translate 2010-09-08 19:07:01 -05:00
Brian S. Stephan 47022f9428 add ctech dice rolling method, for cthulhutech.
does greatest/best set/best straight methods. use normal roll for
stuff that should be summed, like damages
2010-09-05 11:00:11 -05:00
Brian S. Stephan 27ff7e257d fix a bug that was getting the trailing semicolon wrong, and do it better anyway. 2010-09-05 10:44:59 -05:00
Brian S. Stephan 053c3f0ae6 properly call admin functions within do.
before this, recursion type stuff wasn't responded to properly because
do wasn't returning the methods' text
2010-09-04 12:26:50 -05:00
Brian S. Stephan 8c1c10a4bc remove debugging print statement 2010-09-04 12:26:20 -05:00
Brian S. Stephan 92281151ff don't display the comment twice, now that we print the entire roll string 2010-09-04 12:09:37 -05:00
Brian S. Stephan a0fd33b070 only append the roller's nick once, at the end, if there is a reply 2010-09-04 12:08:13 -05:00
Brian S. Stephan 27b27ecb61 split roll string and properly ignore "roll" from roll attempt 2010-09-04 12:04:24 -05:00
Brian S. Stephan 5b44b66c4d demand a roll prefix on the Dice module 2010-09-04 11:56:35 -05:00
Brian S. Stephan b9ef46606d don't output anything if the aliasified command is the same as the reply.
this indicates that none of the modules could actually do anything with that
text, so whatever happened probably didn't fire any modules (and if it did,
they didn't provide return text anyway)
2010-09-04 11:55:10 -05:00
Brian S. Stephan b1e1254564 reloading MegaHAL.py seems broken somehow, so just avoid doing it 2010-09-04 11:49:18 -05:00
Brian S. Stephan 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
2010-09-04 11:29:18 -05:00
Brian S. Stephan 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
2010-09-04 09:53:11 -05:00
Brian S. Stephan 4bf2d344fc dice: only try sending something if we actually have something to say 2010-08-28 14:07:00 -05:00
Brian S. Stephan 88c83c1e45 dice: properly handle multiple-roll strings (d20; d20) in this post-
recursion world where we're supposed to return a string
2010-08-28 14:04:29 -05:00
Brian S. Stephan 713b1e560b get around occasional utf8 conversion exceptions by swallowing
those exceptions and moving on, since the output never seemed
wrong in these cases anyway
2010-08-24 13:25:30 -05:00
Brian S. Stephan 9720dfe5bc Revert "Generalize translation code in GoogleTranslate.py". Previous
three reverts to undo the recent stuff from kad's branch, which was
having problems with recursion

This reverts commit 1920a12759.

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2010-08-01 19:31:09 -05:00
Brian S. Stephan 493521c3da Revert "A few minor changes to previous GoogleTranslate commit"
This reverts commit 257562f0d0.

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2010-08-01 19:27:44 -05:00
Brian S. Stephan d4fc5e77eb Revert "Remove commented code"
This reverts commit 9022159c87.

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2010-08-01 19:27:44 -05:00
kad 9022159c87 Remove commented code 2010-08-01 19:02:55 -05:00
kad 257562f0d0 A few minor changes to previous GoogleTranslate commit 2010-08-01 18:57:10 -05:00
kad 6f2ae757be Merge branch 'master' into kad 2010-08-01 18:39:58 -05:00
Brian S. Stephan 6fe2bb5fee make trigger work with regexes 2010-08-01 12:22:59 -05:00
Brian S. Stephan e13264fc3b add method to remove metaoptions (debug, the new 'meta.pubmsg_needs_bot_prefix') from a list. provided for convenience 2010-08-01 12:13:38 -05:00
Brian S. Stephan d590eede2a Trigger module, to do simple output when seeing simple input. basic version works, but i should probably make this a regex 2010-08-01 12:03:03 -05:00
Brian S. Stephan 1ec197be95 establish a per-module option that specifies whether or not active commands to it need to be prefixed with the bot's name. doesn't help stuff like Seen's reimplementation of on_pubmsg, since it would want to do the tracking regardless of this option. also, work around this addition in the countdown module, so it doesn't show up in lists. 2010-08-01 11:55:14 -05:00
Brian S. Stephan 4d41314195 standardize config sections to use class name. NOTE: USERS NEED TO UPDATE THEIR CONFIG 2010-08-01 11:41:26 -05:00
Brian S. Stephan f739cb6114 url tracking via Urls module. partially complete the TODO, still not automatically tracking channel urls. also .gitignore *.urls files 2010-07-30 23:02:38 -05:00
kad 1920a12759 Generalize translation code in GoogleTranslate.py 2010-07-30 22:41:09 -05:00
kad 92d5b5d94e Fix utf-8 error in GoogleTranslate 2010-07-30 21:22:16 -05:00
Brian S. Stephan d561d16e64 weather module. same output as in the irssi bot script. uses pywapi that was added a couple commits ago 2010-07-30 20:30:39 -05:00