pha::home

EasyBotter - プログラミングができなくても作れるTwitter botの作り方

PHPで作ったTwitter Botスクリプト「EasyBotter」を公開しています。

作成:@pha

+


ファイルの構成と編集の仕方

スポンサード リンク

ファイルの構成

ダウンロードしたzipファイルを解凍するとフォルダの中身は以下のようになっていると思います。

 form.php  (botの動作には関係ないです。botを手動で発言させたいときに使ってください)
 post_random.php   (用意した文章をランダムな順番で投稿させたいときに使う)
 post_rotation.php (用意した文章を決まった順番で投稿させたいときに使う)
 readme.txt       (説明文です)
 reply_pattern.php     (特定の単語を発言されると特定の文章を返す機能を使うときに使います)
 reply_random.php     (@を貰うと用意した文章をランダムに返したいときに使う)
 /Services(フォルダ)(このフォルダの中は触らなくていいです)
 tw.txt       (発言させたい文章を書き込むファイル)

このスクリプトはPHPライセンスで配布されているServices_TwitterおよびJsphonを使用しています。便利なスクリプトを作って公開してくれた方に感謝。

なお、ここに組み込んであるService_Twitterは上のURLで配布されているものから少しいじってあります。ですので上のURLからダウンロードしたものを使ってもうまく動かないのでご注意ください。

ファイルを編集するエディタの設定(重要)

文字コードと改行コードを設定できるエディタを使って、文字コードはUTF-8、改行コードはLFに設定してください。

どのファイルを編集すればいいか

全てのファイルを編集する必要はなく、基本的には2つのファイルを編集するだけでいいです。ちょっと上で3パターンのbotの種類を説明しましたが

  1. 用意した文章をランダムな順番で投稿するbot(例:@takuboku
  2. 用意した文章を決まった順番で投稿するbot(例:@hrdaya
  3. 誰かに@を貰うと用意した文章をランダムに返すbot(例:@tarot3

どのタイプのbotを作るかによって編集するファイルが違います。

用意した文章をランダムな順番で投稿するbotの場合

tw.txt
post_random.php

の2つを編集してください。

名言botのようなものは大体このファイルを使えば作れます。

作れるbotの例: @meigenbot, @moomin_valley, @TakadaJunji, @DruckerBOT, @takubokuなど

用意した文章を決まった順番で投稿するbotの場合

tw.txt
post_rotation.php

の2つを編集してください。

小説や詩などの文章を少しずつ順番に配信したいときや、同じフレーズを何度も繰り返し順番に唱えさせたいときなどに使うといいと思います。

作れるbotの例: @hrdaya, @gyokuon, @nenpyou_jpなど

誰かに@を貰うと用意した文章をランダムに返すbotの場合

tw.txt
reply_random.php
reply_random.php(特定の単語に反応する機能を使うときのみ)

の2つを編集してください。

作れるbotの例: @tarot3, @runedraw, @tarotmachinalis, @tentori_, @kitakata_kenzoなど

tw.txtの編集の仕方

どのタイプのbotを作るときも共通して使う、発言させたい言葉を保存するファイルです。

Twitterで投稿させたい文章を、一行ずつ分けて書き込んで保存してください。

最初はダミーとして「いろは歌」が書き込んであります。

いろはにほへと ちりぬるを
わかよたれそ つねならむ
うゐのおくやま けふこえて
あさきゆめみし ゑひもせす
ん

post_random.phpの編集の仕方

一番上の「設定」部分に、Twitter botのユーザー名とパスワードを書き込んで保存して下さい。書き換える部分は青字で示しています。

//====================================================================
//設定
//====================================================================

$username = "Twitterのユーザー名";   //Twitterのユーザー名を書き込んでください
$password = "Twitterのパスワード";    //Twitterのパスワードを書き込んでください   
$file = "tw.txt";       //発言を書き込んだファイルの名前(変更可能)

post_rotation.phpの編集の仕方

一番上の「設定」部分に、Twitter botのユーザー名とパスワードと、エンドレスにループさせたくない場合は一番最後の発言を書き込んでください。書き換える部分は青字で示しています。

//====================================================================
//設定
//====================================================================

$username = "Twitterのユーザー名";   //Twitterのユーザー名を書き込んでください
$password = "Twitterのパスワード";    //Twitterのパスワードを書き込んでください   
$file = "tw.txt";       //発言を書き込んだファイルの名前(変更可能)。サーバーにアップロードしたらパーミッションを666に設定してください。  
$end = "一番最後に発言させたい文章をここに書く"; //投稿をエンドレスにループさせたくない場合、一番最後の発言を書き込んでください。設定しないと(「$end ="";」にした場合)エンドレスにループします。

reply_random.phpの編集の仕方

一番上の「設定」の部分に、Twitter botのユーザー名とパスワードと、cronの実行間隔(後述)を書き込んで保存して下さい。書き換える部分は青字で示しています。

//====================================================================
//設定
//====================================================================

$username = "Twitterのユーザー名";   //Twitterのユーザー名を書き込んでください
$password = "Twitterのパスワード";    //Twitterのパスワードを書き込んでください   
$file = "tw.txt";       //発言を書き込んだファイルの名前(変更可能)
$cron = 5;  //cronなどでこのreply.phpをcronなどで実行する間隔を入力してください。単位は分です。

仕組みとしては、$cron=5; に設定した場合、5分ごとに、5分前までのreplyを取得するという処理を行っています。

なお、このタイプのbotを作る時は、cronは最低でも5分間隔、できれば2分間隔くらいに設定するのが望ましいです。 間隔が空くと、それだけbotから返事が返ってくるのが遅くなるということなので。

スポンサード リンク