2013/03/10

PHPでTwitter APIを使って簡単なボットを作成してみる

この記事では、TwitterのAPIを使って、簡単なツイートボットを作ってみようと思います。いろんな可能性を秘めたサンプルなので、ぜひ自分の環境でためしていろいろ遊んでみてください。

APIキーの入手

APIを使うには、コンシューマキーなどの取得が必要です。まだ作成していない場合は、キーの取得は、「TwitterのAPIを使用するために必要なキーを取得する手順」を参考にして Consumer Key, Consumer Secret, Access Token, Access Token Secretの4つのキーを取得してください。

PHPサンプル

PHPからTwitter APIを使うには、twitteroauth というライブラリを使うと多少楽にコーディングできます。今回はこのライブラリを使って、ボットを作成します。以下は、現在時刻をつぶやくボットのサンプルです。cronなどジョブスケジューラから起動することを想定しています。

<?php
require_once(dirname(__FILE__)."/TwitterOAuth/twitteroauth.php");

define('TWITTER_CONSUMER_KEY', '...');
define('TWITTER_CONSUMER_SECRET', '...');
define('TWITTER_ACCESS_TOKEN', '...');
define('TWITTER_ACCESS_TOKEN_SECRET', '...');

function post_status($post_body) 
{
 $to = new TwitterOAuth(
  TWITTER_CONSUMER_KEY,
  TWITTER_CONSUMER_SECRET,
  TWITTER_ACCESS_TOKEN,
  TWITTER_ACCESS_TOKEN_SECRET
  );

 $req = $to->OAuthRequest(
  "http://api.twitter.com/1.1/statuses/update.json",
  "POST",
  array("status"=>$post_body)
 );
}

post_status('Now:'.date('H:i:s'));
exit(0);

CONSUMER KEYなどは、自分で取得したものに置き換えてください。 このプログラムをcronなどで定期的に実行するよう、設定しておけば、定期的につぶやくボットの完成です。

まとめ

上記のサンプルは時間をつぶやくシンプルなものでしたが、つぶやく内容を工夫すれば面白いボットができるかもしれません。また、他のAPIなどを使って連携させるのも面白いかも知れません。

0 件のコメント:

コメントを投稿