David Gadling [Tue, 23 Mar 2010 18:24:52 +0000 (11:24 -0700)]
seen: Ignore garbage phrases as a users last words.
David Gadling [Sat, 13 Mar 2010 05:53:06 +0000 (21:53 -0800)]
url: Add a config option to auto-shorten URLs.
shortenurls: Add a favorite service config option.
Auto-shortening URLs is mutually exclusive with showing information about them as the output would be very confusing.
The favorite shortenting service option only really applies when other plugins call shortenurls.shorten, so they don't have to hard-code which shortening service to use.
David Gadling [Tue, 2 Mar 2010 07:17:01 +0000 (23:17 -0800)]
poll: New plugin for having polls (votes, contests, etc) running.
Polls can be brief (2 minutes) or longer lasting (2 weeks).
David Gadling [Mon, 15 Feb 2010 20:16:00 +0000 (12:16 -0800)]
roulette: Keep track of points and provide a hall of fame (hof)
David Gadling [Mon, 8 Feb 2010 21:10:04 +0000 (13:10 -0800)]
autoop: Add a 'seed' command that makes sure current ops in a channel will be autoopped.
There's also a config item (autoop.seed_format) that lets you control how much, if any
of a users hostmask is globbed.
David Gadling [Wed, 3 Feb 2010 02:43:38 +0000 (18:43 -0800)]
autoop: Add a 'restore' command that will op anybody that would be autooped.
This goes through the list of hostmasks that would be opped in the channel, and
checks to see if any of them are currently not opped. If they're not, they're opped.
Nobody is ever deopped.
David Gadling [Wed, 3 Feb 2010 01:34:18 +0000 (17:34 -0800)]
markov: Add the ability to inspect a chain and see what the odds are of it occuring.
David Gadling [Wed, 3 Feb 2010 01:32:30 +0000 (17:32 -0800)]
markov: Add the ability to forget a chain
Giuseppe Bilotta [Wed, 30 Jun 2010 16:59:32 +0000 (18:59 +0200)]
Add missing po(t) files
melmothX [Wed, 30 Jun 2010 12:31:46 +0000 (14:31 +0200)]
Added a sed emulation plugin
Giuseppe Bilotta [Wed, 30 Jun 2010 08:04:45 +0000 (10:04 +0200)]
Italian translation update
Giuseppe Bilotta [Wed, 30 Jun 2010 07:59:31 +0000 (09:59 +0200)]
Update PO files
Giuseppe Bilotta [Wed, 30 Jun 2010 07:57:22 +0000 (09:57 +0200)]
minor correction to help auth
Giuseppe Bilotta [Mon, 28 Jun 2010 22:55:10 +0000 (00:55 +0200)]
Move English messages from po/en_US to po/en
When using gettext, the bot will look for English messages in the 'en'
locale, rather than en_US. This causes some Ruby GetText version to
not find the .mo files, which used to be stored as en_US instead. Since
Ruby's GetText seems to be too stupid to fall back to en_US when en is
not found, we move the messages to en.
This is also probably more correct from a linguistic standpoint, since
the messages are actually mostly British English due to the bot origin.
Giuseppe Bilotta [Mon, 28 Jun 2010 21:40:28 +0000 (23:40 +0200)]
markov: strip lines before learning them
This prevents a dead loop when learning lines starting with whitespace,
which could otherwise happen e.g. when learning from a file.
Giuseppe Bilotta [Mon, 28 Jun 2010 17:54:35 +0000 (19:54 +0200)]
Update file list in gemspec
Giuseppe Bilotta [Mon, 28 Jun 2010 16:43:02 +0000 (18:43 +0200)]
Version 0.9.15
Giuseppe Bilotta [Mon, 28 Jun 2010 16:35:17 +0000 (18:35 +0200)]
Thank rane_ for pestering us to release 0.9.15
Giuseppe Bilotta [Wed, 23 Jun 2010 21:40:28 +0000 (23:40 +0200)]
nickserv plugin: more liberal default identified string
Giuseppe Bilotta [Tue, 15 Jun 2010 10:27:33 +0000 (12:27 +0200)]
New IRC Framework: don't raise on unknown casemap
This allows us to support servers that (ab)use the CASEMAPPING
to indicate the set of allowed characters for nicks (e.g. Inspire
IRCd).
Giuseppe Bilotta [Sat, 22 May 2010 13:44:56 +0000 (15:44 +0200)]
docgen: cope with README -> README.rdoc rename
Yaohan Chen [Fri, 21 May 2010 21:11:59 +0000 (17:11 -0400)]
translator: fix undefined variable
Fix an error in commit
027b6965f5abf5d05a95 which causes @lang_list to
be undefined but used in BabelFish.
Yaohan Chen [Fri, 21 May 2010 19:59:29 +0000 (15:59 -0400)]
translator: connect to sites only when necessary
Previously the translation services in the plugin would connect to their
respective websites on initialize. Now they will only do this when the first
time they are used. WorldLingo still connects on initialialize in order to list
the supported language pairs, but the Mechanize object is not saved here, so
the connection should be closed after initialize, and only reopened if
translation by WorldLingo is requested later.
Previously the services are assumed to fail if they raise any Exception in
initialize, and in that case the service is disabled, and its command as well
as the help translate [failed] commands state this. Now this exception catch is
done for any do_translate method call.
Giuseppe Bilotta [Wed, 12 May 2010 10:57:40 +0000 (12:57 +0200)]
Survive active_support idiocy
Somebody should hang the ActiveSupport developers by their balls
with barbed wire. Their MissingSourceFile extension to LoadError
_expects_ a second argument, breaking the usual Exception interface
(instead, the smart thing to do would have been to make the second
parameter optional and run the code in the from_message method if
it was missing).
Raine Virta [Fri, 16 Apr 2010 15:13:05 +0000 (18:13 +0300)]
improve README
Raine Virta [Fri, 16 Apr 2010 15:08:17 +0000 (18:08 +0300)]
change README's extension to rdoc
We get cooler github readme.
Raine Virta [Fri, 16 Apr 2010 14:36:28 +0000 (17:36 +0300)]
translator: additional help for google translate auto-detect failure
When translate command is used without source language, "auto" as source
language is assumed. It means that google translator is used and we let
google figure out what the source language is.
Problem is that the google translator will fail if the system that the
bot is running on does not have the json gem installed. This commit
addresses that problem by showing more informative error message instead
of a weird "none of the translators supports auto to en translation".
Raine Virta [Fri, 16 Apr 2010 14:17:40 +0000 (17:17 +0300)]
translator: show info about failed translators in help
Raine Virta [Mon, 8 Mar 2010 18:29:24 +0000 (20:29 +0200)]
reaction: handle :acts in can_add?
Raine Virta [Fri, 22 Jan 2010 09:13:15 +0000 (11:13 +0200)]
translator: decode html entities on google_translate
Giuseppe Bilotta [Mon, 29 Mar 2010 16:35:14 +0000 (18:35 +0200)]
IRC: support 'CASEMAPPING=charset' from some idiotic servers
Matthias -apoc- Hecker [Thu, 18 Mar 2010 13:10:12 +0000 (14:10 +0100)]
Small httputil.rb fix. Wrong Argument port instead of pass.
Matthias -apoc- Hecker [Thu, 18 Mar 2010 13:06:48 +0000 (14:06 +0100)]
Small imdb plugin fix. Just changed the imdb url.
Giuseppe Bilotta [Tue, 16 Mar 2010 14:16:20 +0000 (15:16 +0100)]
seen: use corret 'where' in 'before' case
For the 'before' part of the reply, make sure we use the where
from the correct Saw. Otherwise, for example, a public message
preceeding a quit would show a dangling 'in ' at the end of the reply.
Voker57 [Sun, 14 Mar 2010 21:19:46 +0000 (00:19 +0300)]
Tokyo Cabinet DB backend
Voker57 [Sun, 14 Mar 2010 21:13:37 +0000 (00:13 +0300)]
DB backend option
Voker57 [Sun, 14 Mar 2010 21:09:10 +0000 (00:09 +0300)]
Moved DB stuff to registry/bdb
Robin H. Johnson [Sat, 13 Mar 2010 09:44:37 +0000 (09:44 +0000)]
seen: Introduce framework for message and channel privacy.
This commit introduces the ability to note that a user was doing
something, optionally without disclosing what or where it was.
Users themselves do not get the chance to be hidden, because you can ask
the /WHOIS service if they logged on at all.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Robin H. Johnson [Sat, 13 Mar 2010 09:34:15 +0000 (09:34 +0000)]
seen: Include the channel where the user's output was.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Robin H. Johnson [Sat, 13 Mar 2010 09:31:28 +0000 (09:31 +0000)]
basics: implement a channel list status query
This gets the list of channels we think we are in (not what the server says we are in).
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Giuseppe Bilotta [Mon, 8 Mar 2010 13:44:23 +0000 (14:44 +0100)]
Fix typo in previous patch
My fault for not finding it in review
Robin H. Johnson [Wed, 17 Jun 2009 22:15:59 +0000 (22:15 +0000)]
Implement penalty for WHO and PART based on eggdrop code.
Giuseppe Bilotta [Sun, 7 Mar 2010 18:17:47 +0000 (19:17 +0100)]
Time parsing: also parse months and years
Robin H. Johnson [Sun, 7 Mar 2010 03:22:04 +0000 (03:22 +0000)]
rfc2812: Fix multiple RPL_WHOISCHANNELS handling
The new Freenode ircd returns multiple RPL_WHOISCHANNELS lines (split
based on length), and they must be merged, otherwise only the last ends
up as the list of channels that the bot is in.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Raine Virta [Sun, 21 Feb 2010 23:58:31 +0000 (01:58 +0200)]
nickserv: add a missing colon
Raine Virta [Sun, 21 Feb 2010 23:33:00 +0000 (01:33 +0200)]
reaction: fix can_add? method logic
It should now follow this logic:
* Allow everyone to create basic replies
* Require specific permissions for cmd and ruby reactions
Raine Virta [Sun, 21 Feb 2010 23:32:25 +0000 (01:32 +0200)]
reaction: reverse permission check
David Gadling [Wed, 3 Feb 2010 01:02:16 +0000 (17:02 -0800)]
geoip: Add blogama and allow for fallback options
Giuseppe Bilotta [Wed, 10 Feb 2010 00:25:08 +0000 (01:25 +0100)]
react: restrict command reactions by default
Anybody can create a dangerous reaction, and then trick the owner into
triggering it.
Credits to apoc for spotting this.
Voker57 [Mon, 25 Jan 2010 22:55:00 +0000 (01:55 +0300)]
markov: detect addressing-by-nick in channel
and filter it in smart way
Giuseppe Bilotta [Mon, 25 Jan 2010 22:17:01 +0000 (23:17 +0100)]
markov: fix delay
markov.delay had the wrong default, and its use didn't have any
degree of randomness in it. Set the default to 5 and use rand()
again.
Giuseppe Bilotta [Mon, 25 Jan 2010 22:11:43 +0000 (23:11 +0100)]
markov: unify should_talk
Unify probability check for addressed and non-addressed case by
passing the message as a parameter to should_talk and picking the
probability accordingly.
Giuseppe Bilotta [Mon, 25 Jan 2010 22:11:30 +0000 (23:11 +0100)]
markov: whitespace cleanup
Voker57 [Sat, 19 Dec 2009 15:50:56 +0000 (18:50 +0300)]
markov: removed unnecessary mutexes
These were slowing down learning process greatly and do not make sense as far
as I can see: learning is always done only by single thread anyway.
Voker57 [Sat, 19 Dec 2009 15:47:43 +0000 (18:47 +0300)]
markov: close registry correctly
Voker57 [Sat, 19 Dec 2009 15:44:41 +0000 (18:44 +0300)]
markov: Intern only when it makes sense
Voker57 [Sat, 19 Dec 2009 14:36:48 +0000 (17:36 +0300)]
markov: stats
Voker57 [Wed, 16 Dec 2009 11:59:40 +0000 (14:59 +0300)]
markov: Moved weighted pick to separate function
Voker57 [Wed, 16 Dec 2009 09:39:18 +0000 (12:39 +0300)]
markov: learn message after maybe replying to it.
Voker57 [Wed, 16 Dec 2009 09:14:11 +0000 (12:14 +0300)]
markov: bidirectional line generating
Voker57 [Mon, 14 Dec 2009 17:13:17 +0000 (20:13 +0300)]
markov: ignore word patterns
Voker57 [Sun, 13 Dec 2009 21:00:58 +0000 (00:00 +0300)]
markov: fixed parameter type
Voker57 [Sat, 12 Dec 2009 18:49:33 +0000 (21:49 +0300)]
markov: use not only first two first words for building phrase
Voker57 [Sat, 12 Dec 2009 18:46:42 +0000 (21:46 +0300)]
markov: separate probability for answering when adressed
Voker57 [Sat, 12 Dec 2009 18:45:03 +0000 (21:45 +0300)]
markov: read-only list
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