summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-02-12markov plugin: add the size of the learning queue to the status message.Spencer Rinehart
2009-02-12lastfm: change verb usage and settingsGiuseppe Bilotta
2009-02-11ircbot: sendmsg filteringGiuseppe Bilotta
We allow a filter to manipulate the arguments of sendmsg() by running them through the filters of the :sendmsg group. The DataStream passed to the filters has four keys: :text => the message text :type => the message type (typically, PRIVSMG or NOTICE) :dest => the destination (typically, a Channel or User) :options => options passed to sendmsg, merged with the default ones
2009-02-11utils: htmlinfo filtering doc cleanupsGiuseppe Bilotta
Fix a typo in a comment and specify 'htmlinfo' in the debug message.
2009-02-10geoip: make the GeoIP module a standaloneGiuseppe Bilotta
The geoip plugin defines and makes use of a GeoIP module to handle the actual geoip data retrieval. The module used to be defined in the same namespace as the plugin, and therefore in a barely accessible anonymous module. Move the GeoIP module to the outermost namespace to allow it to be accessible from scripts and plugins too.
2009-02-10geoip: also read lat/lon coordinatesGiuseppe Bilotta
GeoIP tool also offer latitude and longitude, so read them as well.
2009-02-10bans: put badwords in message() tooGiuseppe Bilotta
Move the whitelist and badwords check in the message() method instead of triggering on listen(). This is more correct and more efficient, and it ensures that the whitelist protects mass-highlighters too.
2009-02-10+ (bans) added masshl ban optionSimon Hafner
When a masshl ban is added, the bot will ban (or kick or whatever) anybody that calls more than a given fixed number of users or a percentage of in-channel users.
2009-02-08grouphug: htmlinfo filterGiuseppe Bilotta
2009-02-08grouphug: refactor confession retrievalGiuseppe Bilotta
Turn the confession extraction into its own method, and use it both for specific and random confession retrieval.
2009-02-08grouphug: fix retrieval of spurious confessionsGiuseppe Bilotta
The real confessions are in the 'main' div, so rather than second-guessing their true location (and getting it wrong every time the site changes layout), just skip to the 'main' div before looking for content.
2009-02-08grouphug: log errorsGiuseppe Bilotta
2009-02-07bash plugin: split long quotes at markersGiuseppe Bilotta
2009-02-07remind plugin: added possibility to reference times that are the next day as ↵Raine Virta
hh:mm
2009-02-07lastfm plugin: a small change in the last.fm api had broken the artist commandRaine Virta
2009-02-07hangman plugin: rudimentary stats tracking along with some other enhancementsRaine Virta
2009-02-07slashdot plugin: fix filter for multiple articlesGiuseppe Bilotta
2009-02-06rss plugin: don't abort if errors were found but rss is definedGiuseppe Bilotta
If we always abort, a failing first parser will cause a failure even though a subsequently tried parser succeeded in getting the feed right. So only return nil if rss was nil when the error list wasn't empty.
2009-02-01ircbot: suppress warningGiuseppe Bilotta
parenthesize argument(s) for future version
2009-02-01+ (plugins/rss) rss.announce_timeout config variabledmitry kim
2009-01-31rss plugin: fix return/error handling in parseRssGiuseppe Bilotta
Commit 36f1f28e668919dfab75c8fc4d1020abad351bd1 borked error handling as it assumed that a false or nil rss implied a nonempty errors, and it failed to return early. Fix by removing the early check for a missing rss and wrapping the report_problem (and the previously missing 'return nil') in the check for a nonempty errors array.
2009-01-31launch_here: be more compatible with git < 1.5.xGiuseppe Bilotta
People living in the stone age (e.g. those stuck using Debian stable) still have git 1.4.4.4, which doesn't support git log --pretty=format. So we parse the git log --pretty=raw format instead, which should be available even on such older systems. For the same reason, parse git diff-index --stat instead of git diff --shortstat.
2009-01-30* (registry) rdoc fixGiuseppe Bilotta
A stupid missing hash sign prevented the full registry accessor doc from being parsed by rdoc.
2009-01-30rss plugin: try all RSS parsersGiuseppe Bilotta
Some feeds fail when parsed by some parsers, but work correctly with others (e.g. http://www.blueman.com/community/rss fails with xmlparser but not with REXML). So try all of them and only abort if none works rather than failing because the default parser fails.
2009-01-30quotes plugin: add missing 'lastquote :channel' mapGiuseppe Bilotta
2009-01-30quotes plugin: 'other channel' commands must be mapped earlierGiuseppe Bilotta
Due to the way mapping work, quote commands whose first parameter is a channel must be mapped before the ones that implicitly refer to the current channel. This has the upside that they really work, and the downside that commands that refer to the current channel must specify the channel if their argument begins wit something that looks like a channel spec. However, this last case is extremely rare, so we're fine.
2009-01-29IRC Framework: fix wrong rfc casemapsGiuseppe Bilotta
The RFC1459 casemaps had the non-letter casemapping the wrong way around. Fix by swapping them.
2009-01-28markov plugin: stricter permission on ignore and probabilityGiuseppe Bilotta
2009-01-28ircbot: optimize ignore loopsGiuseppe Bilotta
Break early from ignore checks, and skip them altogether when the message is ignored already.
2009-01-28ircbot: irc.ignore_channels config optionGiuseppe Bilotta
In some circumstances the user might want to turn the bot into a pure logbot for some channels. This can now be achieved by adding that channel to the irc.ignore_channels config key, that makes the bot ignore all PRIVMSG to that channel (note that notices and service messages such as joins and parts are still acted on, just like for irc.ignore_users).
2009-01-28imdb plugin: fixed the ratings regexMatthias Hecker
2009-01-28rss plugin: don't warn on rewatchGiuseppe Bilotta
There is no need to warn when calling watchRss on a watched feed; in fact, since watchRss() is called every time a watcher is added, it just spam the channels with a useless message that also provides unnecessary information. So just return.
2009-01-28rss plugin: compact list of rss feedsGiuseppe Bilotta
When lots of rss feeds are defined, the bot will flood the channel on rss list. Fix by showing a compact list when the number of feeds is higher than the maximum output lines.
2009-01-28ircbot: the reconnect must be protectedGiuseppe Bilotta
The reconnect() call in the main loop must be protected in the begin/rescue blocks. Most of the rescue blocks can be fall-through, because the begin/end is wrapped in a loop. The only exception is the ServerError block that issues a retry lest too_fast is reset to false even when it should be true.
2009-01-28dict plugin: ircify html in demauro search resultGiuseppe Bilotta
Demauro's search results can contain some HTML, so clean it up before output.
2009-01-28quotes plugin: remove a done TODO itemGiuseppe Bilotta
2009-01-28* (rss.rb) bypass the http cache on !rss rewatchdmitry kim
2009-01-28* (httputils) get_response must refresh the cached object even if :cache => ↵dmitry kim
false
2009-01-27azgame plugin: use Wordlist providerGiuseppe Bilotta
2009-01-27wordlist: strip UTF-8 BOM on loadGiuseppe Bilotta
Some editors put a BOM at the beginning of UTF-8 files, and it's not stripped by Ruby's String#strip, so we have to get rid of it ourselves.
2009-01-27wordlist: exist? methodGiuseppe Bilotta
The new Wordlist.exist? method can be used to check if a wordlist file exists. It will refuse to check upstream of the wordlist base directory
2009-01-27wordlist: Wordlist.list command and UIGiuseppe Bilotta
Introduce an elementary Wordlist.list() command that accepts an optional :pattern option to restrict the list to wordlists matching the given pattern. Also introduce a wordlist UI to list wordlists from IRC.
2009-01-27hangman plugin: tell who nailed the word/killed the guyGiuseppe Bilotta
2009-01-27hangman plugin: various improvements including support for wordlistsRaine Virta
2009-01-27wordlist providerRaine Virta
2009-01-27url plugin: urls info should work regardless of configGiuseppe Bilotta
The 'urls info' command to manually query for link information should always work, regardless of the setting of the url.only_on_channels config setting. Fix by making the channels list for handle_urls() into an option (defaulting to url.only_on_channels) and passing an empty list from info().
2009-01-27url plugin: option hash for handle_urls()Giuseppe Bilotta
Turn handle_urls() options (other than the message) into a parameter hash.
2009-01-26rss plugin: fix watcher for empty feedGiuseppe Bilotta
2009-01-26rss plugin: parseRss returns the number of found itemsGiuseppe Bilotta
Change the parseRss routine to return the number of found items, or nil in case of error. This helps clearly differentiate between empty feeds (which are still legit) and b0rked feeds. This change in logic does not alter the fact that a feed update with no items will not wipe existing old feed items.
2009-01-24+ (rss.rb) monkey-patch some basic common api over different rss item implsdmitry kim