X-Git-Url: http://lab.mitty.jp/git/?a=blobdiff_plain;f=twitter%2Ftwitterbot.pl;h=406ee128f4ca5a883417a86dc12db8896903dafe;hb=e1132d93be19e858e374644d81e8fc28d09e2954;hp=7da7ec8339efc4530b37b031c13bc9c624eb8251;hpb=139622cd38e1b8e9dbf9cc73f5fbc2324592f3a1;p=lab.git diff --git a/twitter/twitterbot.pl b/twitter/twitterbot.pl index 7da7ec8..406ee12 100755 --- a/twitter/twitterbot.pl +++ b/twitter/twitterbot.pl @@ -14,8 +14,9 @@ use FindBin qw($Bin); use YAML::Tiny; use Date::Parse qw(str2time); -sub VERBOSE () { $ARGV[0] eq 'verbose' }; -sub DEBUG () { VERBOSE or $ARGV[0] eq 'debug' }; +my $_execmode = $ARGV[0] || 0; +sub VERBOSE () { $_execmode eq 'verbose' }; +sub DEBUG () { VERBOSE or $_execmode eq 'debug' }; use Data::Dumper; DEBUG and warn "$0: debug mode"; @@ -35,17 +36,14 @@ if (! $bot->authorized) { } my $tweets = {}; -my $tweet; - -$tweet = or_search($bot, $conf->{hashtag}, $stat->{search}); -if ($tweet) { - %$tweets = (%$tweets, %$tweet); -} - -$tweet = mentions_ids($bot, $stat->{mention}); -if ($tweet) { - %$tweets = (%$tweets, %$tweet); -} +%$tweets = ( + %$tweets, + %{ or_search($bot, $conf->{hashtag}, $stat->{search}) } +); +%$tweets = ( + %$tweets, + %{ mentions_ids($bot, $stat->{mention}) } +); foreach my $id (sort keys %$tweets) { # $tweets->{$id}{type} eq 'search' => found by search API @@ -154,9 +152,11 @@ sub or_search { screen_name => $res->{user}{screen_name}, status_id => $res->{id}, text => $res->{text}, + user_id => $res->{user}{id}, }; if ($res->{retweeted_status}) { - $id->{type} = 'retweet'; + $id->{retweet_of} = $res->{retweeted_status}{id}; + $id->{type} = 'retweet'; } else { $id->{type} = 'search'; @@ -205,6 +205,7 @@ sub mentions_ids { status_id => $_->{id}, text => $_->{text}, type => 'mention', + user_id => $_->{user}{id}, } } @{$res} };