NAME

WWW::Yahoo::Groups - automated access to Yahoo! Groups.

SYNOPSIS

my $y = WWW::Yahoo::Groups->new();
$y->login( $user => $pass );
$y->list( 'Jade_Pagoda' );
my $email = $y->fetch_message( 2345 );

DESCRIPTION

WWW::Yahoo::Groups is a subclass of WWW::Mechanize, overriding a few methods and supplying a few extra. As such, any method available in WWW::Mechanize is available to WWW::Yahoo::Groups, perhaps augmented with extra features.

It is recommended that you use this only if you're the moderator of a group, else you will get munged email addresses for everything. If there's sufficient demand for semi-automatic address demunging, I'll add it.

Things it does

  • Handles access restricted archives. It lets you login.

  • Handles the intermittent advertisements. It notes that it got one and progresses straight to the message.

  • Handles attachments. We get the source which happens to be the raw stuff.

  • Sanity checking. Could be improved, but it will generally barf if it doesn't understand something.

Things it is yet to do

  • Handle errors.

As these are recognised flaws, they are on the "TODO" list.

METHODS

new()

Create a new WWW::Yahoo::Groups robot.

my $y = WWW::Yahoo::Groups->new();

debug()

Enable/disable/read debugging mode.

$y->debug(0); # Disable
$y->debug(1); # Enable
warn "Debugging!" if $y->debug();

get()

Fetch a given URL.

If debug() is enabled, then it will displaying a warning showing the URL.

$y->get( 'http://groups.yahoo.com' );

Generally, you won't need to use this method.

login()

Logs the robot into the Yahoo! Groups system.

$y->login( $user => $passwd );

list()

Set/gets which list to use.

IMPORTANT: list name must be correctly cased as per how Yahoo! Groups cases it. If not, you may experience odd behaviour.

$y->list( 'Jade_Pagoda' );
my $list = $y->list();

fetch_message()

Fetches a specified message from the list's archives. Returns it as a mail message (with headers) suitable for saving into a Maildir.

my $message = $y->fetch_message( 435 );

You will probably experience problems if you retrieve messages with attachments.

fetch_rss()

Returns the RSS for the gruop's most recent messages. See XML::Filter::YahooGroups for ways to process this RSS into containing the message bodies.

my $rss = $w->fetch_rss();

THANKS

Simon Hanmer for having problems with the module, thus resulting in improved error reporting, param validation and corrected prerequisites.

Aaron Straup Cope for writing XML::Filter::YahooGroups which uses this module for retrieving message bodies to put into RSS.

Randal "Merlyn" Schwartz for pointing out some problems back in 1.4.

BUGS

Please report bugs at <bug-www-yahoo-groups@rt.cpan.org> or via the web interface at http://rt.cpan.org

AUTHOR

Iain Truskett <spoon@cpan.org>

SEE ALSO

perl, WWW::Mechanize, XML::Filter::YahooGroups