Twitterbot作り 〜定期的にポストするソースを作ろう5〜

ちゃお、銀次です。
今回はServices_JSON設置から始めようとしたんですが…
ごめんなさい、Services_JSONいらんかったのでなし!



この回まで来たあなた、ついに!
手動で台詞ポストができるようになりますよ!
"定期的"は次回に予定してます。
はい、cronを触りますよ。
お楽しみに!



超初心者の銀がbotを作れた - 銀さんのbot 〜不完全〜で紹介した
「キャラクタ系Twitterbotをつくってみた初心者向けまとめ そのいち 」
を見ながら、私の記事も見ていただくと良いかな〜と思います。
元記事からのコピペ多々あります。



ん〜ではでは、始めましょう!


それではbot.php

//Service_Twitter設定
require_once "Twitter.phpまでのフルパス";
//別にフルパスじゃなくてもいいんですが、フルパスの方が確実かと思います。
$user = 'twitterのユーザ名';
$pass = 'twitterのパスワード';
$st =& new Services_Twitter($user,$pass);


if(! $st->setUpdate($post) ){
die('ERROR');
}

を加えて…の前にフルパスが!!
ついに事あるごとにアップロードしたあのfullpass.phpを使うときが来ましたよ、奥さん。
Twitter.phpまでのフルパスを調べちゃいましょう。
調べ方は簡単。


1、ブラウザからはhttp://(アドレス)以下でアクセスできます。のhttp://(アドレス)からアクセス。

2、test/ディレクトリにアクセス。

3、fullpass.phpにアクセス。出た文字がfullpass.phpまでのフルパスです。


testディレクトリにあるfullpass.phpのフルパスにおいて
/fullpass.php部分は現在
・/Twitter.php
・/bot.php
に変えることができます。
変えることによってTwitter.phpのフルパス、bot.phpのフルパスになります。
今はTwitter.phpが欲しいので、/fullpass.php部分を/Twitter.phpに変えませう。


あとinclude_once 'Twitter.phpまでのフルパス';
を先頭に入れてください。

< ?php

include_once 'Twitter.phpまでのフルパス';


$mes['rand'] = array("台詞1" , "台詞2" , "台詞3" , "台詞4");
$mes['morning'] = array("台詞1" , "台詞2" , "台詞3" , "台詞4");
$mes['night'] = array("台詞1" , "台詞2" , "台詞3" , "台詞4");


$now_g = date('G');
$now_i = date('i');
if (preg_match("/^[1-6]{0,1}$/",$now_g)){
$now_g = 'sleep';
};

switch(true){
case $now_g == 'sleep' :
$plist = array();
break;

case ($now_g == '0')&&($now_i >= '30') :
$plist = $mes['night'];
break;

case ($now_g == '7')&&($now_i <= '30') :
$plist = $mes['morning'];
break;

default :
$plist = $mes['rand'];
break;
};


if(! empty($plist)){
$key = array_rand($plist);
$post = $plist[$key];
}


//Service_Twitter設定
require_once "Twitter.phpまでのフルパス";

$user = 'twitterのユーザ名';
$pass = 'twitterのパスワード';
$st =& new Services_Twitter($user,$pass);


if(! $st->setUpdate($post) ){
die('ERROR');
}


?>


そして、Twittter.phpの23行目にConnector.phpのフルパスに書きかえる。
どうやらrequire_once の後に'が抜けているみたいなので書きくわえる。
あとTwitter.php内のvar_dump($line);を探してコメントアウトする。
コメントアウトは//でする。


つまり、

//var_dump($line);

こうすればいいのです。

※Connector.phpのフルパスは
 http://(アドレス)→testディレクトリ→Twitterディレクトリ→
 fullpass.php→/fullpass.php部分を/Connector.phpに変えたものがフルパス


ここでは
$mes['rand'] = array("台詞1" , "台詞2" , "台詞3" , "台詞4");だけを
$mes['rand'] = array("Twitterサイコー" , "Twitter最高" , "Twitterヤバイ" , "Twitterすげぇ");
に変更してみました。


それではbot.php
http://(アドレス)→testディレクトリ→bot.php
の順にアクセスして、実際に手動でポストさせましょう。


私のテスト用アカウントで実行した写真のようになったらポストするソースが完成したことになります。


bot.phpにアクセスしたとき、こうなったら駄目です。
エラーが出てるので、この場合は
bot.phpの33行目にエラーがあるよと言っているので直しましょう。

エラーがない場合、

こうなります。

で、

おぉ、ポストできてる!!


ポストできました?


次はcronの設定です。