ド素人が書く、Easybotter備忘録

ド素人が書く、Easybotter備忘録

自分で作り方を忘れないための備忘録です。あまり役には立たないかと思われます。当方はプログラミング初心者とも名乗ってはいけないレベルの完全素人なので、上級者さんは是非生ぬるい目でスルーしてください。

Amebaでブログを始めよう!
Cronとは、botを動作させるために一番重要かつやっかいな機能。

アップロードしたbot.phpのURLを直接開くと、その度にbotがリロードされ、連動しているTwitterアカウントが動作する。

これを数分おきに行うことで、botが数分ごとにリプライできるようになる。

すなわち、botはcronがなければ動きません。
いえ、自分で数分ごとにbot.phpをリロードし続けてもいいですが、ほぼ不可能ですね。


なので、大抵のbotは当然いつリプライがきても良いように、cronを使って数分おきにbot.phpをリロードしています。

定期ツイートもリプライもしていない時にもbot.phpはリロードされているので、botがTwitterに負担をかける物だと言うことは理解いただけたでしょうか。

ということで、botの乱立は程ほどに。また、需要も更新する気もすっかり無くなった放置botはサクサク消すのが宜しいかと思います。


で、肝心のcronサービスですが、日本国内で無料の物を探すのは難しいです。
海外ならFree Web Cron Servicewebcron.orgなどがありますが、あまり安定していないです。

日本でもGoogle App Engineとかあるらしいですがよく知らないので割愛。
有料のcronサービスか、レンタルサーバーについているcronが一番安定していると思います。

さくらインターネットロリポップなど。
クイッカっていう安いサーバーもありますが(しかもcronの数は無制限)サポートが期待できないので初心者にはオススメできません。


何となくCronの意味は分かっていただけたでしょうか。

しかし、Cronを用意してもまだbot.phpの設定をしていないので動きません。
次はbot.phpに戻って編集します。
サーバーに先ほど作ったファイルアップロードします


PHP5.2以上のサーバーを用意します。
無料サーバーで一般的なのは@pagesさんのようです

当方はロリポップを使用。有料サーバのほうが安定しているし、セキュリティもしっかりしているので。
自分に何かあったときも課金しなければ勝手にbotは止まるし、お金がかかるのは趣味だからこそお金かけてもいいんじゃないかという持論。(スキル不足なので無料で安定した供給ができないというのが一番の理由ですが…)


ここまで来て言うのもなんですが、ウェブサイトにアップロードの仕方がわからないという方はいくらなんでもEasybotterでbotを作るのは諦めた方が宜しいかと思います。

Easybotterはプログラミングはできなくても作れますが、最低限のサイト作成の知識がなければ作れません。
TwitterボットジェネレータやMakebotを使用することをお勧めします。


ではサイト作成は大丈夫だという方は次に進みます。




サーバーを用意したら、フォルダごとアップロードしてください。
フォルダ名はわかりやすいものに変えましょう。
Setting.phpを編集する。

まず該当ファイルを開く

$screen_name = ""; //botのid名
$consumer_key = "WtNt5W6js77caHvKyqgf6Q"; // Consumer keyの値
$consumer_secret = "h3In28YiiRxtg4PTphhPmrlJSGOCTq2oh3hslQ"; // Consumer secretの値
$access_token = ""; // Access Tokenの値
$access_token_secret = ""; // Access Token Secretの値


こんな感じになっているのでここを自分のbotの設定にする。

まずscreen_nameの""の"と"間にbotのidを入れる

そこから、Twitterに戻る
Webからみた場合、左下のほうに小さく開発者という項目があるのでクリック

すると、Developersというページに飛ぶので右上のSign inをクリックし、botのIDで入る。
右上にbotのアイコンが出ているはずなのでそこにカーソルを運び
My applicationをクリック。


まだ何もない状態なので、右側のCreate a new accountをクリック。
これでbotを動かすためのTwitter上のアプリを作ります。

Application detailsの下の項目を埋めていきます。

Name:botのツイート元(Viaともいう)になる部分
例えばtwittbotで作ったbotはtwittbot.netになっているが、ここを変えられる。
例えばキャラクターの住んでる場所など。○○村など好きな名前を入れる。
後から変更可能だけれど、他の人が使用している場合は使用不可。
最近はTwitter公式からViaが表示されなくなったので無意味になりつつもある。


Description:My applicationのページの中での説明になる部分。自分しか見ないので自分で分かりやすいものを入れておけばOK

Website: ツイート元をクリックした際に表示させるページのURLを入れる。
botアカウントのホームや説明書にリンクさせることが多いが、これも最近Viaが表示されない傾向になった上にクライアントから見た場合はクリックできなかったりもするので無意味といえば無意味。でもとりあえず何かURLを入れておく。間違っても作品の公式サイトなどを入れないように。

Callback URL:空欄でOK


以上を入力したら、Yes, I agreeにチェックを入れ、キャプチャを入力し、
Create your twitter applicationをクリックしてアプリを作成。



アプリが作成されたら、My applicationの中からアプリのページに入る。

DetailsのOAuth settingsの項目にConsumer keyとConsumer secretがあり、その右側に英数字の羅列がある。
Setting.phpのファイルを開き、その英数字の羅列を


$consumer_key = "WtNt5W6js77caHvKyqgf6Q"; // Consumer keyの値
$consumer_secret = "h3In28YiiRxtg4PTphhPmrlJSGOCTq2oh3hslQ"; // Consumer secretの値

の"と"の間に置き換える。


次にYour access tokenの項目に行く。
まだここは空欄のはずなので、下のCreate my access tokenの項目をクリック。
新しく
Access tokenとAccess token secretが作られるはずなので、その右側に出た英数字の羅列を今度は

$access_token = ""; // Access Tokenの値
$access_token_secret = ""; // Access Token Secretの値

の"と"の間に入れる。

これを件の改行コードで保存。


再びTwitterに戻ります。



My applicationsのSettingsの項目にいきます。

Application typeのAccess:をRead and writeにする。
そして一番下の青いアイコン(Update this twitter application settings)をクリックする。


以上でアプリの設定は終わり。
Botのアカウントを作る

IDを○○○_botなどにし、アイコンを用意する

Easybotter最新版をダウンロードする




phpファイルはterapadなど改行コードの指定ができるエディタで編集する(メモ帳不可)


PEARの中は一切いじらない


data.txtを開く。

これは通常の定期ツイートを登録しておくところ。
1行1文。140文字を超えるとエラーで投稿されない


保存の際はそのまま保存せず、改行コードを指定して保存を選ぶ。
文字コードは「UTF-8」改行コードは「LF」にして保存。これは毎回やる。


reply_pattern.phpを開く。
これはリプライの登録をするところ

【例】

"おはよ"=> array(
"おはよう、{name}",
"おはよう、{name}。早起きだね",
"おはよう、{name}。寝坊したの?",
),


数を増やせばランダムでリプライを返す。
上にあるものの方が出る確率が高い……ような気がする


bot.phpを編集する



//$response = $eb->autoFollow(); 自動フォロー返し
//$response = $eb->postRandom("data.txt"); 通常ツイートをランダムで行う
//$response = $eb->postRotation("data.txt","おわり"); 通常ツイートを順番に行う
//$response = $eb->reply(2,"data.txt","reply_pattern.php"); リプライをする
//$response = $eb->replyTimeline(2,"reply_pattern.php"); TL反応する


ここの使いたい機能の左側の//を消すと、使用可能になる

自動フォロー返し、リプライ、通常ツイート(ランダム)を使うなら


$response = $eb->autoFollow();
$response = $eb->postRandom("data.txt");
//$response = $eb->postRotation("data.txt","おわり");
$response = $eb->reply(2,"data.txt","reply_pattern.php");
//$response = $eb->replyTimeline(2,"reply_pattern.php");


このようになる。

通常ツイートを順番に行うのはとりあえず割愛。



次はSettingをします