Easybotterでbotを作ってみる(手動編)
Easybotterでbotを作ってみる(手動編)
えー・・・バカなことをはじめました。
bot?なんのこと?ってお思いの方に一言説明。
botというのはtwitter内に存在するロボットみたいなもので、自動でつぶやいたり、返信したりするものです。
これまでいくつかのbotを作ってきたのですが・・・。
ちなみに、こちらにお世話になっていました(今もお世話になってます。
こちら、基本的なサービスは無料なのですが、
TL反応と言って、タイムライン(フォローしている人たちのつぶやきが流れているのをそう呼びます)ででてきた単語を反応させるのには、別料金がかかるんです。
月525円を高いととるか、安いととるか・・・。
反応はとてもよくて気に入っていたのですが、改造したい心がむくむくと・・・。
別の方法でも、botを作ることはできるんです。
え、どうやってって?
それは、プログラミング言語を学んでいるひとなら、自作で、それ以外のひとには、オープンソースがいくつか公開されていまして、わたしはEasybotterというのをお借りしました。
こちらのサイトさんからダウンロードできます。
こちらの非公式wikiなどを参照に・・・。
http://www26.atwiki.jp/easybotter_wiki/
まあ、それで、何から何まで初めてだったんで、おそるおそるダウンロード。
手順はこうです(最初のほうの順番はどれからでもいいです)。
2.phpファイルをアップするためのツールを用意。
どこからかphpに対応しているサーバー(とりあえず無料というなら、@pagesさんとか。わたしはいまロリポップさんを使ってます)を借りてきて、登録。そこにアップするためにFFFTPなどのソフト、ファイルに書き込むための編集ソフト(Terapad)などを用意。
3.twitterでOAuth認証。
OAuth認証の説明は長いので、省略。要は、ここに常にアクセスすることで、ツイッターから発言できるってことなんでしょうが。
twitterのアカウントでツイッターにログインした状態で、
https://dev.twitter.com/apps
に接続します。
easybotterサイト内の
https://twitter.com/oauth/authenticate?oauth_token=itY6EheciiYfPBvhPWdYfi871eIT6z9STNLX6BA
へ飛んでもいいと思います(わたしはこちらではなぜかうまくできませんでした)。
もしtwitterbotのほうで課金システムをやっていた方やすでにOAuth認証をしたことがある方はそちらももちろん使えます(すでに上のデベロッパーに接続したことがあるなら、一旦取得したアプリケーションはまた表示されているはずです)。
アプリケーションを作ります。
発信先(Application Name)を好きな名前に変えることができるからいいですよね。手順を見ながらやれば難しくないはずです。
Default Access type にだけ注意。こちらはRead&Writeにしておいてくださいね。そうじゃないとつぶやけないそうなので。
Application Nameは後から変更も可能です。
とにかく、ここで認証した4つのキーが必要になります。
consumer_key
consumer_secret
access_token
access_token_secret
4.先のeasybotterファイルをダウンロード&セッティング
マニュアルを見ながら、setting.phpのところにキーをいれる。
これをsetting.phpというファイルの中の情報を入れる欄に入れ込んでやります。デフォルトで入ってるのは消してくださいね。
//設定
$screen_name = ""; //botのid名
$consumer_key = "WtNt5W6js77cFHvKyVgf6Q"; // Consumer keyの値
$consumer_secret = "h3In28YiiRxtg4PTpkhPmrlJSGOCTG2oh3hslQ"; // Consumer secretの値
$access_token = ""; // Access Tokenの値
$access_token_secret = ""; // Access Token Secretの値
こんなふうになってるので。
""の中に値を入れ込みます。botのid名も忘れずに!
その際、文字コードはUTF-8、改行コードはLFがいいと思います。Terapadなら改行を指定して保存というコマンドで毎回保存してくださいね。
UTF-8Nというのもありますが、8にしておいたほうが無難です、多分。
次に、easybotter.php関連。
最近のAPIに変更していないそうなので、接続するアドレスを最新のものにします。
replace.phpというファイルを作って、
というスクリプトを入れ込んでやるか、自分で中身を変更しても。
☆先頭の括弧がみえないかもしれませんが(わたしのブラウザではみえないんです^^;、半角の山かっこ、はてなの記号、phpと打ってください。
https://twitter.com/statuses/update.xml
↓
http://api.twitter.com/1/statuses/update.xml
http://twitter.com/statuses/friends_timeline.xml
↓
http://api.twitter.com/1/statuses/friends_timeline.xml
http://twitter.com/statuses/replies.xml
↓
http://api.twitter.com/1/statuses/mentions.xml
http://twitter.com/statuses/friends.xml
↓
http://api.twitter.com/1/statuses/friends.xml
http://twitter.com/statuses/followers.xml
↓
http://api.twitter.com/1/statuses/followers.xml
http://twitter.com/friendships/create/".$screen_name.".xml
↓
http://api.twitter.com/1/friendships/create/".$screen_name.".xml
スクリプトの下のほうにあるので、それを変えればオッケーです。
わたしはこわいので、両方やりました(どんだけ)。
5.サーバーにアップロード
すべてのファイルをアップロードします。全部ファイルのかたちそのままにアップしてください。
twitbot
┣ PEARフォルダ(中身も全部)
┣ bot.php
┣ data.txt
┣ EasyBotter.php
┣ log.dat
┣ reply_pattern.php
┗ setting.php
このかたちのままアップしてください。
FFFTPならフォルダごと全部一度にアップできるので楽ですね。
パーミッションに注意してくださいね。
.txtのものは666と言われていますが、要はサーバーによって異なるようなので、サーバーさんのおっしゃる通りがよろしいかと。
6.手動動作確認
そうしたら、今度はそのサーバーにアクセスします。
サーバーのアドレスの後に、任意のファイル名/bot.phpをいれて、ブラウザでアクセスしてみてください。
成功していれば、真っ白か、「2分以内に受け取った@はないようです。」がでるはずです。それでオッケーです。
ここまでの手順は、数十回やったので、(どんだけ)多分ここまでの手順はオッケーだと思います。
そこからがね・・・ここから今度はcronというもので自動につぶやけるシステムに改造します。
ここからが本当のbot奮闘記です。
続きはまた。