Giuseppe Bilotta [Wed, 18 Aug 2010 08:45:21 +0000 (10:45 +0200)]
Plugin rake task: specify the path the plugin was written to
Raine Virta [Thu, 22 Apr 2010 20:47:36 +0000 (23:47 +0300)]
Add a plugin skeleton generator
`rake plugin`
Raine Virta [Thu, 22 Apr 2010 19:29:08 +0000 (22:29 +0300)]
Fix typo
Raine Virta [Tue, 20 Apr 2010 17:36:25 +0000 (20:36 +0300)]
lastfm: require spotify plugin to be enabled for spotify link info
Giuseppe Bilotta [Tue, 17 Aug 2010 07:24:12 +0000 (09:24 +0200)]
search: skip non-search-results link
This prevents the regexp scan to grab the Google Privacy link when no
results were found.
Giuseppe Bilotta [Fri, 13 Aug 2010 14:20:52 +0000 (16:20 +0200)]
translator: support both pre-1.0 and post-1.0 Mechanize namespaces
Giuseppe Bilotta [Thu, 5 Aug 2010 07:43:51 +0000 (09:43 +0200)]
UNO!: replace_player() returns whether it worked or not
Giuseppe Bilotta [Thu, 5 Aug 2010 07:40:50 +0000 (09:40 +0200)]
UNO!: don't replace with nonexisting players
Giuseppe Bilotta [Thu, 5 Aug 2010 07:28:22 +0000 (09:28 +0200)]
UNO!: prevent a challenge after a pick after a W+4
Giuseppe Bilotta [Tue, 3 Aug 2010 14:56:56 +0000 (16:56 +0200)]
hangman: fix playing with a private message
The target was being of the wrong class (String vs Irc::Channel),
busting all the hash lookups.
Giuseppe Bilotta [Tue, 3 Aug 2010 14:47:40 +0000 (16:47 +0200)]
hangman: IRCify HTML in definitions
Giuseppe Bilotta [Thu, 29 Jul 2010 12:20:48 +0000 (14:20 +0200)]
hangman: ensure 'hangman define' always answers
Giuseppe Bilotta [Sat, 24 Jul 2010 21:29:14 +0000 (23:29 +0200)]
imdb: fix plot detection
Giuseppe Bilotta [Sat, 24 Jul 2010 21:11:50 +0000 (23:11 +0200)]
imdb: fix grab_info()
Giuseppe Bilotta [Tue, 20 Jul 2010 08:21:56 +0000 (10:21 +0200)]
geoip: massage a few messages
Solve a few gettext issue, and re-introduce the commas around the
region.
Giuseppe Bilotta [Sun, 18 Jul 2010 21:16:33 +0000 (23:16 +0200)]
hangman plugin: update a couple of messages
It's 'hangman define' now, and we should only use one prefix in the
example command
Giuseppe Bilotta [Sat, 10 Jul 2010 16:14:45 +0000 (18:14 +0200)]
factoids plugin: more help
Giuseppe Bilotta [Sat, 10 Jul 2010 13:44:10 +0000 (15:44 +0200)]
UNO! plugin: clean join_timer when game starts
This prevents spurious messages about the game join timer being
cancelled when a game is ended by all players but one dropping out.
Giuseppe Bilotta [Mon, 5 Jul 2010 13:36:21 +0000 (15:36 +0200)]
load-gettext: cope with ruby gettext 2.1.0
Giuseppe Bilotta [Sat, 3 Jul 2010 21:52:57 +0000 (23:52 +0200)]
freshmeat plugin: use XML news if possible
Freshmeat now provides the news in XML form under /index.xml, which
provides more information, and in a more computer-friendly way. Use that
if possible (correctly-configured API token), fall back to RSS parsing
otherwise.
Giuseppe Bilotta [Sat, 3 Jul 2010 20:22:24 +0000 (22:22 +0200)]
HTTP: only set cookies for the correct domain
When a redirect has a Set-Cookie: header, check if the cookie domain is
valid for the host we are redirected to. If not, don't set the cookie
in the new request.
Giuseppe Bilotta [Sat, 3 Jul 2010 19:26:18 +0000 (21:26 +0200)]
HTTP: support servers that forget to escape the redirect location
Giuseppe Bilotta [Fri, 2 Jul 2010 22:09:08 +0000 (00:09 +0200)]
hangmang plugin: rename 'define' to 'hangman define'
Giuseppe Bilotta [Fri, 2 Jul 2010 11:32:42 +0000 (13:32 +0200)]
Release checklist
We sometimes skip releases for such a long time that we forget what
exactly we have to do, and in what order. Let's keep this list in view
and up-to-date
Giuseppe Bilotta [Fri, 2 Jul 2010 11:19:48 +0000 (13:19 +0200)]
figlet plugin: never prepend nick
Giuseppe Bilotta [Fri, 2 Jul 2010 11:08:25 +0000 (13:08 +0200)]
Strange error in po/en/rbot-uno.rb
Giuseppe Bilotta [Fri, 2 Jul 2010 10:55:20 +0000 (12:55 +0200)]
UNO! plugin: prevent double wild play
This allows lazy players to specify the color after playing the wild by
pressing up-arrow and adding the color to the previous line, without
running the risk of playing their precious second wild.
Giuseppe Bilotta [Fri, 2 Jul 2010 10:31:32 +0000 (12:31 +0200)]
UNO! plugin: be more discreet about user failures
The public announcement is now a generic "can't do that", with the
specific message being notified to the user. This reduces the chance of
other players guessing what the current player has from the error
messages.
Giuseppe Bilotta [Fri, 2 Jul 2010 10:08:37 +0000 (12:08 +0200)]
UNO! plugin: stop join_timer on end_game
This prevents a game from starting after it has ended.
Giuseppe Bilotta [Fri, 2 Jul 2010 10:04:42 +0000 (12:04 +0200)]
UNO! plugin: cope with pre-game drops
The drop is still counted, to prevent people from leaving and then
rejoining until they have nice cards.
Giuseppe Bilotta [Thu, 1 Jul 2010 23:09:14 +0000 (01:09 +0200)]
freshmeat plugin: use current API
The old XML files are not accessible, sadly, and the new API requires an
auth token. But at least it works again. For updates, we use the RSS
feed, parsing it manually.
Giuseppe Bilotta [Thu, 1 Jul 2010 22:19:58 +0000 (00:19 +0200)]
Update PO files
Giuseppe Bilotta [Thu, 1 Jul 2010 19:51:35 +0000 (21:51 +0200)]
Update versions in manpages when tagging
Giuseppe Bilotta [Thu, 1 Jul 2010 19:48:11 +0000 (21:48 +0200)]
Some man page rationalization
Add myself, reformat, minor tuneups to the text, complete missing
information, etc
Giuseppe Bilotta [Thu, 1 Jul 2010 18:50:36 +0000 (20:50 +0200)]
Rakefile: get rid of useless dependency
It's loaded by gempackagetask anyway ...
Giuseppe Bilotta [Thu, 1 Jul 2010 18:43:57 +0000 (20:43 +0200)]
Ignore man pages
Giuseppe Bilotta [Thu, 1 Jul 2010 18:43:08 +0000 (20:43 +0200)]
Get rid of man/Makefile
Giuseppe Bilotta [Thu, 1 Jul 2010 18:42:54 +0000 (20:42 +0200)]
Rake manpages rule
Giuseppe Bilotta [Thu, 1 Jul 2010 18:39:46 +0000 (20:39 +0200)]
Package man files
Define a rule in the Rakefile to generate them, and change the Dir[]
into a FileList[] into the gemspec. The latter change has the downside
of requiring Rake's FileList, but the upside of listing non-existing
files, so that Rake can create them, if possible, or complain if they
are just missing.
Giuseppe Bilotta [Thu, 1 Jul 2010 16:22:06 +0000 (18:22 +0200)]
poll plugin: some TODOs
Giuseppe Bilotta [Thu, 1 Jul 2010 16:05:33 +0000 (18:05 +0200)]
poll plugin: message fixes
Set up gettext strings properly, adjust case, and cope more cleanly with
the case of multiple address prefixes.
Giuseppe Bilotta [Thu, 1 Jul 2010 15:18:27 +0000 (17:18 +0200)]
poll plugin: make 'start' keyword optional
Giuseppe Bilotta [Thu, 1 Jul 2010 16:06:54 +0000 (18:06 +0200)]
poll plugin: message fixes
Giuseppe Bilotta [Thu, 1 Jul 2010 15:16:51 +0000 (17:16 +0200)]
poll plugin: improve poll start handling
Use the time parsing routines in utils, and compute the split at blob
parse time rather than at command recognition time.
a7x [Tue, 29 Jun 2010 02:11:58 +0000 (04:11 +0200)]
Fixed googlefight.rb regex
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.
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