Twitter APIからbotを作るヒント(結構昔の…)

かなり前に試してみたTwitter APIからbotを作るソースコード。今はもっとシンプル。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>twitter API サンプル</title>
</head>
<body>
<h1>twitter API サンプル</h1>
<?php
//ユーザーIDとパスワードを設定
$email = "登録したメールアドレス";
$password = "登録したパスワード";
//Twitter APIのメソッドURLを設定
//$host = "http://twitter.com/statuses/replies.xml";    //返信一覧
//$host = "http://twitter.com/statuses/friends_timeline.xml";   //フレンドの発言一覧
$host = "http://twitter.com/statuses/public_timeline.xml";      //公開つぶやき一覧
//$host = "http://twitter.com/statuses/user_timeline.xml";      //ユーザーの発言一覧
//since(日時オプション)を設定する。形式は「Sun, 7 May 2017 00:00:00 GMT」の形
$host .= "?since=".urlencode(date('D, d M Y G:i:s GMT', strtotime('-10 day')));
//cURLセッションを初期化
$ch = curl_init();
//APIでテストをしたいときは、以下のコメントアウト部分を解除
//$host = "http://twitter.com/statuses/update.xml";
//$host .= "&status=".urlencode("API経由で書き込みテスト");
//curl_setopt($ch, CURLOPT_POST, TRUE);
//オプション設定
curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERPWD, "$email:$password");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
//cURLセッションを実行
$result = curl_exec($ch);
//cURLリソースを閉じ、システムリソースを解放
curl_close($ch);
//XML文字列をオブジェクトに代入 
$XML = simplexml_load_string($result);
//statusの数だけ繰り返す
foreach ($XML->status as $status){
//名前と発言内容を表示
echo "<b>".$status->user->screen_name."</b> : ".$status->text."<hr>\n";
}
?>
<p>powerd by <a href="http://apiwiki.twitter.com/">Twitter API</a></p>
</body>
</html>

php curlでbotを作る(参照➡http://php.net/manual/ja/book.curl.php)

<?php
$username = "ユーザー名";
$password = "パスワード";
//参考URLのRSSを取得
$host = "http://twitter.com/statuses/user_timeline/rss";
//--------
////cURLセッションを初期化する
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
//////cURLセッションを実行する
$result = curl_exec($ch);
////
//////cURLリソースを閉じ、システムリソースを解放する
curl_close($ch);
//XML文字列をオブジェクトに代入する 
$XML = simplexml_load_string($result);
//得られたxmlデータをごにょごにょ
//参考URLのRSSの発言はカンマで区切られた単語なので、それをランダムに抽出
//それをまたランダムなテンプレートにはめ込みます。
//ポスト部分
//ポストは関数を使います
tweet($massage ,$username,$password);
function tweet($massage ,$username,$password)
{
$massage =urlencode($massage);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://twitter.com/statuses/update.xml');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "status=$massage ");
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
$buffer = curl_exec($ch);
curl_close($ch);
}
?>

 
参照:Twitter Developers➡https://dev.twitter.com/index

こういう感じで、皆さんが楽しんで活用しているSNSのデータが蓄積されて、botが作られます。人工知能(artificial intelligence/AI)もベースの考え方はざっくりと言えば同じ。肝心なものは、ビッグデータ(bigdata)。

コメントを残す