November 27th, 2007 by ymendel
As is apparently a tradition for him, Rick wrote a tumblebot at RubyConf ‘07. This was done all BDD-style and it was very nice and modular, and apparently many people got very interested in it. From what I remember, Freenode #rubyconf was clamoring for the source(*), but that could mostly be because it was full of lazy people who didn’t want to write their own bots.
I got interested because I like playing with bots and this was something to get me looking at Autumn Leaves and git. It was also a way to poke at Rick’s stuff and make it better, which I’m always ready for. My ideas took his system of a main bot that handles a parser module and sender module and added a third: a filter. This not only gave more power, flexibility, and functionality to the bot, but (just as important) it made the parser cleaner and simpler.
We’ve mentioned that it might be important to let the filters occur in a very specific order, but we held off doing that until it was needed. It wasn’t long until we thought of filters where order would be nice, but not necessary. It took a little longer to think of filters where order was needed.
cardioid Heh, check the quote. Even the “posted by rickbradley” is linked
cardioid I wonder if there’s a way around that
rickbradley I saw that
rickbradley yeah, probably having the posted by rickbradley filter come after the other stuff :-)
rickbradley this is like that plugin ordering problem (the one Rails had)
rickbradley where sometimes you want a to come before b, but other times z just needs to come before everything
cardioid Dude, you said we’d just have the filters say if they need to be before or after something and then sort the graph
rickbradley yeah, maybe I was wrong
rickbradley in fact, odds are that usually I am :-)
cardioid I don’t know if it’s a bad idea.
cardioid Maybe we just need to do the “active filters” stuff in the config and let that handle the ordering.
rickbradley yeah, that’s a pretty simple way to do it
cardioid I do want to make that filter that clears the title if it’s just someone’s nick, and there’s a specific ordering needed there
rickbradley you know, if we were 37s we’d claim that was aikido or some shit and then post this chat log in a pretty block post
cardioid cleanup title (get rid of shit like : and — at the end), remove nick title, get link title
rickbradley with no mention of “fisting” or “sheboygan side by side” or anything
cardioid blogicx, dogg
cardioid In fact, let me handle this
Okay, maybe the “pretty” part isn’t there yet. Give me time.
[*] for the bot source, “git clone http://git.ogconsultin.gs/nihilist_bot/”