PerlのNet::Twitterで、Twitter Botを作る
2011年12月15日PerlのNet::Twitterで、Twitter Botを作る
PerlからTwitterにアクセスできるNet::Twitterを利用して、Twitter Botを作成した時のメモ
【環境準備】
まず、YAML::TinyとNet::Twitterをインストールします
$ sudo su –
\# cpan
cpan> install YAML::Tiny
cpan> install Net::Twitter
【スクリプトの作成】
以下のようなスクリプトを作成します
\#!/usr/local/bin/perl -w
use strict;use Net::Twitter;
use YAML::Tiny;
use Scalar::Util ‘blessed’;my $config = (YAML::Tiny->read(‘config.yaml’))->[0];
my $nt = Net::Twitter->new(
traits => [qw/OAuth API::REST/],
consumer_key => $config->{‘consumer_key’},
consumer_secret => $config->{‘consumer_secret’},
access_token => $config->{‘token’},
access_token_secret => $config->{‘token_secret’},
);my $result = $nt->update(‘Hello, world! by bot’);
eval {
my $statuses =
$nt->friends_timeline( { count => 100 } );
for my $status (@$statuses) {
print “$status->{created_at} <$status->{user}{screen_name}> $status->{text}\n”;
}
};
if ( my $err = $@ ) {
die $@ unless blessed $err && $err->isa(‘Net::Twitter::Error’);warn "HTTP Response Code: ", $err->code, "\n", "HTTP Message......: ", $err->message, "\n", "Twitter error.....: ", $err->error, "\n";
}
【configファイルの作成】
configファイルを作成します
https://dev.twitter.com/から、appを作成後、下記のキーを取得します
$ vim config.yml
consumer_key: wwwwwwwwwwwwwwww
consumer_secret: xxxxxxxxxxxxxxxxxxxxx
token: yyyyyyyyyyyyyyyyyyyyyyyyyyyy
token_secret: zzzzzzzzzzzzzzzzzzzzzz
【実行】
perlなので、そのままアクセス権限をつければ実行可能です
chmod +x twitter.pl
または、
perl twitter.pl
【参考】
上記のコードを利用して、Twitter Botを作成しました
ref. KYO’s LOTO6 ロト6最新結果@Twitter
ref. KYO’s MINILOTO ミニロト最新結果@Twitter
【補足】
- Twitterでは、1日のツイート回数に制限がありますのでご注意ください
- 一度ツイートした内容は削除可能ですが、フォローされている方のロード済みの分は削除されません