rbot
14 years agogeoip: for blogama, use RegionName instead of RegionCode to get more useful data. geoip
David Gadling [Sat, 2 May 2009 16:17:34 +0000 (09:17 -0700)] 
geoip: for blogama, use RegionName instead of RegionCode to get more useful data.

14 years agogeoip: change output formatting to be specifc -> general
David Gadling [Sat, 2 May 2009 15:57:46 +0000 (08:57 -0700)] 
geoip: change output formatting to be specifc -> general

14 years agogeoip: Added blogama as a source.
David Gadling [Thu, 2 Apr 2009 02:37:33 +0000 (19:37 -0700)] 
geoip: Added blogama as a source.

14 years agogeoip: Add a config variable for a list of sources to try.
David Gadling [Thu, 2 Apr 2009 02:32:06 +0000 (19:32 -0700)] 
geoip: Add a config variable for a list of sources to try.

14 years agoquiz: Make maximum number of jokers configurable.
David Gadling [Tue, 5 May 2009 21:57:13 +0000 (14:57 -0700)] 
quiz: Make maximum number of jokers configurable.

14 years agoyoutube: fixes for older XML parsers
David Gadling [Mon, 18 May 2009 22:40:38 +0000 (15:40 -0700)] 
youtube: fixes for older XML parsers

REXML in (at least) Ruby 1.8.6 doesn't support the @attr xpath to get
an attribute value. Use the slightly more verbose way of doing it.

14 years agorss plugin: categories
Giuseppe Bilotta [Sat, 16 May 2009 13:59:28 +0000 (15:59 +0200)] 
rss plugin: categories

Some feeds have more than one category. Make all of them available in
the :categories stream key.

14 years agoquiz plugin: simplify local file loading
Giuseppe Bilotta [Mon, 11 May 2009 14:20:18 +0000 (16:20 +0200)] 
quiz plugin: simplify local file loading

14 years agoircbot: reinstante @bot.channels
Giuseppe Bilotta [Wed, 6 May 2009 15:48:22 +0000 (17:48 +0200)] 
ircbot: reinstante @bot.channels

When the new IRC framework was introduced, the old @channels Hash and
its accessor for @bot were dismissed.

Reintroduce it for backwards compatibility.

14 years agotranslator: fix sentences not working with omitted language parameters
Raine Virta [Wed, 29 Apr 2009 22:35:28 +0000 (01:35 +0300)] 
translator: fix sentences not working with omitted language parameters

14 years agotranslator: replace underscores with spaces when showing the translator
Raine Virta [Wed, 29 Apr 2009 21:53:57 +0000 (00:53 +0300)] 
translator: replace underscores with spaces when showing the translator

Because "provided by google_translate" is ugly.

14 years agoremove fish.rb and map translate in translator.rb
Raine Virta [Wed, 29 Apr 2009 21:52:41 +0000 (00:52 +0300)] 
remove fish.rb and map translate in translator.rb

Translator plugin supports babelfish, and getting rid of this plugin
allows us to use ´translate´ command for better purposes.

14 years agotranslator: make source language optional
Raine Virta [Wed, 29 Apr 2009 21:47:12 +0000 (00:47 +0300)] 
translator: make source language optional

In which case we use Google translate's source language auto-detection feature.

14 years agotranslator: make destination language optional
Raine Virta [Wed, 29 Apr 2009 21:40:54 +0000 (00:40 +0300)] 
translator: make destination language optional

15 years agogreet plugin
Raine Virta [Sun, 5 Apr 2009 20:55:21 +0000 (23:55 +0300)] 
greet plugin

15 years agogettext: support version 2
Giuseppe Bilotta [Mon, 20 Apr 2009 18:48:07 +0000 (20:48 +0200)] 
gettext: support version 2

GetText version 2 has some significant difference from earlier version.

* different syntax to set the default locale path
* different syntax to set non-cached mode
* different way to handle bound targets

Most of the changes are relative to significant functionality split
between the GetText submodules (LocalePath, TextDomain etc), so most of
the changes are just a matter of moving the defines where appropriate.
The bound_targets patch needed to cope with anonymous modules is not
needed with gettext >= 2.0.0

15 years agorss: minor comment fix
Giuseppe Bilotta [Mon, 20 Apr 2009 20:17:03 +0000 (22:17 +0200)] 
rss: minor comment fix

15 years agofiglet: use Utils.try_exec instead of !!$?
Giuseppe Bilotta [Sat, 11 Apr 2009 10:41:45 +0000 (12:41 +0200)] 
figlet: use Utils.try_exec instead of !!$?

The !!$? method fails because !!$? is true unless $? is nil, whereas we
want to test for a successful exit.

15 years agoutils: Utils.try_exec
Giuseppe Bilotta [Sat, 11 Apr 2009 10:38:58 +0000 (12:38 +0200)] 
utils: Utils.try_exec

An auxiliary method to test-run external programs and see if they run
without problem

15 years agoutils: fix safe_exec failures
Giuseppe Bilotta [Thu, 9 Apr 2009 15:23:55 +0000 (17:23 +0200)] 
utils: fix safe_exec failures

safe_exec should be less verbose when reporting problems, since the
output might end up on IRC, and it should return a non-zero error code
when failing, so that $? get set correctly.

15 years agoman pages
Giuseppe Bilotta [Sat, 11 Apr 2009 09:37:12 +0000 (11:37 +0200)] 
man pages

Courtesy of Debian maintainer Marc Dequènes (Duck) <duck@duckcorp.org>

15 years agokarma: prevent users from changing own karma
Giuseppe Bilotta [Sat, 11 Apr 2009 08:57:25 +0000 (10:57 +0200)] 
karma: prevent users from changing own karma

15 years agoquotes: listquotes command
Giuseppe Bilotta [Wed, 8 Apr 2009 10:33:40 +0000 (12:33 +0200)] 
quotes: listquotes command

15 years ago* typo in italian lart
Giuseppe Bilotta [Tue, 7 Apr 2009 18:15:17 +0000 (20:15 +0200)] 
* typo in italian lart

15 years agoreaction: document 'reaction move' syntax
Giuseppe Bilotta [Tue, 7 Apr 2009 12:23:22 +0000 (14:23 +0200)] 
reaction: document 'reaction move' syntax

15 years agohone the finnish translation for seen plugin a bit
Raine Virta [Sat, 4 Apr 2009 17:17:13 +0000 (20:17 +0300)] 
hone the finnish translation for seen plugin a bit

15 years agoimdb: fix for missing director
Giuseppe Bilotta [Thu, 2 Apr 2009 14:12:51 +0000 (16:12 +0200)] 
imdb: fix for missing director

Director information was missing because IMDB had changed its 'info' div
box to include an id. Cope with it.

15 years agomessagemapper: include defaults in options
Giuseppe Bilotta [Wed, 25 Mar 2009 22:31:14 +0000 (23:31 +0100)] 
messagemapper: include defaults in options

This change allows the use of :defaults in maps to define values for
parameters which are not actually present in the map itself.

We also move the initialization further down, to skip it in case of
early returns.

15 years agofactoids: fix 'facts search'
Giuseppe Bilotta [Tue, 24 Mar 2009 10:47:31 +0000 (11:47 +0100)] 
factoids: fix 'facts search'

15 years agoSeparate gemspec from Rakefile
Giuseppe Bilotta [Sat, 21 Mar 2009 23:47:36 +0000 (00:47 +0100)] 
Separate gemspec from Rakefile

The benefit of this separation is that hosting services such as GitHub
will automatically build a gem every time the version in the spec is
changed. The underside of this separation is that hosting services such
as GitHub will automatically build a gem every time the version is
changed.

To allow the automatic gem generation to trigger on the release of
0.9.15, we demoted the version in the spec to 0.9.14. This gimmick is
needed because the gem spec doesn't allow non-numeric versions.

Since the gemspec is now standalone, it uses Dir instead of FileList,
which is equivalent for our use case. Moreover, the Rakefile only
defines the gem tasks if the spec is present.

15 years agosearch: fix gcalc regexp again
Giuseppe Bilotta [Fri, 20 Mar 2009 22:29:25 +0000 (23:29 +0100)] 
search: fix gcalc regexp again

15 years agoBIG PO file update
Giuseppe Bilotta [Fri, 20 Mar 2009 15:01:45 +0000 (16:01 +0100)] 
BIG PO file update

15 years agoseen: keep nick in ACTION message
Giuseppe Bilotta [Fri, 20 Mar 2009 15:02:43 +0000 (16:02 +0100)] 
seen: keep nick in ACTION message

15 years agofinnish translation for seen plugin
Raine Virta [Fri, 6 Mar 2009 00:36:49 +0000 (02:36 +0200)] 
finnish translation for seen plugin

15 years agoseen: change format of ACTIONs
Raine Virta [Fri, 6 Mar 2009 00:28:11 +0000 (02:28 +0200)] 
seen: change format of ACTIONs

15 years agoseen: use gettext
Raine Virta [Fri, 6 Mar 2009 00:26:14 +0000 (02:26 +0200)] 
seen: use gettext

15 years agoRakefile: package launch_here.rb too
Giuseppe Bilotta [Sun, 15 Mar 2009 23:58:55 +0000 (00:58 +0100)] 
Rakefile: package launch_here.rb too

And clean up some Rakefile crud while we're at it

15 years agorss: whitespace fix for handle_wrap
Giuseppe Bilotta [Sun, 15 Mar 2009 23:49:31 +0000 (00:49 +0100)] 
rss: whitespace fix for handle_wrap

15 years agourl: load filters, defaulting to the htmlinfo filter group recover
Giuseppe Bilotta [Sun, 15 Mar 2009 12:48:45 +0000 (13:48 +0100)] 
url: load filters, defaulting to the htmlinfo filter group

15 years agorss: allow easier customization of output formats
Giuseppe Bilotta [Sun, 15 Mar 2009 12:19:38 +0000 (13:19 +0100)] 
rss: allow easier customization of output formats

Rather than hard-coding the handle, date and title formatting, make it
customizable via appropriate *_wrap keys.

15 years agoextends: String#wrap_nonempty
Giuseppe Bilotta [Sun, 15 Mar 2009 11:29:19 +0000 (12:29 +0100)] 
extends: String#wrap_nonempty

We sometimes want to wrap a nonempty String with a given prefix and
postfix. This method makes it a breeze.

15 years agorss: refactor item date generation
Giuseppe Bilotta [Sun, 15 Mar 2009 10:26:40 +0000 (11:26 +0100)] 
rss: refactor item date generation

15 years agorss: configurable announce method
Giuseppe Bilotta [Sun, 15 Mar 2009 10:04:24 +0000 (11:04 +0100)] 
rss: configurable announce method

Since the RSS update announcements do not expect any form of reply,
they could be considered the typical IRC message that should use
NOTICE rather than PRIVMSG.

However, for backwards compatibility and since NOTICEs are not always
appreciated (and since their handling from clients is not always
optimal, either), we still allow rss announces to use the traditional
method, and that is in fact selected as default. Explicit rss show
request always go with PRIVMSG.

15 years agorss: clean up options parsing in printFormattedRss
Giuseppe Bilotta [Sun, 15 Mar 2009 09:42:36 +0000 (10:42 +0100)] 
rss: clean up options parsing in printFormattedRss

15 years agorss: refactor rss types loading
Giuseppe Bilotta [Fri, 13 Mar 2009 10:50:27 +0000 (11:50 +0100)] 
rss: refactor rss types loading

Make use of the new custom filter loading procedure to move most of the
type definitions into its own file (data/rbot/filters/rss.rb) and only
define some essential ones in the plugin itself.

As an added benefit, user types can be loaded from filters/rss.rb and
rss/types.rb in the botclass directory.

15 years agofilters: BotModule user filter loading
Giuseppe Bilotta [Fri, 13 Mar 2009 21:54:05 +0000 (22:54 +0100)] 
filters: BotModule user filter loading

15 years agorss: more detailed forum type
Giuseppe Bilotta [Wed, 11 Mar 2009 18:56:56 +0000 (19:56 +0100)] 
rss: more detailed forum type

15 years agoupdate finnish translation for lastfm
Raine Virta [Fri, 6 Mar 2009 00:25:40 +0000 (02:25 +0200)] 
update finnish translation for lastfm

15 years agolastfm: allow bolding in translations in nowplaying
Raine Virta [Thu, 5 Mar 2009 22:23:12 +0000 (00:23 +0200)] 
lastfm: allow bolding in translations in nowplaying

15 years agofix finnish translation for lastfm
Raine Virta [Thu, 5 Mar 2009 21:25:54 +0000 (23:25 +0200)] 
fix finnish translation for lastfm

15 years agolastfm: fix a bug of uri not showing in loved/neighbors/friends
Raine Virta [Thu, 5 Mar 2009 18:17:23 +0000 (20:17 +0200)] 
lastfm: fix a bug of uri not showing in loved/neighbors/friends

15 years agourl: allow ignoring urls from specific users
Raine Virta [Thu, 5 Mar 2009 18:00:36 +0000 (20:00 +0200)] 
url: allow ignoring urls from specific users

15 years agoupdate finnish translation for lastfm
Raine Virta [Wed, 4 Mar 2009 23:49:39 +0000 (01:49 +0200)] 
update finnish translation for lastfm

15 years agoreaction: spoken reactions should use plainreply, not reply
Giuseppe Bilotta [Mon, 9 Mar 2009 21:16:51 +0000 (22:16 +0100)] 
reaction: spoken reactions should use plainreply, not reply

15 years agoreaction: fix trigger regex to work with non-alphanumeric start/end.
Spencer Rinehart [Mon, 9 Mar 2009 16:07:38 +0000 (12:07 -0400)] 
reaction: fix trigger regex to work with non-alphanumeric start/end.

only match on word boundaries at an end of a trigger if the character at
that end of the trigger is a word character.  In other words, the
trigger "test" should require word boundaries on each side, but the
trigger "@test" should only require one on the right side.

15 years agoyoutube: fix video page detection in htmlfilter
Giuseppe Bilotta [Sun, 8 Mar 2009 19:38:47 +0000 (20:38 +0100)] 
youtube: fix video page detection in htmlfilter

15 years agokeywords plugin: document some more features in help
Giuseppe Bilotta [Sat, 7 Mar 2009 23:07:05 +0000 (00:07 +0100)] 
keywords plugin: document some more features in help

15 years agomessagemapper: fix regexp creation for double-optional templates
Giuseppe Bilotta [Sat, 7 Mar 2009 13:02:55 +0000 (14:02 +0100)] 
messagemapper: fix regexp creation for double-optional templates

When a mapping template had a double optional key such as
  'something [[double] optional]'
the resuting regexp moved the spacing between the (converted)
double brackets, requiring extra spacing before the 'optional'
keyword.

Fix by moving spacing inside all consecutive brackets before converting
brackets into their regexp form.

15 years agohangman: space scores
Giuseppe Bilotta [Sat, 7 Mar 2009 11:20:22 +0000 (12:20 +0100)] 
hangman: space scores

15 years agolastfm: clean up sort order events search mappings
Giuseppe Bilotta [Sat, 7 Mar 2009 10:32:42 +0000 (11:32 +0100)] 
lastfm: clean up sort order events search mappings

Put some requirements for the sort_order specification, to prevent
 lastfm events at alan lomax
to map lomax as a sort order. Also make the 'in' and 'order' words
optional within the optional sord order block, rather than aside, to
prevent them from being ignored in venue names.

15 years agolastfm: refactor map options for events search
Giuseppe Bilotta [Sat, 7 Mar 2009 10:22:27 +0000 (11:22 +0100)] 
lastfm: refactor map options for events search

15 years agolastfm: handle network errors when looking for events by venue
Giuseppe Bilotta [Sat, 7 Mar 2009 10:21:10 +0000 (11:21 +0100)] 
lastfm: handle network errors when looking for events by venue

15 years agolastfm: handle no events when searching by venue
Giuseppe Bilotta [Sat, 7 Mar 2009 10:10:05 +0000 (11:10 +0100)] 
lastfm: handle no events when searching by venue

15 years agolastfm: handle venue not found
Giuseppe Bilotta [Sat, 7 Mar 2009 10:03:34 +0000 (11:03 +0100)] 
lastfm: handle venue not found

15 years agoload rubygems if available
Giuseppe Bilotta [Fri, 6 Mar 2009 20:55:12 +0000 (21:55 +0100)] 
load rubygems if available

Try loading rubygems as soon as we're set up, since it can be needed for
gettext and a number of other things. This also allows us to get rid of
some stupid convoluted tricks in utils.

15 years agoirc: monkeypatch Singleton to make _load and _dump public.
Spencer Rinehart [Fri, 6 Mar 2009 15:08:06 +0000 (10:08 -0500)] 
irc: monkeypatch Singleton to make _load and _dump public.

This is to fix a possible bug in newer versions of ruby where _load was
declared private in singletons.  This would lead to errors where Marshal
could not restore the Singleton.  This "bug" was introduced to ruby
in revisions 16659 and 17396.

15 years agolastfm: allow both 'sort by' and 'sorted by'
Giuseppe Bilotta [Thu, 5 Mar 2009 18:03:20 +0000 (19:03 +0100)] 
lastfm: allow both 'sort by' and 'sorted by'

15 years agoupdate finnish translation for lastfm
Raine Virta [Wed, 4 Mar 2009 23:49:39 +0000 (01:49 +0200)] 
update finnish translation for lastfm

15 years agolastfm: mention "events at <venue>" in the help
Raine Virta [Wed, 4 Mar 2009 23:35:00 +0000 (01:35 +0200)] 
lastfm: mention "events at <venue>" in the help

15 years agolastfm: event sorting
Raine Virta [Wed, 4 Mar 2009 23:31:46 +0000 (01:31 +0200)] 
lastfm: event sorting

15 years agoupdate finnish lastfm translation
Raine Virta [Wed, 4 Mar 2009 19:22:59 +0000 (21:22 +0200)] 
update finnish lastfm translation

15 years agolastfm: use gettext in album format
Raine Virta [Wed, 4 Mar 2009 19:20:45 +0000 (21:20 +0200)] 
lastfm: use gettext in album format

15 years agolastfm: fix bug of album not showing in nowplaying if there's no year
Raine Virta [Wed, 4 Mar 2009 18:43:07 +0000 (20:43 +0200)] 
lastfm: fix bug of album not showing in nowplaying if there's no year

15 years agofinnish translation for Utils.comma_list
Raine Virta [Tue, 3 Mar 2009 06:54:14 +0000 (08:54 +0200)] 
finnish translation for Utils.comma_list

15 years agolastfm: use Utils.comma_list in appropriate places
Raine Virta [Tue, 3 Mar 2009 06:45:30 +0000 (08:45 +0200)] 
lastfm: use Utils.comma_list in appropriate places

15 years agoutils: add a helper method for creating comma separated lists
Raine Virta [Tue, 3 Mar 2009 06:44:20 +0000 (08:44 +0200)] 
utils: add a helper method for creating comma separated lists

15 years agoircbot: enable gettext on "restarting, back in..."
Raine Virta [Mon, 2 Mar 2009 02:07:53 +0000 (04:07 +0200)] 
ircbot: enable gettext on "restarting, back in..."

15 years agofinnish translation for hangman plugin
Raine Virta [Mon, 2 Mar 2009 01:52:14 +0000 (03:52 +0200)] 
finnish translation for hangman plugin

15 years agohangman: enable gettext on some replies and help
Raine Virta [Mon, 2 Mar 2009 02:04:35 +0000 (04:04 +0200)] 
hangman: enable gettext on some replies and help

15 years agohangman: make replies more compatible with gettext
Raine Virta [Mon, 2 Mar 2009 02:01:38 +0000 (04:01 +0200)] 
hangman: make replies more compatible with gettext

_() returns frozen strings in 1.92.0. This patch not only addresses
that, but also makes some of the replies more flexible.

15 years agofinnish translation for last.fm plugin
Raine Virta [Mon, 2 Mar 2009 01:13:38 +0000 (03:13 +0200)] 
finnish translation for last.fm plugin

15 years agolastfm: make replies more compatible with gettext
Raine Virta [Mon, 2 Mar 2009 01:34:54 +0000 (03:34 +0200)] 
lastfm: make replies more compatible with gettext

_() returns frozen strings in 1.92.0. This patch not only addresses
that, but also makes some of the replies more flexible.

15 years agofinnish translation for Utils.timeago
Raine Virta [Mon, 2 Mar 2009 01:13:01 +0000 (03:13 +0200)] 
finnish translation for Utils.timeago

15 years agoconfig: add alias config remove
Raine Virta [Sun, 1 Mar 2009 22:27:25 +0000 (00:27 +0200)] 
config: add alias config remove

15 years agoconfig: allow multiple values in config add and rm
Raine Virta [Sat, 28 Feb 2009 00:37:27 +0000 (02:37 +0200)] 
config: allow multiple values in config add and rm

15 years agomarkov: ensure messages are cleaned before learning and replying.
Spencer Rinehart [Tue, 3 Mar 2009 12:33:17 +0000 (07:33 -0500)] 
markov: ensure messages are cleaned before learning and replying.

Lines that began with or ended with spaces were breaking the learning
thread.  The call to clean_str was moved down into learn_line (and
random_markov) so that all messages, including those being learned from
files, get cleaned.

15 years agoPO file update
Giuseppe Bilotta [Sun, 1 Mar 2009 22:52:02 +0000 (23:52 +0100)] 
PO file update

15 years agomarkov: v2 storage
Giuseppe Bilotta [Sun, 1 Mar 2009 01:08:24 +0000 (02:08 +0100)] 
markov: v2 storage

Store chains as hashes mapping symbols to weights (and their totals)

15 years agomarkov: refactor triplet learning
Giuseppe Bilotta [Sat, 28 Feb 2009 10:59:17 +0000 (11:59 +0100)] 
markov: refactor triplet learning

15 years agomarkov: refactor word picking
Giuseppe Bilotta [Sat, 28 Feb 2009 10:53:08 +0000 (11:53 +0100)] 
markov: refactor word picking

15 years agorss plugin: upper limit for watched feeds
Giuseppe Bilotta [Fri, 27 Feb 2009 20:40:16 +0000 (21:40 +0100)] 
rss plugin: upper limit for watched feeds

Config option to set the maximum number of items that will be announced
when a feed updates. 0 means all of them, anything else clips the list
to the latest ones, and also announces that some of the updates will not
be listed.

15 years agoplugins: allow plugins whitelisting
Raine Virta [Fri, 27 Feb 2009 23:34:50 +0000 (01:34 +0200)] 
plugins: allow plugins whitelisting

If the whitelist is not empty, only load the specified plugins.

15 years agoplugins: refactor plugin scanning
Raine Virta [Fri, 27 Feb 2009 19:30:40 +0000 (21:30 +0200)] 
plugins: refactor plugin scanning

Refactor plugin scanning for cleaner distinction between core modules
and plugins.

15 years agoSeparate @dirs containing all botmodules (plugins and core modules)
Raine Virta [Thu, 26 Feb 2009 17:30:06 +0000 (19:30 +0200)] 
Separate @dirs containing all botmodules (plugins and core modules)
into @core_module_dirs and @plugin_dirs

15 years agoItalian PO update
Giuseppe Bilotta [Fri, 27 Feb 2009 21:22:48 +0000 (22:22 +0100)] 
Italian PO update

15 years agohangman: fix score fetching to work for offline users.
Spencer Rinehart [Fri, 27 Feb 2009 01:27:55 +0000 (20:27 -0500)] 
hangman: fix score fetching to work for offline users.

m.server.get_user doesn't work for offline users so use what was given
instead.

15 years agofinnish localization for basic expressions
Raine Virta [Wed, 25 Feb 2009 23:03:52 +0000 (01:03 +0200)] 
finnish localization for basic expressions

15 years agolastfm: add venue command
Raine Virta [Wed, 25 Feb 2009 02:25:52 +0000 (04:25 +0200)] 
lastfm: add venue command

15 years agolastfm: find events by venue
Raine Virta [Wed, 25 Feb 2009 00:15:48 +0000 (02:15 +0200)] 
lastfm: find events by venue

15 years agolastfm: add method for searching venues
Raine Virta [Tue, 24 Feb 2009 23:56:05 +0000 (01:56 +0200)] 
lastfm: add method for searching venues