]>
git.netwichtig.de Git - user/henk/code/ruby/rbot.git/log
Voker57 [Sat, 12 Dec 2009 18:35:34 +0000 (21:35 +0300)]
markov: made delay an option, fixed non-replied status
Giuseppe Bilotta [Mon, 25 Jan 2010 21:05:21 +0000 (22:05 +0100)]
Message 'prefixed?' method
This is used to tell apart colloquial messages to the bot ("botname,
do this") from classic bot-style interface ("!do this").
Alex Legler [Mon, 21 Dec 2009 09:46:03 +0000 (10:46 +0100)]
message: Allow forcefully prepending of the nick when replying
Alex Legler [Fri, 27 Nov 2009 12:35:36 +0000 (13:35 +0100)]
ircbot/rfc2812/message: Add banlist message handling
Alex Legler [Wed, 11 Nov 2009 21:37:07 +0000 (22:37 +0100)]
ircbot: Delegate ERR_NOSUCHNICK and ERR_NOSUCHCHANNEL events to plugins
Giuseppe Bilotta [Wed, 16 Dec 2009 22:38:01 +0000 (23:38 +0100)]
hangman: expand %{site} in help
Raine Virta [Wed, 16 Dec 2009 20:33:30 +0000 (22:33 +0200)]
spotify: fail on load if Spotify module is not available
Raine Virta [Tue, 15 Dec 2009 21:57:51 +0000 (23:57 +0200)]
spotify: handle errors
Raine Virta [Sun, 13 Dec 2009 20:31:14 +0000 (22:31 +0200)]
add spotify plugin
Raine Virta [Sun, 13 Dec 2009 20:31:01 +0000 (22:31 +0200)]
lastfm: use Spotify from lib_spotify
Raine Virta [Sun, 13 Dec 2009 20:25:13 +0000 (22:25 +0200)]
add lib_spotify plugin
Raine Virta [Wed, 9 Dec 2009 09:14:56 +0000 (11:14 +0200)]
lastfm: wrap artist name with bold in now_playing output
Raine Virta [Wed, 9 Dec 2009 09:11:13 +0000 (11:11 +0200)]
lastfm: use CGI.escape on query part of spotify searches
Raine Virta [Mon, 7 Dec 2009 11:09:52 +0000 (13:09 +0200)]
lastfm: remove dashes from Spotify queries
Raine Virta [Sun, 6 Dec 2009 22:39:22 +0000 (00:39 +0200)]
lastfm: show spotify links on now_playing if possible
Raine Virta [Sun, 6 Dec 2009 22:32:42 +0000 (00:32 +0200)]
lastfm: fix detection of invalid username on now_playing
Yaohan Chen [Mon, 30 Nov 2009 19:44:11 +0000 (14:44 -0500)]
When a translator fails to initialize, map its command to respond the reason
Yaohan Chen [Mon, 30 Nov 2009 19:19:55 +0000 (14:19 -0500)]
Simplify support for using "auto" to detect source language
When "auto" is used as source language, Google Translate detects the
source language. However there is no need to hardcode Google Translate
as the only translator supporting "auto". If another translator supports
language detection, we can add "auto" to its supported source languages.
If no translator in default_list supports translating from "auto", the
existing code already responds with a message saying so.
Raine Virta [Sun, 29 Nov 2009 20:07:03 +0000 (22:07 +0200)]
translator: use google's RESTful interface for google_translate
Raine Virta [Sun, 29 Nov 2009 20:00:50 +0000 (22:00 +0200)]
translator: fix random bug caused by undefined variables
Giuseppe Bilotta [Fri, 6 Nov 2009 21:52:41 +0000 (22:52 +0100)]
irclog: don't kill logger thread on false can_log_on
Change a return to a next. Leftover from the refactoring of the logger
into its own thread. Thanks to gelraen for spotting this.
Giuseppe Bilotta [Thu, 5 Nov 2009 11:45:56 +0000 (12:45 +0100)]
remote: bring up to date with changes in MessageMapper
Giuseppe Bilotta [Thu, 5 Nov 2009 10:47:56 +0000 (11:47 +0100)]
remote: use permit? instead of allow?
We cannot signal back to the user from the UI anyway.
Giuseppe Bilotta [Tue, 3 Nov 2009 19:41:18 +0000 (20:41 +0100)]
Raine Virta [Thu, 22 Oct 2009 11:35:57 +0000 (14:35 +0300)]
urban: fix numpages being nil in some cases
Giuseppe Bilotta [Sun, 1 Nov 2009 08:58:24 +0000 (09:58 +0100)]
tumblr: better guess for group name on ## channels
Giuseppe Bilotta [Sun, 1 Nov 2009 08:52:30 +0000 (09:52 +0100)]
IRC Framework: Channel.npname()
Returns the unprefixed part of a channel name
Giuseppe Bilotta [Sun, 1 Nov 2009 08:44:01 +0000 (09:44 +0100)]
Ruby 1.9 compat: use String#[0,1] for channel prefixes
This ensures that checks are correct in both Ruby 1.8 and 1.9
franz [Tue, 20 Oct 2009 07:07:27 +0000 (09:07 +0200)]
httputil.rb: fix http.no_expire_cache being IntegerValue
It should be BooleanValue, otherwise false would get converted to 0
which would evaluate to true, meaning cache would never expire.
Raine Virta [Wed, 21 Oct 2009 15:52:41 +0000 (18:52 +0300)]
urban: fix page detection logic
numpages = s[%r{<div id='paginator'>.*?</div>}m].scan(/\d+/)
^
produces an error when regex returns nil
Raine Virta [Wed, 21 Oct 2009 15:43:56 +0000 (18:43 +0300)]
urban: fix regex for detecting an undefined term
Giuseppe Bilotta [Tue, 20 Oct 2009 18:22:22 +0000 (20:22 +0200)]
Loop until connected in reconnect()
Untrapped connect() failures would raise up to the mainloop, causing a
burst of reconnect attempts without delay. Fix by rescuing in
reconnect() and retrying after waiting.
Giuseppe Bilotta [Thu, 24 Sep 2009 20:47:27 +0000 (22:47 +0200)]
search plugin: handle image in results
Some results from Google can contain <img> tags as their 'text' part, so
use the new ircify_html feature to display them.
Giuseppe Bilotta [Thu, 24 Sep 2009 20:47:07 +0000 (22:47 +0200)]
ircify_html: options to handle img tags
Giuseppe Bilotta [Sat, 12 Sep 2009 19:50:02 +0000 (21:50 +0200)]
search plugin: cleanup and fix results Array vs String mismatch
Giuseppe Bilotta [Tue, 8 Sep 2009 22:06:42 +0000 (00:06 +0200)]
basics: log the fact that we're not joining default channels
This makes it easier to understand why the bot is not joining
when join_after_identify is set to true and the bot is not
identifying.
franz [Sun, 6 Sep 2009 08:46:05 +0000 (10:46 +0200)]
ruby 1.9: Exception#to_str
Since in ruby 1.9 Exception#to_str was removed, change it to to #to_s
franz [Thu, 3 Sep 2009 20:02:16 +0000 (22:02 +0200)]
ruby 1.9: fix method_defined?
method_defined? doesn't search in private methods, and :bound_targets is
private, so change it to respond_to?(method, include_private=true)
Giuseppe Bilotta [Mon, 31 Aug 2009 19:10:59 +0000 (21:10 +0200)]
search: show long definitions with 'google define:stuff'
Giuseppe Bilotta [Mon, 31 Aug 2009 18:40:46 +0000 (20:40 +0200)]
search plugin: update gdef
Giuseppe Bilotta [Mon, 31 Aug 2009 05:41:38 +0000 (07:41 +0200)]
tumplr plugin: first draft
Giuseppe Bilotta [Sun, 30 Aug 2009 19:56:11 +0000 (21:56 +0200)]
Revert "utils: try nokogiri/hpricot if hpricot is not available"
This reverts commit
4ea25eba02d85b81dcee4302375d7d3e08cd52ac .
Not only the patch was missing an essential part, but Nokogiri is not
compatible enough with Hpricot anyway. Incompatibilities include
doc/"style|script" raising an "Undefined namespace prefix" error and the
non-existence of Hpricot::Elements.
If we want to support Nokogiri we'll need to write code for it on
purpose or redesign the Hpricot code so that it only uses the subset
supported by Nokogiri.
Giuseppe Bilotta [Sun, 30 Aug 2009 14:42:16 +0000 (16:42 +0200)]
url plugin: carry htmlinfo filtering output with the url_added event
Giuseppe Bilotta [Sun, 30 Aug 2009 14:41:08 +0000 (16:41 +0200)]
httputil: POST respose '201 Created' is good
Giuseppe Bilotta [Sun, 30 Aug 2009 14:40:22 +0000 (16:40 +0200)]
utils: try nokogiri/hpricot if hpricot is not available
Giuseppe Bilotta [Fri, 28 Aug 2009 22:56:22 +0000 (00:56 +0200)]
search plugin: enhance 'lucky' output
'lucky' search only selects the first hit, so set hit to 1 and
enable 'single' mode. Also rework the results output, and make a custom
'title -- url' for lucky mode.
Giuseppe Bilotta [Fri, 28 Aug 2009 11:02:29 +0000 (13:02 +0200)]
search plugin: update google search
Giuseppe Bilotta [Thu, 27 Aug 2009 19:35:06 +0000 (21:35 +0200)]
url plugin: only chop non-word characters on 404
Chopping everything causes long delays for non-existing pages with
long paths. Since the purpose of the retry-with-chop is to get the
right URL when punctuation is added after it, the solution is to
only chop non-word characters. This has to be done on the
unescaped URL because otherwise non-word characters like " that
expand to %22 will not be chopped.
Giuseppe Bilotta [Thu, 27 Aug 2009 19:06:19 +0000 (21:06 +0200)]
utils: avoid namespace conflict
The time parsing refactoring introduced an unpleasant namespace
conflict by defining Utils::Time. Eliminate it by renaming it to
ParseTime
Giuseppe Bilotta [Thu, 27 Aug 2009 17:48:50 +0000 (19:48 +0200)]
reaction plugin: shorter help for replies
Giuseppe Bilotta [Thu, 27 Aug 2009 17:33:07 +0000 (19:33 +0200)]
reaction plugin: 'ruby:' replies
A reply can be prefixed with 'ruby:' to signify that it's a short ruby
snippet to be eval()ed. Adding these reactions is protected by default.
franz [Mon, 29 Jun 2009 06:26:46 +0000 (08:26 +0200)]
gettext: fix empty LANGUAGE env var
When LANGUAGE env var is set to empty value, it breaks
gettext in ruby, so we unset it if it's empty.
franz [Sun, 28 Jun 2009 21:14:39 +0000 (23:14 +0200)]
ruby 1.9: fix *methods.include?
Since in 1.9 methods arrays have symbols instead of strings, fix it by
changing into respond_to? and method_defined?
franz [Mon, 15 Jun 2009 20:07:45 +0000 (22:07 +0200)]
ruby 1.9: disable the Singleton monkeypatch for 1.9
this monkeypatch doesn't work on 1.9 - Singleton has no _load method
franz [Mon, 15 Jun 2009 19:59:56 +0000 (21:59 +0200)]
ruby 1.9: monkeypatch MonitorMixin and ConditionVariable
ruby 1.9's ConditionVariable#wait is not implemented for timeout != nil,
this patch adds an implementation for it (see ruby-core:15847)
Also, since MonitorMixin is included into TCPSocket in rbot, and
TCPSocket#send != Object#send in ruby 1.9, i changed that to use
__send__.
franz [Mon, 15 Jun 2009 19:27:41 +0000 (21:27 +0200)]
ruby 1.9: fix Integer(nil)
in 1.9, Integer(nil) raises TypeError, so we change "%d" to "%s"
franz [Mon, 15 Jun 2009 19:07:35 +0000 (21:07 +0200)]
ruby 1.9: convert Exception to string explicitly
changed "string + exception" to "string #{e}", the
former yields 'can't convert <e> into String' in ruby 1.9
franz [Mon, 15 Jun 2009 19:06:56 +0000 (21:06 +0200)]
ircbot: fix indentation error
franz [Mon, 15 Jun 2009 18:53:00 +0000 (20:53 +0200)]
ruby 1.9: get rid of colons in case statements
ruby 1.9 doesn't support colon as delimiter after when expression,
so we use newline as delimiter.
franz [Mon, 15 Jun 2009 18:41:01 +0000 (20:41 +0200)]
ruby 1.9: get rid of Array#nitems
Array#nitems is gone in ruby 1.9, changed rbot code to use
Array.compact.size, which works in both 1.8 & 1.9
Giuseppe Bilotta [Wed, 26 Aug 2009 18:52:31 +0000 (20:52 +0200)]
Utils: time parsing routines
Add time parsing routines to Utils, to be used for human-to-computer
conversion of time offsets. Refactored and enhanced from the remind
plugin.
Giuseppe Bilotta [Sun, 16 Aug 2009 14:05:33 +0000 (16:05 +0200)]
Suppress warnings about unitialized variables
hangman: an unneeded letters accessor was defined
ircbot: restore initializations removed by previous commit
Giuseppe Bilotta [Fri, 14 Aug 2009 12:49:42 +0000 (14:49 +0200)]
ircbot: clean up ping timings on connect
Giuseppe Bilotta [Thu, 13 Aug 2009 00:35:55 +0000 (02:35 +0200)]
nickserv: add 'ghosted' to nickserv.nick_avail
Giuseppe Bilotta [Thu, 13 Aug 2009 00:17:15 +0000 (02:17 +0200)]
basics: UI reconnect command
Giuseppe Bilotta [Fri, 7 Aug 2009 23:40:18 +0000 (01:40 +0200)]
Better handling of MessageMapper failures
The plugin fallback method is now passed the list of failures.
Failures themselves are encapsulated in their own data type, making it
easier to handle failures that should inform the user with something
more detailed than the classic 'usage' pattern.
It's still up to the fallback method to make use (e.g. echo) the
relevant messages.
Giuseppe Bilotta [Mon, 29 Jun 2009 22:41:58 +0000 (00:41 +0200)]
extends: bring conjoin to Enumerable
Put #conjoin() in the Enumerable module, so that it can be shared by all
enumerables (e.g. ranges). Since #size() is not necessarily present, its
use is replaced by #count(), the result of which is cached because
it can be slow on objects missing #size().
Adam James [Tue, 16 Jun 2009 22:27:50 +0000 (23:27 +0100)]
core/utils/extends.rb: add #conjoin for Array
Adam James [Tue, 16 Jun 2009 22:27:03 +0000 (23:27 +0100)]
lib/rbot/plugins.rb: remove executable bit
Giuseppe Bilotta [Fri, 12 Jun 2009 08:20:01 +0000 (10:20 +0200)]
search: Google changed their WAP address
dmitry kim [Sat, 6 Jun 2009 13:44:13 +0000 (17:44 +0400)]
* (gettext) relaxed check for bound_target() existance
dmitry kim [Sat, 6 Jun 2009 12:34:53 +0000 (16:34 +0400)]
* (plugins) note: misc cleanups
dmitry kim [Sat, 6 Jun 2009 12:08:30 +0000 (16:08 +0400)]
+ (plugins) note
Giuseppe Bilotta [Mon, 1 Jun 2009 22:41:56 +0000 (00:41 +0200)]
rss plugin: categories fix
Don't break when the feed doesn't define categories.
Giuseppe Bilotta [Sun, 24 May 2009 11:49:38 +0000 (13:49 +0200)]
seen plugin: check if there's a previous action before using it
If the registry data is not an Array, there will be no 'before'
information stored, so just use the normal output.
Giuseppe Bilotta [Fri, 22 May 2009 15:52:34 +0000 (17:52 +0200)]
factoids: fix error message when no fact is found
When the search is called as 'facts search' the 'words' parameter is
not defined, so customize the message depending on wether we have that
or 'rx'.
David Gadling [Thu, 21 May 2009 18:53:19 +0000 (11:53 -0700)]
multiple plugins: Changes to remove parenthesize warnings.
All of these modules/plugins were generating warnings like this:
warning: parenthesize argument(s) for future version
This patch should fix all the warnings without affecting functionality.
Giuseppe Bilotta [Wed, 20 May 2009 12:44:53 +0000 (14:44 +0200)]
search: gtime instead of time
The time command is already defined by the corresponding plugin, so use
gtime (like gdef and gcalc) for the Google clock.
David Gadling [Mon, 30 Mar 2009 18:43:24 +0000 (11:43 -0700)]
search: Added a time command that gets the time from Google. !time london
David Gadling [Tue, 5 May 2009 21:57:13 +0000 (14:57 -0700)]
quiz: Make maximum number of jokers configurable.
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.
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.
Giuseppe Bilotta [Mon, 11 May 2009 14:20:18 +0000 (16:20 +0200)]
quiz plugin: simplify local file loading
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.
Raine Virta [Wed, 29 Apr 2009 22:35:28 +0000 (01:35 +0300)]
translator: fix sentences not working with omitted language parameters
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.
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.
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.
Raine Virta [Wed, 29 Apr 2009 21:40:54 +0000 (00:40 +0300)]
translator: make destination language optional
Raine Virta [Sun, 5 Apr 2009 20:55:21 +0000 (23:55 +0300)]
greet plugin
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
Giuseppe Bilotta [Mon, 20 Apr 2009 20:17:03 +0000 (22:17 +0200)]
rss: minor comment fix
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.
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
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.
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>
Giuseppe Bilotta [Sat, 11 Apr 2009 08:57:25 +0000 (10:57 +0200)]
karma: prevent users from changing own karma
Giuseppe Bilotta [Wed, 8 Apr 2009 10:33:40 +0000 (12:33 +0200)]
quotes: listquotes command
Giuseppe Bilotta [Tue, 7 Apr 2009 18:15:17 +0000 (20:15 +0200)]
* typo in italian lart
Giuseppe Bilotta [Tue, 7 Apr 2009 12:23:22 +0000 (14:23 +0200)]
reaction: document 'reaction move' syntax