# it throws a Net::Twitter::Lite::Error object.
# You can catch and process these exceptions by using eval blocks and testing $@
## from http://search.cpan.org/perldoc?Net::Twitter::Lite#ERROR_HANDLING
-use Net::Twitter::Lite;
+use Net::Twitter::Lite::WithAPIv1_1;
use FindBin qw($Bin);
use YAML::Tiny;
use Date::Parse qw(str2time);
}
sub login {
- # make Net::Twitter::Lite object and login
+ # make Net::Twitter::Lite::WithAPIv1_1 object and login
# param => hash object of configration
- # ret => Net::Twitter::Lite object
+ # ret => Net::Twitter::Lite::WithAPIv1_1 object
my $conf = shift @_;
- my $bot = Net::Twitter::Lite->new(
+ my $bot = Net::Twitter::Lite::WithAPIv1_1->new(
consumer_key => $conf->{consumer_key},
consumer_secret => $conf->{consumer_secret},
legacy_lists_api => 0,
+ ssl => 1,
);
$bot->access_token($conf->{access_token});
sub or_search {
# search tweets containing keywords
- # param => Net::Twitter::Lite object, ArrayRef of keywords, since_id
+ # param => Net::Twitter::Lite::WithAPIv1_1 object, ArrayRef of keywords, since_id
# ret => HashRef of status_id (timeline order is destroyed)
# or undef (none is found)
);
}
VERBOSE and warn Dumper($res);
- if ($res->{results}) {
- foreach my $tweet (@{$res->{results}}) {
+ if ($res->{statuses}) {
+ foreach my $tweet (@{$res->{statuses}}) {
my $res = $bot->show_status($tweet->{id});
VERBOSE and warn Dumper($res);
sub mentions_ids {
# return status_ids mentioned to me
- # param => Net::Twitter::Lite object, since_id
+ # param => Net::Twitter::Lite::WithAPIv1_1 object, since_id
# ret => HashRef of status_id (timeline order is destroyed)
# or undef (none is found)
warn $@->error;
if ($@->twitter_error) {
my $twitter_error = $@->twitter_error;
- if (defined $twitter_error->{errors}) {
+ if (defined $twitter_error->{errors} && ref($twitter_error->{errors})) {
foreach my $error (@{$twitter_error->{errors}}) {
warn "code => " , $error->{code}, "\n";
warn "message => ", $error->{message}, "\n";