3.基礎編(1):手動でbotを動かしてみる

EasyBotterにはデフォルトで投稿用の設定、セリフが用意されています。
今回はまだセリフには手を加えず、基本編としてcronなしでの手動投稿をやってみたいと思います。


今回の流れは以下の通り

1. OAuth認証のためのAccess TokenとAccess Token Secretを取得する
2. setting.phpテキストエディタで編集する
3. bot.phpテキストエディタで編集する
4. ファイルをサーバーにアップロードする
5. botに手動でアクセスする その1(ランダムpost確認)
6. botに手動でアクセスする その2(自動フォロー返し確認)



1. OAuth認証のためのAccess TokenとAccess Token Secretを取得する

いきなり難しい単語が出てきましたが、早い話がOAuth認証においてアカウントを認識するためのキーとなる情報です。
パスワードの代わりになるようなものといえば分かりやすいかも知れません。

この情報はbotのアカウントでログインした状態で以下のページにアクセスすることで入手できます。
↓リンク先をご一読下さい。
http://pha22.net/twitterbot/2.0/setting.php
ページの一番下にある「OAuth認証について」のリンクをクリック→次に出てきたページの「→→→Twitter内のOAuth認証用ページ←←←」をクリックすることで
Access TokenとAccess Token Secretの項目にそれぞれテキストボックスが出てくると思います。(空欄の場合は更新をするか、先程のリンクからやり直して下さい。)
その2つボックスの中にある文字の羅列が、現在ログインしているbotアカウントのAccess TokenとAccess Token Secretになります。
この2つの羅列を丸々コピーして、適当にテキストエディタに保存しておいて下さい。次項でsetting.phpにペーストします。


2. setting.phpテキストエディタで編集する

EasyBotter2.04betaフォルダ内にある「setting.php」をテキストエディタで開いてください。
MKEditorの「開く」コマンドでは最初はdata.txtだけしか表示されない場合があります。
それはtxtファイルだけしか表示されない設定になっている状態ですので、ウィンドウ下部にある「ファイルの種類」からすべてのファイルを表示させるようにしてください。phpファイルも表示されるはずです。


以下のような表記があるかと思います。


twitterへのアクセスに必要な情報を入力します。
EasyBotterからOAuth認証twitterにアクセスするために、ID名と4つのキー情報が必要になります。
キー情報のうち2つはEasyBotter共通の情報となるので記入済みです。残りの2つのキー情報とID名がbotアカウント固有の情報となります。

というわけで、早速ID名と先程取得したAccess TokenとAccess Token Secretの文字列を該当箇所の""内にペースト、保存してください。
文字コードと改行コードに注意してください。(『文字コード:UTF-8N(BOMなし)』『改行コード:LF』)

これでsetting.phpの編集は終了です。





3. bot.phpテキストエディタで編集する

次にbot.phpテキストエディタで開きます。


//=============================
//botの動作をここに書いてください
//先頭に//がある行はコメント扱いなので実行しません。実行したい行の頭の//を削除してください。
//=============================
//$response = $eb->autoFollow();
//$response = $eb->postRandom("data.txt");
//$response = $eb->postRotation("data.txt");
//$response = $eb->reply(5,"data.txt","reply_pattern.php");
//$response = $eb->replyTimeline(5,"reply_pattern.php");

ファイル内容は結構ボリュームがありますが、とりあえず↑の部分を見てください。
ここでbotの動作パターンを設定できます。

上から順に、

○最近フォローしてきたユーザーをフォローする。(自動フォロー返し)
○data.txtの中からランダムでテキストを選んで投稿する。
○data.txtに記載されている順番でテキストを投稿する
○5分以内の@返信に対して返信する。(reply_pattern.phpに書かれたパターンに則って)
○5分以内のTL上の語句に対して返信する。(reply_pattern.phpに書かれたパターンに則って)


いずれもbot.phpがアクセスされ実行されたときに起こすアクションです。
上にも書かれている通り、文頭に//が入っているものは動作しません。//の有無で動作を取捨選択していきましょう。

まず最初はランダム投稿のみを行うことにします。
2番目のpostRandomの項目の文頭の//を削除して下さい。

ここでも文字コードに注意してください。ウィンドウ下のバーで確認できます。(普通に入力をしている分には問題はないと思いますが…)

これでbot.phpの設定も終了です。


4. ファイルをサーバーにアップロードする

EasyBotterフォルダの名前を適宜変更し(今回はとりあえずtwibot)、FTPソフトを使ってサーバーにアップロードします。
アドレスが長くなりすぎない程度に

http://〜(サーバのアドレス)〜/twitbot/bot.php

↑がbotを動作させるときにアクセスするアドレスになります。



5. botに手動でアクセスする その1(ランダムpost確認)

では実際にbotにアクセスしてみましょう。
先ほどのアドレスをバーに入力してアクセス!


Twitterへの投稿に成功しました。~~@(botのID)に投稿したメッセージ:(data.txtに書かれている文章:いろは文のどれか)


↑な感じの表示が出れば投稿成功ですヽ(∵)ノ
英文が並んでいる場合は、phpのエラーが起こっています。

文字コードと改行コードが間違っていないか?
・セリフやコメント部分以外で全角スペースが入っていないか?
・setting.phpで入力したAccess〜の値が間違っていないか?

このあたりを確認してみて下さい。
エラー文の末尾に「line〜」という表記がある場合には該当するphpファイルでエラーとなっている行を指していますので参考にして下さい。


6. botに手動でアクセスする その2(自動フォロー返し確認)

次に自動フォロー返しの動作確認をしたいと思います。
再びbot.phpを編集します。


//=============================
//botの動作をここに書いてください
//先頭に//がある行はコメント扱いなので実行しません。実行したい行の頭の//を削除してください。
//=============================
//$response = $eb->autoFollow();
$response = $eb->postRandom("data.txt");
//$response = $eb->postRotation("data.txt");
//$response = $eb->reply(5,"data.txt","reply_pattern.php");
//$response = $eb->replyTimeline(5,"reply_pattern.php");

postRandomの一つ上、autoFollowの行の文頭の//を削除して保存してください。
これでランダムpostと自動フォロー返しが機能するようになりました。

サーバーにアップロードされているtwibotフォルダをに変更を反映させます。
フォルダ内のbot.phpだけを上書きアップロードしても問題はないと思いますが、確実性、わかりやすさを優先してtwibotフォルダを一旦削除して、新規でアップロードし直してください。
(上書きを繰り返していると変更がうまく反映されない場合があるそうです。)
私は現在でも再アップロードの際はフォルダ全削除の上で行っています。


再アップロードが完了したら、動作確認に移ります。
あらかじめ別のアカウントからbotアカウントへフォローをしておいて下さい。
それでは再度手動でbotへアクセスして下さい。前回同様、ランダムpost成功のメッセージが出たと思います。
自動フォロー返しに関するメッセージは出ません。
botアカウントにアクセスして、相互フォローできているか確認して下さい。