Commit Graph

200 Commits

Author SHA1 Message Date
bda1eb9560 add uppercase text transform 2010-12-16 20:28:26 -06:00
699f550ba3 change authentication to over IRC process 2010-12-16 20:15:49 -06:00
3ba38bd90d it would help if i got the < vs > right 2010-12-16 15:44:51 -06:00
efafb95f5a ability to look up tweets for a user, relative to the latest 2010-12-16 15:23:35 -06:00
57ddba744e optionally print the source of the tweet in question
useful if you don't know it, such as if the tweet was specified
by id rather than by user
2010-12-16 15:22:34 -06:00
a18897fcde print the native tweet of retweets (rather than the possibly-truncated one)
this now depends on a modified twitter.py, although i could probably
send my patch upstream
2010-12-16 13:04:58 -06:00
1bacfe047e fix (god i hope fix) unicode in Twitter
also remove some unnecessary unicode conversions right before printing?
commented out until i'm convinced there was no need for it.

protip: clearest description i've read to date:
http://stackoverflow.com/questions/368805/python-unicodedecodeerror-am-i-misunderstanding-encode#370199
2010-12-16 10:36:50 -06:00
37a677946d fetch more tweets in case the latest was a RT (which we are filtering)
comment about how i'm not really sure about this approach
2010-12-15 23:52:59 -06:00
7e4e6ab23f look up most recent tweet by username 2010-12-15 23:31:26 -06:00
e4edc7f6f4 first bit of bot twitter functionality 2010-12-15 23:08:08 -06:00
ea0f795194 add unload method to IrcAdmin, which unloads a module
hopefully this all works right. i remove two known references
to the object, and then call a del for good measure, which i
think covers it?
2010-12-15 21:28:57 -06:00
2295f524d4 add load command to IrcAdmin, which (naturally) loads a module and adds it to the autoload list 2010-12-15 21:17:24 -06:00
467c72847a clean up some IrcAdmin output, which i was using to test reloading 2010-12-15 20:58:13 -06:00
e0565a9bb1 take a stab at commenting how MegaHAL reload is broken, keep it unimplemented for the moment 2010-12-15 20:55:40 -06:00
22615d7b9a rewrite reload support, making it an IrcAdmin command
only lightly tested for the moment
2010-12-15 20:43:14 -06:00
d92d60ec7a don't try to be clever with the +-/-+ commands, since it wasn't doing what I wanted
and it wasn't the right thing to do anyway
2010-12-15 20:29:25 -06:00
e5934bccba add echo module, which echos text. why i never implemented this, i don't know 2010-12-11 00:22:26 -06:00
e084c28113 handle potential newlines in output 2010-12-11 00:10:26 -06:00
977675c593 add base64 to text transformations 2010-12-10 23:59:49 -06:00
5a81f4d1fc fix spaces in city name 2010-12-09 13:09:01 -06:00
2690c0208c trivial formatting fix 2010-12-08 22:15:26 -06:00
1709df19ec properly self.reply in last commit 2010-12-08 22:14:34 -06:00
53e2da7bd3 self.reply karma_modify stuff, add return strings from double functions
note that there's only something to reply with if there was an sqlite error
2010-12-08 22:08:56 -06:00
7fa9c1f9a0 modify the karma_modify header:
* remove parameters i never intended to be necessary for the function in the first place
* return a string, rather than doing the reply thing
2010-12-08 22:05:46 -06:00
4013a93dc9 Merge branch 'bloy-karma' 2010-12-08 22:00:39 -06:00
a19dcdb690 fix string concat thinko 2010-12-06 16:31:16 -06:00
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
f4dc667c77 dodge another unicode crash 2010-11-22 20:25:28 -06:00
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
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
12d5425644 vi modeline in Karma.py 2010-11-19 09:20:48 -06:00
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
8cc411956e much more permissive karma regexes 2010-11-17 10:21:30 -06:00
9014e076bf drop the timeout to 1 sec 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
not that that just happened or anything
2010-11-03 22:50:34 -05:00
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
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
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
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
b5e71d677f first cut at a database-driven fact storage module.
may still be a bit brittle
2010-10-29 00:00:55 -05:00
8fbd58e2c6 chmod -x modules/Karma.py 2010-10-28 20:56:59 -05:00
aabc8904ad properly handle recursion, so that the alias actually works 2010-10-28 20:46:09 -05:00
0dfe8bcdd6 have karma module use the normal, non-alias-like command ('rank' rather than '!rank') 2010-10-28 20:15:48 -05:00
352b9e1830 more punctuation in the regex 2010-10-28 20:08:30 -05:00
5dda9ac1e5 change the format of the pi output a bit 2010-10-28 20:05:08 -05:00
aae4dfa062 remove a (hopefully) useless unicode() call 2010-10-27 22:48:52 -05:00
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
7c4125e099 properly use encode() to do the rot13 conversion, ignore conversion failures 2010-10-27 21:56:18 -05:00
1bc0dd0b2a TextTransform module. right now it only does rot13 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 2010-10-27 19:32:09 -05:00
2d8a86950c remove unneeded ConfigParser 2010-10-27 19:31:43 -05:00
97893a3b7a convert Pi.py to use sqlite backend 2010-10-27 18:02:26 -05:00
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
70b49ecbcc whitespace nitpicking 2010-10-25 21:14:35 -05:00
3d65a6a158 Merge branch 'bloy-sqlite'
Resolved conflicts:
	modules/Karma.py - re-added support for (long items)
2010-10-25 21:11:40 -05:00
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
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
b9c2be8c54 whitespace nitpicking 2010-10-25 20:50:59 -05:00
5a76a9866a Merge branch 'bloy-sqlite' 2010-10-25 20:49:12 -05:00
5f6ced3066 add ' to karma matcher regex 2010-10-25 19:21:39 -05:00
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
2973d904f4 pythonic header 2010-10-25 18:44:28 -05:00
a4839fd35f whitespace nitpickery 2010-10-25 18:37:30 -05:00
69c8922024 Merge branch 'bloy-master' 2010-10-25 18:31:28 -05:00
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
a45af7a0a7 Pi -> pi, fixing what I'm going to claim is a typo. 2010-10-20 11:57:31 -05:00
c3270ef3df module to calculate pi over time, via the monte carlo method.
idea pinched from #linode.
2010-10-18 22:48:51 -05:00
95a27cc44b read brainfile filename from config file, allow default 2010-10-09 20:37:15 -05:00
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
827d1b2c86 megahal library crashes if the text ends with ' for some reason, so work around it 2010-09-13 20:22:08 -05:00
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
d5c4750dd8 use proper pluralization, commas in countdown output 2010-09-08 21:39:56 -05:00
e6c9747dad remove overload of on_pubmsg() 2010-09-08 20:44:09 -05:00
fd7834756b add !alias list that displays the existing alias commands. limited utility, really. 2010-09-08 20:12:19 -05:00
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
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
f3e9568fe3 create the array of arguments in all the methods that need them 2010-09-08 19:24:26 -05:00
6541e6a193 first attempt at using HTTP POST for translate 2010-09-08 19:07:01 -05:00
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
27ff7e257d fix a bug that was getting the trailing semicolon wrong, and do it better anyway. 2010-09-05 10:44:59 -05:00
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
8c1c10a4bc remove debugging print statement 2010-09-04 12:26:20 -05:00
92281151ff don't display the comment twice, now that we print the entire roll string 2010-09-04 12:09:37 -05:00
a0fd33b070 only append the roller's nick once, at the end, if there is a reply 2010-09-04 12:08:13 -05:00