summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-02-17last.fm plugin: list top tags and similar artists in artist infoRaine Virta
2009-02-17ircbot: fix nil error variable on ServerErrorGiuseppe Bilotta
We were making use of an undefined variable e when catching ServerError in the main loop.
2009-02-16factoids: pass proper parameter from unreplied()Giuseppe Bilotta
When passing on the Array of split words from unreplied() to facts() make sure that the passed argument behaves like an Array/String from the MessageMapper.
2009-02-16lastfm: put URL in artist summaryGiuseppe Bilotta
2009-02-16lastfm: say something when user top/weekly chart is emptyGiuseppe Bilotta
2009-02-16lastfm: limits to user data outputGiuseppe Bilotta
Define configuration keys for maximum and default number of user data items output, with a separate value for shouts (which are usually much more verbose and therefore would have a much lower maximum and default). Each command also allow the specification of the number of entries actually output (different than the default, clipped at the configured maximum. This way user data has the same rate limiting as events. Internally, the switches for the user data are also made more uniform to select, where it makes sense, different sentences depending on how many entries are being displayed (none, all, some).
2009-02-16last.fm plugin: rewrote the user-related info retrieval action to API 2.0Raine Virta
2009-02-16last.fm plugin: removed year from event datesRaine Virta
2009-02-16last.fm plugin: list common artists in taste comparisonRaine Virta
2009-02-15dictclient: put the Ruby/DICT URL in the LoadError messageGiuseppe Bilotta
This should help people find the right package.
2009-02-15lastfm plugin: show something when no events are foundGiuseppe Bilotta
2009-02-15+ @bot.path and datafile methodsGiuseppe Bilotta
We provide two methods that make it more simple and elegant for botmodules to define paths relative to the bot's own directory (botclass) and to the BotModule's (assumed) non-registry directory. The first method is Irc::Bot#path(), which joins its arguments with the botclass. This method can be used to access datafiles in the bot directory with a much cleaner syntax; and since it uses File.join, the resulting paths are also properly formatted on each platform, which doesn't hurt. Each BotModule now also carries a dirname() method that should return the directory under botclass that holds the BotModule's datafiles. dirname() defaults to the BotModule's name(), but it can be overridden, e.g. for backwards compatibility (see the patch for the quotes plugin), or for BotModules that share their datafiles. Datafiles can be accessed using the BotModule#datafile() method that joins the botclass, the dirname() and whatever other argument is passed.
2009-02-15ircbot: refactor and clean up botclass dir handlingGiuseppe Bilotta
Use File.join across the board, and refactor some botclass directory handling. Most important changes: * failure to create the registry and safe_save directory is now fatal; * failure to create the local plugin directory prevents it from being added to the plugin path (with a warning); * botclass directory update from templates is now a standalone routine called during init, making it possible to use it in other cases too.
2009-02-14lastfm: move now playing maps to the bottomGiuseppe Bilotta
This ensures that 'lastfm who' triggers the correct map.
2009-02-14last.fm plugin: removed redundant mappingsRaine Virta
2009-02-14last.fm plugin: enabled gettext on some replies, also small changes here and ↵Raine Virta
there to make replies consistent with rbot's usual style
2009-02-14last.fm plugin: first argument of taste comparison now optionalRaine Virta
2009-02-14last.fm plugin: simplified last.fm username resolution so that possible user ↵Raine Virta
aliases in @registry are favored over literal last.fm users
2009-02-14last.fm plugin: fixed taste comparison xml parsing failing in case of ↵Raine Virta
nonexistent user(s)
2009-02-12markov: localize stringsGiuseppe Bilotta
2009-02-12markov: show queue size only when not emptyGiuseppe Bilotta
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.