rbot
13 years agoTokyoCabinet pseudo-environment tc-pseudoenv-test
Giuseppe Bilotta [Tue, 18 Jan 2011 18:20:56 +0000 (19:20 +0100)] 
TokyoCabinet pseudo-environment

TokyoCabinet does not have an environment feature to automatically
manage databases, and in particular there is no simple way to close all
open registries on exit. While we do close main registries for all
plugins, this is not usually done for sub-registries. Rather than
shifting the chore of their management to each plugin, we set up a list
of all opened registries, updating it manually and releasing it on
shutdown.

13 years agoRuby 1.9 cleanup: variables warnings
Giuseppe Bilotta [Wed, 12 Jan 2011 21:15:12 +0000 (22:15 +0100)] 
Ruby 1.9 cleanup: variables warnings

Fix most ruby 1.9 warnings about shadowed variables (still one remaining in
keywords.rb). The only significant changes are in the quiz game plugin.

Also fix an issue in dictclient where the block parameter of a method
was not correctly isolated from the previous parameter.

13 years agoLimit Comparable inclusion to Array
Giuseppe Bilotta [Wed, 12 Jan 2011 20:25:57 +0000 (21:25 +0100)] 
Limit Comparable inclusion to Array

Including Comparable at the top level causes infinite recursions in Ruby
1.9.2

13 years agoLoad the 1.9 compatibility code earlier
Giuseppe Bilotta [Wed, 12 Jan 2011 20:06:27 +0000 (21:06 +0100)] 
Load the 1.9 compatibility code earlier

The compat19 code touches the monitor mixins which are used by the
logger which is started as soon as ircbot.rb is loaded. To make sure the
logger uses the compat code we must load compat19 before ircbot.

13 years agorss: obviously, the precending patch wasn't enough
Giuseppe Bilotta [Tue, 11 Jan 2011 14:17:02 +0000 (15:17 +0100)] 
rss: obviously, the precending patch wasn't enough

Proper support for a 'modified' element actually requires its model
to be defined and added to the RSS Atom namespace.

13 years agorss: updated can be nil
Giuseppe Bilotta [Tue, 11 Jan 2011 10:35:59 +0000 (11:35 +0100)] 
rss: updated can be nil

An Atom item can reply to updated even though its value is nil, so
check for it actually being valued instead. Also, some malformed Atom
feeds use the nonstandard 'modified' element instead, so check for that
too.

13 years agofake message: set replied on reply
Giuseppe Bilotta [Fri, 31 Dec 2010 09:20:55 +0000 (10:20 +0100)] 
fake message: set replied on reply

Although the reply method for fake messages was actually relying on the
original, we still need to set 'replied' to prevent the fake message
from being wrongly delegated to 'unreplied'.

The most obvious bug this commit fixes is the potentially infinite loop
triggered by defining a command reaction triggered by the command name
itself (e.g. reply to ping with cmd:ping).

13 years ago+ Array#delete_if_at
Giuseppe Bilotta [Sun, 12 Dec 2010 20:36:52 +0000 (21:36 +0100)] 
+ Array#delete_if_at

Allow deletion of an element from the array iff it's at a given position (or in
a given range of positions).

13 years agosmall updates for italian markov
Giuseppe Bilotta [Sat, 11 Dec 2010 16:44:07 +0000 (17:44 +0100)] 
small updates for italian markov

13 years agotime plugin: check if argument is a nick earlier
Giuseppe Bilotta [Sat, 11 Dec 2010 13:42:17 +0000 (14:42 +0100)] 
time plugin: check if argument is a nick earlier

When !time <somenick> was being used and the user <somenick> hadn't set
his or her location, the bot would wrongly assume the argument was some
timezone.

Fix by checking against local nicks first.

13 years agogeoip: blogama is dead, long live ipinfodb
Giuseppe Bilotta [Fri, 10 Dec 2010 20:46:40 +0000 (21:46 +0100)] 
geoip: blogama is dead, long live ipinfodb

Sadly, the new ipinfodb API requires an API key, and I don't know yet if
I'm allowed to redistributed it (I'm betting on no, but in case I can
it will added with an appropriate patch).

13 years agoUNO!: when the game hasn't started, it's nobody's turn
Giuseppe Bilotta [Thu, 9 Dec 2010 10:41:07 +0000 (11:41 +0100)] 
UNO!: when the game hasn't started, it's nobody's turn

13 years agoUNO!: prevent joins after a challengeable card
Giuseppe Bilotta [Thu, 9 Dec 2010 10:32:49 +0000 (11:32 +0100)] 
UNO!: prevent joins after a challengeable card

If someone joins after a challengeable W+4, he would be inserted between
the last and first player, and if there is a challenge _his_ cards would
be exposed. So prevent joining in such a situation.

13 years agoUNO!: reset must_play when changing turn
Giuseppe Bilotta [Wed, 8 Dec 2010 12:24:02 +0000 (13:24 +0100)] 
UNO!: reset must_play when changing turn

After a successful challenge, the challenged player can choose to
pick&pass instead of playing one of its allowed cards. In such a case,
the must_play array would not get reset, preventing the next player to
be able to play any of its card.

Fix by resetting must_play on next_turn rather than on set_discard.

13 years agoUNO!: early exit when checking if W+4 was legal
Giuseppe Bilotta [Wed, 8 Dec 2010 11:54:45 +0000 (12:54 +0100)] 
UNO!: early exit when checking if W+4 was legal

Exit as soon as we find a card that reveals that the W+4 was not a valid
move.

13 years agoauth module: update for messagemapper changes
Giuseppe Bilotta [Wed, 8 Dec 2010 09:47:26 +0000 (10:47 +0100)] 
auth module: update for messagemapper changes

Since commit a993d1c358e24ab85621568c10411c5496e2dea8, the message
mappers have a more rational way of reporting failures, but the auth
module was not using it, resulting in the wrong permissions being
granted/revoked whenever allow/deny was being used.

13 years agoMore gettext frozen string woes
Giuseppe Bilotta [Tue, 7 Dec 2010 22:04:53 +0000 (23:04 +0100)] 
More gettext frozen string woes

13 years agoThe mIRC color for white is 0, not 16
Giuseppe Bilotta [Tue, 7 Dec 2010 16:57:14 +0000 (17:57 +0100)] 
The mIRC color for white is 0, not 16

Default mIRC colors are 0-15, and some clients don't react too well to a
color > 15, while most wrap or default. Konversation, for example, will
stop the color command parsing and interpret it as color 1, followed by
the literal digit 6.

So use the 'official' (mIRC) value of 0 for white.

13 years agoGreet plugin: bot should not greet himself
Giuseppe Bilotta [Tue, 7 Dec 2010 08:12:04 +0000 (09:12 +0100)] 
Greet plugin: bot should not greet himself

13 years agopoll: missing choice value in reply
Giuseppe Bilotta [Tue, 30 Nov 2010 17:52:43 +0000 (18:52 +0100)] 
poll: missing choice value in reply

13 years agopoll: cope with gettext frozen string
Giuseppe Bilotta [Tue, 30 Nov 2010 17:46:06 +0000 (18:46 +0100)] 
poll: cope with gettext frozen string

Some gettext versions freeze the string they return, so dup them before
modifying them.

13 years agorss: watch handle case during rename
Giuseppe Bilotta [Thu, 25 Nov 2010 16:53:57 +0000 (17:53 +0100)] 
rss: watch handle case during rename

We allow rss handles to be of any case on creation, even though matching
is case-insentivie. However, when renaming an rss using 'rss change
handle' and only changing the case, two things prevented this from
working correctly:
* since the new downcased handle was equal to the old downcased handle,
  the bot would prevent the renaming due to the existence of the new
  handle
* the new handle was forcefully downcased, preventing the user
  from renaming handle 'case' to 'CaSe'.

Fix by checking for this case explicitly, and handling it separately.

13 years agoremind: fix presence of 'in', 'every' or 'at' in message
Giuseppe Bilotta [Thu, 25 Nov 2010 12:49:15 +0000 (13:49 +0100)] 
remind: fix presence of 'in', 'every' or 'at' in message

if 'in' was present in the message but not part of the time
specification (e.g. because the specification was with 'every' or with
'at'), the parser would fail at the first attempt (look for time after
'in') and fail unnecessarily.

Fix by trying all possibilities and only giving an error if none
succeeds.

13 years agorss plugin: don't fail when feed.last_success is nil
Giuseppe Bilotta [Thu, 18 Nov 2010 15:08:19 +0000 (16:08 +0100)] 
rss plugin: don't fail when feed.last_success is nil

The first_run check comparing the time delta from last success failed
when feed.last_success was nil. Prevent this from happening by checking
if we are on the first run before the rest of the checks.

13 years agoimdb: fix title regexp for missing second date
Giuseppe Bilotta [Tue, 9 Nov 2010 19:53:49 +0000 (20:53 +0100)] 
imdb: fix title regexp for missing second date

13 years agoUNO!: fix g9r9 fix
Giuseppe Bilotta [Mon, 8 Nov 2010 19:25:06 +0000 (20:25 +0100)] 
UNO!: fix g9r9 fix

Commit a306b2c68eb58c1c88057ff7ee78895401adb6a9 introduced a fix to
prevent a player from playing something like g9r9, but the fix actually
prevented any single-card play. Fix by making the \1 optional.

13 years agourban: fix regexp
Giuseppe Bilotta [Sun, 31 Oct 2010 11:38:42 +0000 (12:38 +0100)] 
urban: fix regexp

13 years agouno plugin: don't allow g9r9 card specification
Giuseppe Bilotta [Mon, 18 Oct 2010 22:39:13 +0000 (00:39 +0200)] 
uno plugin: don't allow g9r9 card specification

The regexp should make sure that the second card is equal to the first
specified card, instead of matching the card expression one or two
times. Otherwise, a play like 'pl g9r9' would be accepted when the
player had two r9 cards and could play them.

This is only a aesthetical change because the plays would still be
valid, albeit (1) surprising and (2) mismatching what the user actually
wrote.

13 years agotranslator: don't show provider
Raine Virta [Mon, 4 Oct 2010 16:39:50 +0000 (19:39 +0300)] 
translator: don't show provider

13 years agoimdb: restore 'character of' functionality
Giuseppe Bilotta [Thu, 14 Oct 2010 13:08:30 +0000 (15:08 +0200)] 
imdb: restore 'character of' functionality

13 years agoimdb: update to latest html
Giuseppe Bilotta [Thu, 14 Oct 2010 11:18:54 +0000 (13:18 +0200)] 
imdb: update to latest html

13 years agosearch: gcalc fix
Giuseppe Bilotta [Thu, 14 Oct 2010 09:16:02 +0000 (11:16 +0200)] 
search: gcalc fix

Google changed their HTML again, breaking gcalc. Fix by using the WAP
search and get the first result if it contains an equal sign.

13 years agosafe_exec fixes
Giuseppe Bilotta [Thu, 14 Oct 2010 08:35:26 +0000 (10:35 +0200)] 
safe_exec fixes

Some plugins (ri, fortune) wrap safe_exec in begin/rescue blocks that
did not get triggered because the exceptions from the execution were
caught in the popen block (and would never get exposed anyway). Fix this
by raising if $? does not indicate success.

13 years agodictclient: monkeypatch DICTError
Giuseppe Bilotta [Thu, 14 Oct 2010 08:15:47 +0000 (10:15 +0200)] 
dictclient: monkeypatch DICTError

The Ruby/DICT library is so tightly coupled with the rdict client that
its errors exit on initialize, instead of letting the lib user do that.
This makes those errors untrappable from the code.

Fix by monkeypatching DICTError to just act like the other exceptions in
Ruby.

13 years agoyoutube: fix detection of video pages
Giuseppe Bilotta [Tue, 12 Oct 2010 15:05:21 +0000 (17:05 +0200)] 
youtube: fix detection of video pages

13 years agoTokyoCabinet #fwmkeys() expects a string
Giuseppe Bilotta [Wed, 6 Oct 2010 18:52:29 +0000 (20:52 +0200)] 
TokyoCabinet #fwmkeys() expects a string

Convert the (optional) first argument to #each*() methods to a string to
ensure the calls work as expected. This fixes a problem with
@registry.each not working as expected, and although it would have been
sufficient to convert the default for the first argument from nil to the
empty string, the approach implemented by this patch is more robust
overall.

13 years agoTokyoCabinet: upgrade from BDB using case-insensitive tree
Giuseppe Bilotta [Wed, 6 Oct 2010 08:18:08 +0000 (10:18 +0200)] 
TokyoCabinet: upgrade from BDB using case-insensitive tree

13 years agoDBFatal at load time deserve special treatment
Giuseppe Bilotta [Mon, 4 Oct 2010 21:41:59 +0000 (23:41 +0200)] 
DBFatal at load time deserve special treatment

Don't trap them, rerise and let the bot handle them

13 years agotime plugin: properly reset TZ in on_timezone
Giuseppe Bilotta [Mon, 4 Oct 2010 19:19:23 +0000 (21:19 +0200)] 
time plugin: properly reset TZ in on_timezone

13 years agopoll: suppress warning
Giuseppe Bilotta [Mon, 4 Oct 2010 19:08:54 +0000 (21:08 +0200)] 
poll: suppress warning

13 years agocompat19: fix condition monitor waiting
Giuseppe Bilotta [Thu, 30 Sep 2010 15:30:09 +0000 (17:30 +0200)] 
compat19: fix condition monitor waiting

When timing out during a wait, return false instead of raising. This
fixes a problem with TimeoutError being raised during restarts on
ruby 1.9.x

13 years agoRevert "markov: removed unnecessary mutexes"
Giuseppe Bilotta [Thu, 30 Sep 2010 10:08:34 +0000 (12:08 +0200)] 
Revert "markov: removed unnecessary mutexes"

This reverts commit 06485aeb187dde5e81204b06c8e956e7e035c323. The mutex
is necessary because of the concurrent learning and database conversion.
Some other approach should be used instead (e.g. skipping the mutex if
not running a conversion).

13 years agoIRC framework: Server#to_s must always return a String
Giuseppe Bilotta [Wed, 29 Sep 2010 23:37:05 +0000 (01:37 +0200)] 
IRC framework: Server#to_s must always return a String

Having Server#to_s alias the hostname would cause problems when the
hostname was nil (e.g. after a disconnect). Fix by making sure that to_s
always returns a string instead.

13 years ago* more BDB leaking fixed
Giuseppe Bilotta [Wed, 29 Sep 2010 23:15:33 +0000 (01:15 +0200)] 
* more BDB leaking fixed

13 years agotwitter: fix status count
Giuseppe Bilotta [Tue, 28 Sep 2010 11:28:24 +0000 (13:28 +0200)] 
twitter: fix status count

13 years ago* wrap BDB::Fatal classes for abstract trapping
Giuseppe Bilotta [Mon, 27 Sep 2010 11:52:14 +0000 (13:52 +0200)] 
* wrap BDB::Fatal classes for abstract trapping

When using a DB backend different from BDB, the BDB constant may not be
defined, causing a NameError during error trapping in the main loop. Fix
this by defining our own DBFatal error that maps to BDB::Fatal in the
BDB case and is defined as an (unused) Exception for TokyoCabinet.

13 years agotime: support POSIX time
Giuseppe Bilotta [Mon, 27 Sep 2010 10:38:59 +0000 (12:38 +0200)] 
time: support POSIX time

13 years agoCheck BDB version only if it's loaded
Voker57 [Fri, 24 Sep 2010 06:36:31 +0000 (10:36 +0400)] 
Check BDB version only if it's loaded

13 years agoTokyoCabinet: more BDB checks
Giuseppe Bilotta [Thu, 23 Sep 2010 22:47:46 +0000 (00:47 +0200)] 
TokyoCabinet: more BDB checks

13 years agoTokyoCabinet: only warn about skipped upgrade if the old reg was found
Giuseppe Bilotta [Thu, 23 Sep 2010 20:34:08 +0000 (22:34 +0200)] 
TokyoCabinet: only warn about skipped upgrade if the old reg was found

13 years agoTokyoCabinet: fix extension in 0.9.9 upgrade path
Giuseppe Bilotta [Thu, 23 Sep 2010 20:31:19 +0000 (22:31 +0200)] 
TokyoCabinet: fix extension in 0.9.9 upgrade path

13 years agoTokyoCabinet: 0.9.5-to-0.9.9 must use BDB only
Giuseppe Bilotta [Thu, 23 Sep 2010 20:20:57 +0000 (22:20 +0200)] 
TokyoCabinet: 0.9.5-to-0.9.9 must use BDB only

When upgrading from 0.9.5 data, write the 0.9.9-style regisitry using
BDB still rather than trying to use TokyoCabinet already. This makes
sure that the next step (0.9.9 to modern times) works correctly.

(Moreover, the existing BDB-to-TC attempt wouldn't have worked anyway
due to wrong var names. I doubt anybody will ever hit this path and
notice though.)

13 years agotranslator: stricter url mapping
Raine Virta [Thu, 23 Sep 2010 13:04:15 +0000 (16:04 +0300)] 
translator: stricter url mapping

13 years agotime: be consistent with <Continent>/<City> notation
Raine Virta [Thu, 23 Sep 2010 13:01:19 +0000 (16:01 +0300)] 
time: be consistent with <Continent>/<City> notation

13 years agotranslator: url translation through google
Raine Virta [Sat, 18 Sep 2010 08:25:27 +0000 (11:25 +0300)] 
translator: url translation through google

13 years agotime: use "time zone" consistently in replies
Raine Virta [Sat, 18 Sep 2010 08:24:50 +0000 (11:24 +0300)] 
time: use "time zone" consistently in replies

13 years agolastfm: fix set user suggestion reply
Raine Virta [Sat, 18 Sep 2010 08:22:07 +0000 (11:22 +0300)] 
lastfm: fix set user suggestion reply

13 years agotime: update help
Raine Virta [Sun, 12 Sep 2010 14:15:43 +0000 (17:15 +0300)] 
time: update help

13 years agotumblr: typo in var name
Giuseppe Bilotta [Thu, 23 Sep 2010 11:55:17 +0000 (13:55 +0200)] 
tumblr: typo in var name

13 years agotumblr: support tags
Giuseppe Bilotta [Wed, 15 Sep 2010 13:45:26 +0000 (15:45 +0200)] 
tumblr: support tags

Tags are specified on the IRC line by putting them between square
brakets.

13 years agotumblr: embed Vimeo videos
Giuseppe Bilotta [Wed, 15 Sep 2010 13:26:19 +0000 (15:26 +0200)] 
tumblr: embed Vimeo videos

13 years agotumblr: adjust TODO list
Giuseppe Bilotta [Wed, 15 Sep 2010 13:01:04 +0000 (15:01 +0200)] 
tumblr: adjust TODO list

13 years agotumblr: support reblogging and fix HTML issues
Giuseppe Bilotta [Wed, 15 Sep 2010 12:09:42 +0000 (14:09 +0200)] 
tumblr: support reblogging and fix HTML issues

Detect tumblr posts and use the reblogging API to post them. Also
produce HTML-escaped lines for video and photo captions because
the format=markdown specification doesn't seem to apply to them.

13 years agotwitter: warn about failed authorization
Giuseppe Bilotta [Tue, 14 Sep 2010 22:05:23 +0000 (00:05 +0200)] 
twitter: warn about failed authorization

Fly-by whitespace cleanups too.

13 years agotwitter: report missing key/secret configuration
Giuseppe Bilotta [Tue, 14 Sep 2010 21:46:13 +0000 (23:46 +0200)] 
twitter: report missing key/secret configuration

Instead of failing (silently) when the OAuth process cannot complete due
to a missing key/secret pair, report the issue to the user.

13 years agotwitter: let user know when no status was found
Giuseppe Bilotta [Fri, 10 Sep 2010 19:08:30 +0000 (21:08 +0200)] 
twitter: let user know when no status was found

13 years agotime: calibrate to user's timezone when parsing time input
Raine Virta [Fri, 10 Sep 2010 17:04:35 +0000 (20:04 +0300)] 
time: calibrate to user's timezone when parsing time input

13 years agotime: add timestamp parser as a fallback to the default functionality
Raine Virta [Tue, 7 Sep 2010 18:00:45 +0000 (21:00 +0300)] 
time: add timestamp parser as a fallback to the default functionality

13 years agotwitter: don't fail on missing oauth
Giuseppe Bilotta [Tue, 7 Sep 2010 18:20:50 +0000 (20:20 +0200)] 
twitter: don't fail on missing oauth

When OAuth is missing, some barebone functionality in the twitter plugin
is still available (namely, status reading from public timelines), so
don't fail loading and just warn the users and admins about the reduced
availability.

13 years agotwitter: bugfix for invalid OAuth PIN Entry
NeoLobster [Mon, 6 Sep 2010 10:11:49 +0000 (05:11 -0500)] 
twitter: bugfix for invalid OAuth PIN Entry

There was a bug in "twitter pin" functionality where it didn't
check to verify that the PIN entered by the user was valid. As
a result, if the user entered an invalid PIN, the bot would
not respond as to whether or not twitter account binding was
successful. I replaced it with an error message if the PIN
is invalid. I also changed the error message for someone
who tries to enter a PIN without first using "twitter
authorize" to be more clear.

13 years agotwitter: add OAuth support
NeoLobster [Mon, 6 Sep 2010 09:35:02 +0000 (04:35 -0500)] 
twitter: add OAuth support

Module now requires twitter.key and twitter.secret config parameters for
write access and private users' statuses. Added twitter authorize,
twitter deauthorize, and twitter pin features, removed twitter identify
feature, as basic authentication is no longer supported.

13 years agorss plugin: support atom categories
Giuseppe Bilotta [Thu, 2 Sep 2010 13:31:43 +0000 (15:31 +0200)] 
rss plugin: support atom categories

Atom categories don't have a content attribute, and obviously they don't
have an empty? method. Squash them to their label rather than bombing
out with error during the blank2nil processing.

13 years agosearch: google calc can be in non-h2 headers
Giuseppe Bilotta [Wed, 1 Sep 2010 13:04:18 +0000 (15:04 +0200)] 
search: google calc can be in non-h2 headers

13 years agodigg: cleanup whitespace in title
Giuseppe Bilotta [Thu, 26 Aug 2010 15:40:37 +0000 (17:40 +0200)] 
digg: cleanup whitespace in title

13 years agodigg: new URL
Giuseppe Bilotta [Thu, 26 Aug 2010 15:36:26 +0000 (17:36 +0200)] 
digg: new URL

13 years agodigg: fix message when news could not be retrieved
Giuseppe Bilotta [Thu, 26 Aug 2010 15:34:04 +0000 (17:34 +0200)] 
digg: fix message when news could not be retrieved

13 years agohangman plugin: don't fail silently on !hangman
Giuseppe Bilotta [Tue, 24 Aug 2010 17:43:14 +0000 (19:43 +0200)] 
hangman plugin: don't fail silently on !hangman

If the random generation site failed for any reason (eg. by returning a
non-2xx page), starting a hangman game would fail silently.

Catch this case and announce the failure.

13 years agoauth: minimal help about user import/export
Giuseppe Bilotta [Tue, 24 Aug 2010 16:34:44 +0000 (18:34 +0200)] 
auth: minimal help about user import/export

13 years agoPlugin rake task: specify the path the plugin was written to
Giuseppe Bilotta [Wed, 18 Aug 2010 08:45:21 +0000 (10:45 +0200)] 
Plugin rake task: specify the path the plugin was written to

13 years agoAdd a plugin skeleton generator
Raine Virta [Thu, 22 Apr 2010 20:47:36 +0000 (23:47 +0300)] 
Add a plugin skeleton generator

`rake plugin`

13 years agoFix typo
Raine Virta [Thu, 22 Apr 2010 19:29:08 +0000 (22:29 +0300)] 
Fix typo

13 years agolastfm: require spotify plugin to be enabled for spotify link info
Raine Virta [Tue, 20 Apr 2010 17:36:25 +0000 (20:36 +0300)] 
lastfm: require spotify plugin to be enabled for spotify link info

13 years agosearch: skip non-search-results link
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.

13 years agotranslator: support both pre-1.0 and post-1.0 Mechanize namespaces
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

13 years agoUNO!: replace_player() returns whether it worked or not
Giuseppe Bilotta [Thu, 5 Aug 2010 07:43:51 +0000 (09:43 +0200)] 
UNO!: replace_player() returns whether it worked or not

13 years agoUNO!: don't replace with nonexisting players
Giuseppe Bilotta [Thu, 5 Aug 2010 07:40:50 +0000 (09:40 +0200)] 
UNO!: don't replace with nonexisting players

13 years agoUNO!: prevent a challenge after a pick after a W+4
Giuseppe Bilotta [Thu, 5 Aug 2010 07:28:22 +0000 (09:28 +0200)] 
UNO!: prevent a challenge after a pick after a W+4

13 years agohangman: fix playing with a private message
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.

13 years agohangman: IRCify HTML in definitions
Giuseppe Bilotta [Tue, 3 Aug 2010 14:47:40 +0000 (16:47 +0200)] 
hangman: IRCify HTML in definitions

13 years agohangman: ensure 'hangman define' always answers
Giuseppe Bilotta [Thu, 29 Jul 2010 12:20:48 +0000 (14:20 +0200)] 
hangman: ensure 'hangman define' always answers

13 years agoimdb: fix plot detection
Giuseppe Bilotta [Sat, 24 Jul 2010 21:29:14 +0000 (23:29 +0200)] 
imdb: fix plot detection

13 years agoimdb: fix grab_info()
Giuseppe Bilotta [Sat, 24 Jul 2010 21:11:50 +0000 (23:11 +0200)] 
imdb: fix grab_info()

13 years agogeoip: massage a few messages
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.

13 years agohangman plugin: update a couple of messages
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

13 years agofactoids plugin: more help
Giuseppe Bilotta [Sat, 10 Jul 2010 16:14:45 +0000 (18:14 +0200)] 
factoids plugin: more help

13 years agoUNO! plugin: clean join_timer when game starts
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.

13 years agoload-gettext: cope with ruby gettext 2.1.0
Giuseppe Bilotta [Mon, 5 Jul 2010 13:36:21 +0000 (15:36 +0200)] 
load-gettext: cope with ruby gettext 2.1.0

13 years agofreshmeat plugin: use XML news if possible
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.

13 years agoHTTP: only set cookies for the correct domain
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.

13 years agoHTTP: support servers that forget to escape the redirect location
Giuseppe Bilotta [Sat, 3 Jul 2010 19:26:18 +0000 (21:26 +0200)] 
HTTP: support servers that forget to escape the redirect location