Olaf Alders > WWW-Myspace-FriendAdder > WWW::Myspace::FriendAdder

Download:
WWW-Myspace-FriendAdder-0.16.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  1
View/Report Bugs
Module Version: 0.15   Source  

NAME ^

WWW::Myspace::FriendAdder - Interactively add friends to your Myspace account

VERSION ^

Version 0.15

WARNING ^

March 2007: Using WWW::Myspace for commenting, messaging, or adding friends will probably get your Myspace account deleted or disabled.

SYNOPSIS ^

This module gives you a little more flexibility when adding friends to your Myspace account. It is interactive and will occasionally prompt you for input. You'll have the most success when using it at the command line, but you do have the option of suppressing its reporting and interactive nature if you want to run it from a cgi script or if you just find it annoying. Hey, you've got your reasons, right? This module is an extension of Grant Grueninger's handy WWW::Myspace module.

    use WWW::Myspace;
    use WWW::Myspace::FriendAdder;

    my $myspace = WWW::Myspace->new();

    my $adder = WWW::Myspace::FriendAdder->new( $myspace );

    my @friend_ids = ('List', 'of', 'friend', 'ids');

    $adder->send_friend_requests( @friend_ids );

By default, this routine will try to add as many friends as possible until it it reaches max_count, which defaults to 50, but can be set to any number of your choosing. See below. When Myspace prompts you for user input, the routine will pause and allow you as much time as you need to fill out the Myspace form. Once you have done so, you may prompt the script to continue or to exit. Upon its exit, the script will report on its success and/or failure.

CONSTRUCTOR AND STARTUP ^

new()

Initialize and return a new WWW::Myspace::FriendAdder object. $myspace is a WWW::Myspace object.

Example

    use WWW::Myspace;

    use WWW::Myspace::FriendAdder;
    
    # see WWW::Myspace docs for more info on user/pass usage
    my $myspace = WWW::Myspace->new(); 

    my $adder = WWW::Myspace::FriendAdder->new( $myspace );
    
    # or pass some startup parameters
    my %startup_params = (
        exclude_my_friends  => 1, 
        max_count           => 25, 
        config_file         => '/path/to/config_file.cfg',
    );
    
    my $adder = WWW::Myspace::FriendAdder->new( 
        $myspace,
        \%startup_params, 
    );

    # find all of Shania Twain's friends 
    # (hey, you've got your reasons...)
    my @friend_ids = $myspace->friends_from_profile('13866406');
    
    # now, ask Shania's friends to be your friends
    $adder->send_friend_requests( @friend_ids);

Optional Parameters

send_friend_requests( @friend_ids )

This method is the main force behind this module. Pass it a list of friend_ids and it will try to add them to your friends. This method is really just a wrapper around $myspace->send_friend_requests() It adds interactivity and advanced reporting to the WWW::Myspace method. You'll get most of the info that you need printed to your terminal when you run your script from the command line. But, the script will also return a hash reference which you can use to create your own reports. The hash is keyed on response codes returned by WWW::Myspace. The value of each key is a list of friend ids which returned with that status code.

    my $report = $adder->send_friend_requests( @friend_ids );
    
    # when run at the command line, you may see something like this:
    
    $ perl add.pl 

    Beginning to process the ids...
    1)      9395579:        Failed, this person is already your friend.
(FF)
                            Sleeping for 4.95 seconds...
    2)      9373522:        Passed! Verification string received. (P)
                            Sleeping for 2.43 seconds...
    3)      9315640:        Failed, you already have a pending friend
request
                            for this person (FP)
                            Sleeping for 5.71 seconds...
    4)      9277516:        Passed! Verification string received. (P)
                            Sleeping for 1.78 seconds...
    5)      9269809:        Passed! Verification string received. (P) 
    
    Max attempts (5) reached. Exiting nicely...
    
    Final status report...
    
    ######################
    5 successful adds
    1 Failed, this person is already your friend. (FF)
    1 Failed, you already have a pending friend request for this person
(FP)
    3 Passed! Verification string received. (P)

    # %report may look something like this...
    my %{$report} = (
        'FF' => [
                    '9395579'
                ],
        'FP' => [
                    '9315640'
                ],
        'P' => [
                   '9373522',
                   '9277516',
                   '9269809'
                 ],
        );

add_to_friends( @friend_ids)

Convenience method - same as send_friend_requests.

is_band()

If a WWW::Myspace::Data object exists, returns the value of $data->is_band Otherwise, returns the value of $myspace->is_band

return_params( )

Useful for testing whether your params have been set as expected.

    my $param_ref = $adder->return_params();

get_data_object( )

Returns a valid WWW::Myspace::Data object if one can be initialized by the WWW::Myspace::FriendAdder object. This method will croak if no object can be created. This is a handy shortcut if you're using WWW::Myspace::Data in conjunction with FriendAdder.pm but don't want to go to the trouble of creating the WWW::Myspace::Data object yourself. Just remember to install WWW::Myspace::Data first.

    my $data = $adder->get_data_object();
    if ( $data ) {
        my @friends = $data->friends_from_profile(...);
    }

_report( )

Internal method. If the interactive switch is on, this will print. If it's not, well you can probably guess.

_sleep_now( )

Internal method that handles sleeping between requests.

_die_pretty( )

Internal method that deletes the Myspace object from $self and then prints $self via Data::Dumper. The Myspace object is so big, that when you get it out of the way it can be easier to debug set parameters.

    $adder->_die_pretty;

AUTHOR ^

Olaf Alders, <olaf at wundersolutions.com> inspired by the excellent code of Grant Grueninger

BUGS ^

Please report any bugs or feature requests to bug-www-myspace-friendadder at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Myspace-FriendAdder. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

NOTES ^

This module has been stable for some time. Myspace, however, is not. I've written this code to suit my own needs. If it does not suit all of yours, patches are very welcome.

HOW TO SUBMIT A PATCH ^

Please see the HOW TO SUBMIT A PATCH section of WWW::Myspace for a quick set of instructions on how to get your patch included in a coming distribution.

TO DO ^

Right now the adder won't deal with FU CAPTCHA pages. That's fine for my purposes, so if you need that functionality, please open a ticket.

SUPPORT ^

You can find documentation for this module with the perldoc command.

    perldoc WWW::Myspace::FriendAdder

You can also look for information at:

ACKNOWLEDGEMENTS ^

Many thanks to Grant Grueninger for giving birth to WWW::Myspace and for his help and advice in the development of this module.

Thanks to Jason A. Ramsey (jason AT eramsey.org) for his contribution of the sleep_on_captcha code: http://rt.cpan.org/Ticket/Display.html?id=19808

COPYRIGHT & LICENSE ^

Copyright 2006-2007 Olaf Alders, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: