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