PerlのNet::Twitterで、Twitter Botを作る

2011年12月15日 オフ 投稿者: KYO
Table of Contents

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日のツイート回数に制限がありますのでご注意ください
  • 一度ツイートした内容は削除可能ですが、フォローされている方のロード済みの分は削除されません