summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2009-01-23launch_here: rewrite git revision retrievalGiuseppe Bilotta
Use low-level ('plumbing') git commands to retrieve the current commit/revision/work tree status when we're being launched from a git tree. This is faster (less shell escapes) and should work equally well with all git versions (past, present and future).
2009-01-23launch_here: add commit subject rather than svn id to revisionGiuseppe Bilotta
There are no git-svn-ids in our repository, so don't look for them. Instead, put the last commit subject next to the revision to ease identification of the commit.
2009-01-22hangman pluginRaine Virta
2009-01-22Update AUTHORSGiuseppe Bilotta
2009-01-22Update po filesGiuseppe Bilotta
2009-01-22rss plugin: mangle email in git formatGiuseppe Bilotta
Also fix a comment typo on the flyby
2009-01-22dice, 8ball: always add the nick to the replyGiuseppe Bilotta
2009-01-22+ (userdata) method delete_botdata(key)Simon Hafner
2009-01-22+ (reply) config option to force reply to querySimon Hafner
+ (reply) symbol to bypass the config option * (plugins) fixed url according to the patch The symbols are: :to => :public force the message to be replied in channel (if any) :to => :private force the message to be replied in private :to => :auto takes core.private_replies (default)
2009-01-22* (plugins) changed to the new reply schema (:nick)Simon Hafner
2009-01-22+ (reply) add new option to control nick prefixingSimon Hafner
Message#reply() now accepts a :reply option :nick => false don't prefix nick :nick => true prefix nick :nick => :auto take core.reply_with_nick (default)
2009-01-20bash plugin: bash latest is not brokenGiuseppe Bilotta
2009-01-20bash plugin: document bash searchGiuseppe Bilotta
2009-01-20bash plugin: refactor and localize helpGiuseppe Bilotta
2009-01-15ircbot: fix reconnect() waitingGiuseppe Bilotta
The refactored reconnect() method would only wait when the socket was connected at the time it got called. In case where the socket would have closed earlier (e.g. because of a network I/O error) it would reconnect directly, which would for example fail to prevent fast reconnections. Fix by fencing the wait code with a check for @last_rec (checked before the optional disconnect) rather than keeping it with the socket connect check, and always initializing @last_rec on socket connect. A side effect of this strategy is that reconnect() will only wait if the bot was previously connect, or if it got disconnected by anything but the disconnect() method. Callers of disconnect() should take care of waiting themselves if they plan to reconnect.
2009-01-15ircbot: SIGUSR1 forces a reconnectGiuseppe Bilotta
2009-01-15ircbot: refactor reconnection into its own methodGiuseppe Bilotta
2009-01-15auth: better clarify the allow/deny syntaxGiuseppe Bilotta
2009-01-08auth core botmodule: fix permission view without a specified userGiuseppe Bilotta
2009-01-08fortune: configurable options for the commandGiuseppe Bilotta