【2016年最新②】TwitterBot用のPHP作成とCron設定方法

ここでは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

<?php
define("consumer_key", "×××××××××××××××");
define('consumer_secret', '×××××××××××××××');
define('access_token', '×××××××××××××××');
define('access_token_secret', '×××××××××××××××');
?>

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

twitterbot用のphpを作る

次にtwitter_bot.phpを作ります。

<?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 ));
?>

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

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に上げるとエラーが解消されました。

関連記事リスト

twitter_bot_00

【2016年最新】Twitter Bot用のアカウントを作成する方法
Twitterでbotやウェブサービスを作るときには開発用のアカウント...

コメントを残す

このページの先頭へ