From: mitty Date: Mon, 4 Oct 2010 12:18:30 +0000 (+0000) Subject: * change structure of return value from or_search, mentions_ids X-Git-Url: http://lab.mitty.jp/git/?a=commitdiff_plain;h=3591c0e8e160169a2808989a180955caebc714fe;p=lab.git * change structure of return value from or_search, mentions_ids git-svn-id: https://lab.mitty.jp/svn/lab/trunk/twitter@61 7d2118f6-f56c-43e7-95a2-4bb3031d96e7 --- diff --git a/twitterbot.pl b/twitterbot.pl index d93e023..249c1bc 100755 --- a/twitterbot.pl +++ b/twitterbot.pl @@ -33,31 +33,32 @@ if (! $bot->authorized) { die "$0: this client is not yet authorized.\n"; } -my %tweets; +my $tweets = {}; my $tweet; $tweet = or_search($bot, $conf->{hashtag}, $stat->{search}); if ($tweet) { - %tweets = (%tweets, %$tweet); + %$tweets = (%$tweets, %$tweet); } $tweet = mentions_ids($bot, $stat->{mention}); if ($tweet) { - %tweets = (%tweets, %$tweet); + %$tweets = (%$tweets, %$tweet); } -foreach my $id (sort keys %tweets) { - if ($tweets{$id} eq 'retweet') { +foreach my $id (sort keys %$tweets) { + # $tweets->{$id}{type} eq 'search' => found by search API + # eq 'mention' => found by mention API + if ($tweets->{$id}{type} eq 'retweet') { next; } DEBUG or sleep($conf->{sleep}); - # retweet found tweet - # $tweets->{$id} eq 'search' => found by search API - # eq 'mention' => found by mention API + + # do retweet found tweets my $res; eval { DEBUG or $res = $bot->retweet($id); - DEBUG and warn "retweet($id) => ", Dumper($tweets{$id}); + DEBUG and warn "retweet($id) => ", Dumper($tweets->{$id}); }; if ($@) { evalrescue($@); @@ -65,10 +66,10 @@ foreach my $id (sort keys %tweets) { next; } - $stat->{$tweets{$id}} = $id; + $stat->{$tweets->{$id}{type}} = $id; } -if (%tweets) { +if ($tweets) { # save last status to yaml file DEBUG or YAML::Tiny::DumpFile("$Bin/status.yml", $stat); DEBUG and warn "status.yml => ", Dumper($stat); @@ -146,10 +147,10 @@ sub or_search { foreach my $tweet (@{$res->{results}}) { my $res = $bot->show_status($tweet->{id}); if ($res->{retweeted_status}) { - $ids->{$tweet->{id}} = 'retweet'; + $ids->{$tweet->{id}}{type} = 'retweet'; } else { - $ids->{$tweet->{id}} = 'search'; + $ids->{$tweet->{id}}{type} = 'search'; } VERBOSE and warn Dumper($res); } @@ -188,7 +189,11 @@ sub mentions_ids { my $ids = {}; if ($res && @{$res}) { $ids = { - map { $_->{id} => 'mention' } @{$res} + map { + $_->{id} => { + type => 'mention', + } + } @{$res} }; }