Net::Twitter::Lite
UbuntuにNet::Twitterがインストールできなかったから人生あきらめてNet::Twitter::Liteに乗り換え
Ubuntuのインストール系がまじ意味不明sudoとかめんどうなんでやめてください
頭の部分
#!/usr/bin/env perl use strict; use warnings; use utf8; use Net::Twitter::Lite; my $consumer_key = 'xxxxxx'; my $consumer_key_secret = 'xxxx'; my $access_token = 'xxxxx'; my $access_token_secret = 'xxxxxxxx'; my $nt = Net::Twitter::Lite->new( consumer_key => $consumer_key, consumer_secret => $consumer_key_secret, ); $nt->access_token($access_token); $nt->access_token_secret($access_token_secret);
使うであろう主要関数
# 発言 &my_post($nt,$post); sub my_post{ my $nt = $_[0]; my $post = $_[1]; eval{ $nt->update({ status =>$post }); }; } # ふぁぼり &my_fav($nt,$status_id) sub my_fav{ my $nt = $_[0]; my $fav = $_[1]; eval{ $nt->create_favorite($fav); }; } # りぷらい &my_rep($nt,$post,$status_id); sub my_rep{ my $nt = $_[0]; my $rep = $_[1]; my $rep_id = $_[2]; eval{ $nt->update({ status =>$rep, in_reply_to_status_id => $rep_id }); }; } # こーしきあーるてぃー &my_rt($nt,$status_id); sub my_rt{ my $nt = $_[0]; my $rt = $_[1]; eval{ $nt->retweet($rt); }; }
各変数の説明
$ntは自分のOAuth認証した情報がうんたら
$postは発言する内容がうんたら
$status_idは相手の発言のIDがうんたら
以上
情報をゲットする系の関数
# 自分のTLを取得($since_id_homeまで) eval{ $home = $nt->home_timeline({since_id => $since_id_home}); $since_id_home = @{$home}[0]->{'id'}; }; # 検索結果を取得($since_id_serchまで) eval{ $r = $nt->search({q => $search_term, since_id => $since_id_search}); $sr = $r->{results}; $since_id_search = @{$sr}[0]->{id}; };
具体的に使ってみる
# TLの発言に対してリプライを送る eval{ $home = $nt->home_timeline({since_id => $since_id_home}); $since_id_home = @{$home}[0]->{id}; }; foreach my $list(@{$home}){ my $txt = $list->{text}; my $id = $list->{id}; my $name = $list->{user}{screen_name}; my $rep = "@".$name." お前が死ね"; if($txt =~ /死ね/){ &my_rep($nt,$rep,$id); } } } # 検索してその発言を全てふぁぼる eval{ $r = $nt->search({q => $search_term, since_id => $since_id_search}); $sr = $r->{results}; $since_id_search = @{$sr}[0]->{id}; }; foreach my $list(@{$sr}){ my $id = $list->{id}; &my_fav($nt,$id); }
検索の時の注意
なぜか$list->{user}{screen_name};が存在しない
他の方法で出せるかもしれないけど私は知りません
参考URL:Net::Twitter::Lite
http://search.cpan.org/dist/Net-Twitter-Lite/lib/Net/Twitter/Lite.pm