twitter_oauth_01

ここではTwitterBot用のPHP作成とつぶやく内容のリスト作成、ツイートを自動投稿するためのサーバーでのCron設定方法をご紹介します。

※Twitterbot用アカウント作成方法については【2016年最新】Twitter Bot用のアカウントを作成する方法をごらんください。

TwitterBotを動かすPHPファイルを作成する

twitter_oauth_01

まず、こちらのページ(GitHub)からtwitteroauthプログラムファイルをダウンロードしてください。
右の「Download ZIP」をクリックします。

Zipファイルを解凍すると「twitteroauth-master」というフォルダができますので、フォルダ名を「twitteroauth」にリネイムします。

次からPHPファイルを作っていきます。

tokenを入力するconfig.phpを作成する

config_php
[html]<?php
define("consumer_key", "×××××××××××××××");
define(‘consumer_secret’, ‘×××××××××××××××’);
define(‘access_token’, ‘×××××××××××××××’);
define(‘access_token_secret’, ‘×××××××××××××××’);
?>[/html]

まずconfig.phpファイルを作ります。
ここにTwitterdeveloperアカウントで作ったtoken4つを入力します。

twitterbot用のphpを作る

次にtwitter_bot.phpを作ります。

[html]
<?php
require_once(‘twitteroauth/autoload.php’);
require_once(‘twitteroauth/src/TwitterOAuth.php’);
require_once(dirname(__FILE__) . ‘/config.php’);
use Abraham\TwitterOAuth\TwitterOAuth;

// ファイルの行をランダムに抽出
$filelist = file(‘list.txt’);
if( shuffle($filelist) ){
$message = $filelist[0];
}

// つぶやく
$connection = new TwitterOAuth(consumer_key, consumer_secret, access_token, access_token_secret);
$request = $connection->post("statuses/update", array("status"=> $message ));
?>
[/html]

つぶやく内容のリストを作成する

list

最後につぶやく内容のリスト(list.txt)を作ります。
※リストは10個程度作ってテストしてみましょう。

twitter_bot_file

ファイルとフォルダの階層はこのようになっています。
downloadしたフォルダの上の階層に、config.php,twitter_bot.php,list.txtを作っています。

これで準備は完了です。

ちゃんとつぶやけるかどうか、ローカルホストでtwitter_bot.phpにアクセスしてみてください。
Twitterアカウントにツイートが反映されているようでしたら、大丈夫です。

TwitterBotをCronで自動投稿させる方法

最後は自動でツイートするためのCron設定です。
まず、先ほど使ったフォルダとファイルを、使っているサーバーにアップロードします。

xserver_cron_01

次にサーバーにログインし「Cron設定」をクリックします。

xserver_cron_02

「Cronの追加」のタブをクリックし、プログラムを実行する時間と、実行するファイルの設定をします。
今回の例ですと、11時10分と15時10分に自動ツイートする設定になっています。

毎分、毎時間などを設定するときは「*」を入力します。

コマンドは実行するPHPファイルを指定します。

エックスサーバーの実行コマンド:
/usr/bin/php5.6 /home/××××××××/sample.net/public_html/bot/twitter_bot.php

××××××××がアカウント名で、sample.netがドメインの場合

サクラサーバーの実行コマンド:
cd /home/sample/www/bot/; /usr/local/bin/php twitter_bot.php

アカウントがsampleで、botがwwwの下層フォルダ、botフォルダの中にtwitter_bot.phpがある場合

パーミッションの設定

最後にアップロードしたファイルのパーミッションの設定をしておきます。
エックスサーバーのPHPパーミッション設定より

twitter_bot.php・・・644
config.php・・・644
autoload.php・・・644
TwitterOAuth.php・・・644
list.txt・・・600

エックスサーバーで500エラーが出る場合

エックスサーバーでツイッターbot.phpにアクセスすると500エラーがでる場合があります。
この場合、原因はPHPのバージョンが低い可能性があります。

PHP Parse error:  syntax error, unexpected '[' in /home/sample/sample.net/public_html/bot/twitteroauth/src/TwitterOAuth.php on line 129

xサーバーのホスティングサービスにログインしてエラーログを確認したところ、上記のようなエラーが出ていました。

私の場合、PHPのバージョンを5.3から5.6に上げるとエラーが解消されました。