こんにちは、E-Haです。
PHPでTwitterで自動でつぶやいてくれるTwitterBotの作り方を紹介します。
今回は、第3回ということで実際にBotを運営していく方法について説明していきます。
前回まで
目次
つぶやく内容を決める
つぶやきの種類を増やそう
前回、作成したPHPスクリプトでは固定された内容をつぶやくだけでした。
パターンのないつぶやきは面白くないですし、何より同一の投稿を繰り返す行為はスパム扱いされてしまい、アカウントが凍結されてしまいます。
そこで、前回のコードを改良してつぶやきにパターンを与えましょう。
前回のコードです。
<?php require_once("twitteroauth/twitteroauth.php"); require_once ("developer_info.php"); $oAuth = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret); $message = '好きなメッセージ' $response = $oAuth->post('statuses/update', array('status' => $message)); var_dump($response); ?>
5行目に次のコードを追加します。
$centence=array('いろはにほへと','ちりぬるを','わかよたれそ','つねならむ','うゐのおくやまけふこえて','あさきゆめみし','ゑいもせす'); shuffle($centence); $message=$centence[0];
こうすることで、つぶやきの種類を追加することができます。
しかし、この方法はあまり良くありません。
なぜなら、新しくつぶやきの種類を追加したいときにPHPスクリプトファイルをいじる必要がありバグの原因になりやすいですし、複数のBotを運営するときに拡張性が低いので不便です。
そこで、次のように改良します。
$centence=file(tweetlist.txt); shuffle($centence); $message=$centence[0];
いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし えゐもせす
このようにすることで、tweet.txtに新しく追加したいつぶやきを書き込むだけで良くなります。
更に、複数のBotを運営する際には、tweet.txtを差し替えるだけで済むので便利です。
サーバーにPHPスクリプトファイルをアップしよう
Botを運営するにあたって、欠かすことができないのがサーバーです。
ローカル環境で自分で実行するというBot運営方法もあると思いますが、しかし、出先でもBotを操作したり編集したいものです。
サーバーにアップする
サーバーにPHPスクリプトファイルをアップするには、まずサーバーを用意する必要があります。
ロリポップ!
フレンドサーバー
などのPHPスクリプトに対応しているサーバーを借りるか、自前で用意します。
同じディレクトリに、
twitteroauth/twitteroauth.php twitteroauth/OAuth.php tweet.txt tweetBot.php
を配置すれば、Bot運営の準備は完了です。
サーバーへのアップ方法は、サーバーの指示にしたがって行ってください。
定期的にBotにつぶやかせたい
CRONを設定する
定期的にBotにつぶやきを投稿させるための方法に、CRONというものがあります。
CRONに関する設定も、サーバーによって指示があると思うので、割愛します。
CRONが使えない人は
Google script から実行する
サーバーによっては、CRONが使えなかったり登録できる数が限られていると思います。
そこで、CRONの代わりにGoogleScriptを使ってBotを定期実行しましょう。
以降の内容は、Googleアカウントを持っている前提で進めます。
Googleアカウントをお持ちでない方は、Googleでアカウントを取得してください。
Google Scriptを使うには
まず、Google Scriptにアクセスします。
画面上部のStart Scripting をクリックします。
空のプロジェクトを選択し、コード.gs内に次のコードを記述します。
function autotweet() { UrlFetchApp.fetch("PHPスクリプトのアドレス"); }
トリガーが設定されていません。今すぐ追加するにはここをクリックしてください。
というメッセージが表示されるので、それをクリックすると今追加したautotweet()をいつ実行するか選択できます。
トリガーの登録が完了すれば、Google Scriptの操作は完了です。
終わりに
以上で、TwitterBotに予め決めておいた、いくつかのパターンのつぶやきを自動で投稿できる仕組みが完成しました。
投稿頻度を高頻度にしてしまうとエラーが発生することがあります。
マナーやモラルを守って楽しいTwitterBot運用をしましょう!
次回は、自動フォロー返しの行い方について説明する予定です。