リカちゃん電話botは位置情報付きツイートするべきだ
スポンサードリンク
ツイッターでは、リカちゃん電話botっていうのが人気みたい。
でもぬるいような気がする。
こうあるべき。
以下ソース。
Filename: location.yaml
-- lat: '24.373446' long: '124.115982' place: 石垣島フサキビーチ
Filename: twit_location
#!/usr/bin/perl use strict; use warnings; use Config::Pit; use Encode; use File::Spec; use FindBin::Real; use Net::Twitter; use utf8; use YAML; # 初期設定 my $keys = YAML::LoadFile( File::Spec->catdir( FindBin::Real::Bin(), 'consumer_keys.yaml' ) ); my $data = YAML::LoadFile( File::Spec->catdir( FindBin::Real::Bin(), 'location.yaml' ) ); my $nt = Net::Twitter->new( traits => [qw/API::REST OAuth WrapError/], consumer_key => $keys->{consumer_key}, consumer_secret => $keys->{consumer_key_secret}, ssl => 1, ); my $pit = pit_get( 'twitter.com@CLCLCL' ); $nt->access_token ( $pit->{access_token} ); $nt->access_token_secret( $pit->{access_token_secret} ); # 処理 my $arg; $arg->{status} = decode_utf8( $ARGV[0] ); if ($ARGV[1]) { if ( $ARGV[1] =~ m/^.*?(\d+)$/ ) { # 第2引数の数字部分 $arg->{in_reply_to_status_id} = $1; } if ( $arg->{in_reply_to_status_id} ne $ARGV[1] ) { # 第2引数が数字のみでなかった場合 (my $reply = $ARGV[1]) =~ s/^.*?(\w+)\/status.+$/$1/; $arg->{status} = '@'.$reply." $arg->{status}"; } } #緯度経度 $arg->{lat } = $data->{lat } if $data->{lat }; $arg->{long} = $data->{long} if $data->{long}; # 表示 print encode_utf8("$arg->{status}\n"); print 'length: ' . length($arg->{status}) . "\n"; if ( $arg->{in_reply_to_status_id} ) { print "in_reply_to: $arg->{in_reply_to_status_id}\n"; } # post my $res = $nt->update( $arg ); print $nt->http_message."\n"; exit; __END__
ほかのファイルや、使い方は、
M.C.P.C.: 実用! PerlでコマンドラインからTwitter投稿(OAuth対応)+In-Reply-To対応さらに改良版 [blog.dtpwiki.jp] 参照。
ちょっと手をかけると面白くなることってあるよね。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3309
コメントする