Posted by : Izumikawa Fukumi 2013年6月19日水曜日

最近人気のBot色々なSNSに活躍していますよね?
Google+やTwitterなどその他色々なサイトで活躍し、人々の生活をユニークにしてくれています。

そこで、今回初心者からでも作れるTwitterBotの作り方を優しく・簡単に説明いたします。
理解出来ない場合や難しくて話についていけない場合は分らない部分をコメントに書いて下さい。
自分も分かる限りご説明させていただきます。

※注※
記事情報が古かったりした場合は、コメントにてお知らせ下さい。
最新の情報に更新いたします。






さて、さっそく手順をご紹介します。

  1. 既に配布されているファイルをダウンロードする
  2. TwitterアカウントまたはBot用アカウントを作成する
  3. 編集ソフトを入手する(既にPHPの環境が整っている方はスキップして下さい。)
  4. ファイルの編集へとりかかる
  5. 編集後のファイルをFTPでサーバーにアップロードする
  6. パーミッションの設定をして完了(*´∀`*)

上記の手順でご説明させていただきます。

使用するソフトは、下記の物になります。

  • FFFTP
  • Microsoft WebMatrix
FFFTPは、ファイルをサーバーへアップロードする為に使うソフトです。
Microsoft WebMatrixは、ダウンロードしたファイルを編集する為のソフトです。





既に配布されているファイルをダウンロードする。

今回使うファイルは、既に基礎が作られているファイルです。
1から作るとなると膨大な知識と時間が掛かるので簡単に作る為、
で配布されている物を使用します。

この記事では基本的な事しか教えないので、カスタマイズしたい場合は本家を参考にして下さい。
本家の説明では専門の知識がある程度ないと難しい内容になる為ここでは、
ゆる~く説明していきます。


以下のリンクをクリックしてファイルをダウンロードしてください。


ダウンロードが完了したら展開ソフトまたは普通に展開して下さい。
確かWindows7の場合だとフォルダーの上の部分に展開とあったはずです。



展開が完了したら次のステップへ進みます。



Twitterアカウントを作成しよう♪

Twitterアカウントにまず登録して下さい。
またはBot用アカウントを作成しましょう

僕の場合Bot用アカウントを作るのではなく自分のアカウントにBotを付けました。
どんな風にBotを使うかによりますが、

ブログ更新通知Bot などは自分のアカウントでいいと思います。
天気予報や時間お知らせBotなどは、違うアカウントを使用した方がいいと思います。



アカウントの作成・設定が完了したらBotがTwitterアカウントへアクセス出来る様にしてなくては、
Twitterトップページへ行きサイドの一番下の開発者をクリックして下さい。




この開発者のリンクをクリックすると英語のページに飛ばされるのですが、
なんとか翻訳して手順に進んで下さい。

僕の場合Google Chromeで自動翻訳してくれるのでスムーズに進む事が出来ます。
Google Chromeが欲しいなら検索してインストールして下さい。
他のブラウザーでも拡張機能を付けたら翻訳してくれます。




○で囲まれている所をクリックしてBotを使うTwitterアカウントでログインしましょう。





ログインしたら真ん中の種目を選択して自分のアプリケーションを作りましょう。
もっと簡単な方法があるのですが、この際自分のアプリケーションとして作りましょう。

Create new application(新しいアプリケーションを作成します。)」のボタンをクリック!!


次は、アプリケーション情報を入力するのですが、英語表記の方の為翻訳版
画像ょ用意したので画像を見ながら、種目を入力して下さい。

画像は、クリックしたら拡大します。



最後にTwitterアプリケーションを作成しますボタンをクリックして作成して下さい。






上の画像の様にTwitterアプリケーションが作成され、表示されます。
作ったアプリケーションをクリックして開いて下さい。

OAutntool(OAutnツール)」をクリックして[Request Settings(リクエスト設定)]を、
GETで設定を更新して下さい。


次はTwitterへやっとBotがアクセス出来る様コードを入手しましょう。
このコードが無いと貴方のアカウントへアクセス出来ず、Botの役目を果たしてくれません。





赤の部分に書かれているコードをメモ帳などでメモしておきます。
この取得したコードは共有したら人に見せてはいけません。
もし貴方のコードが誰かに知られてしまったら悪用されるからです。

万が一の為コードも再発行出来ます。


これでTwitterの方での設定は以上です。



編集ソフトをダウンロードしよう♪

今回使用するソフトは「Microsoft WebMatrix」です。
このソフトはHTML/CSS/JavaScript/PHP/SQLなどwebに欠かせない物を、
全て備えて対応しています。

Botは、phpなので、phpを編集すると言う事になるのですが、安心して下さい。
普通の場合pc自体にphpをインストールする必要がありますが、Microsoft WebMatrixでは、
そんな面倒な事は不要です。Microsoft WebMatrixをインストールすれば、

SQLやphpの実行も可能です。

Microsoftは、なんていい物を開発してしまったんだろうwww

では早速ダウンロードしましょう!!

以下のサイトでダウンロードが出来ます。

インストール方法は簡単なので省略させていただきます。


ファイルの編集へ取り掛かる


「サイトとしてのフォルダー」を選択して先ぼどダウンロードしたBotフォルダーを展開し、開きます。

フォルダーを開いたら「setting.php」と「bot.php」と「data.txt」ファイルを開きます。


bot.php編集

//=============================
//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");


/*
//===================================================
//EasyBotter 簡易マニュアル
//===================================================
////ここから下は作者による解説です。
////cronなどでこのbot.phpを実行するわけですが、動作の指定の仕方はこんな感じです。

//用意したデータをランダムにポストしたい
$response = $eb->postRandom("データを書き込んだファイル名"); 

//用意したデータを順番にポストしたい
$response = $eb->postRotation("データを書き込んだファイル名"); 

//@で話しかけられたときにリプライしたい
$response = $eb->reply(cronで実行する間隔(単位:分), "データを書き込んだファイル名", "パターン反応を書き込んだファイル名"); 

//タイムラインの単語に反応してリプライしたい
$response = $eb->replyTimeline(cronで実行する間隔(単位:分),"パターン反応を書き込んだファイル名"); 

//自動でフォロー返ししたい
$response = $eb->autoFollow();


bot.phpには上記のようなソースがあります。
「ソースとはプログラマーの専門用語でプログラムコードの事をソースと言います」

このソースは全てコメント扱いになっている為実際に動作しません。
「コメントとは複雑なソースの時分かりやすくする為のメモの様な物です。」

コメントを外せばそのプログラムは実行します。
基本的ににコメントは"//"の後に続く物がコメントとなります。
他にも"/*~*/"の間がコメントになる様になります。

このプログラムでは//が使われているので//を外せばコメントではなくプログラムとして、
実行されます。


//=============================
//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");


この部分を主に編集します。


コメント付いている状態の例...
//$response = $eb->postRandom("data.txt"); 


コメントを外した時の例...
$response = $eb->postRandom("data.txt"); 


この部分では必要に応じてコメントを外せばいいです。
ソースに書かれている汎用マニュアルを参考にして使いたい物は//(コメント)を外して下さい。

/*
//===================================================
//EasyBotter 簡易マニュアル
//===================================================
////ここから下は作者による解説です。
////cronなどでこのbot.phpを実行するわけですが、動作の指定の仕方はこんな感じです。

//用意したデータをランダムにポストしたい
$response = $eb->postRandom("データを書き込んだファイル名"); 

//用意したデータを順番にポストしたい
$response = $eb->postRotation("データを書き込んだファイル名"); 

//@で話しかけられたときにリプライしたい
$response = $eb->reply(cronで実行する間隔(単位:分), "データを書き込んだファイル名", "パターン反応を書き込んだファイル名"); 

//タイムラインの単語に反応してリプライしたい
$response = $eb->replyTimeline(cronで実行する間隔(単位:分),"パターン反応を書き込んだファイル名"); 

//自動でフォロー返ししたい
$response = $eb->autoFollow();


僕の場合は、設定したデータをランダムに投稿と自動フォローの機能を付けます。

//=============================
//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");

これだけで十分です。

data.txt編集

data.txtでは、ついっとする文を書きます。
単純に1行で1つのついっとになります。


gdぽよ~
暇なう!
アニメでも見よう!!


これは、3行書き込んでいるんで、3パターンの投稿と言う事になります。
投稿の種類は無限に増やす事が出来ます。

僕の場合bot.phpの設定でランダムに投稿となるので、この3種類から1つランダムに投稿します。


setting.php編集

setting.phpではTwitterでアプリケーションを作成しましたよね?
その時に取得したコードを書くだけです。


<?php
//設定
$screen_name = "aqua2117822"; //botのid名
$consumer_key = "#"; // Consumer keyの値
$consumer_secret = "#"; // Consumer secretの値
$access_token = "#"; // Access Tokenの値
$access_token_secret = "#"; // Access Token Secretの値

//高度な設定
$replyLoopLimit = 3; //リプライのループを防ぐための設定です。大体3回くらいで会話が止まります(多分……)
$footer = " [泉川のメイドちゃん]"; //ここにフッターを設定すると発言するときいつも末尾に追加されます
$dataSeparator = "\n"; //data.txtの区切り文字です。改行が無視されるときはここに,(コンマ)などを設定してそれで区切ってください

コメントで説明しているので分かりますよね?
値とは取得したコードの事です。

#の部分に取得したコードに置き換えて下さい。

//botのidとはアカウントIDの事です。
//高度な設定で、$footer = " [泉川のメイドちゃん]"; 
は、ついっとの最後尾に表示される文字です。
@Botなどつけるといいかもしれのせんねw自由です。

最後のソフトに上の部分にフロッピーディスク3枚のアイコンがあるのでクリックして、
実行を押して、ブラウザーが開き投稿された事を確認したら完了です。
上書き保存してソフトを閉じます。



FTPでアップロードしてパーミッションを設定しよう

さて作業も後半になりました。

まずFTPでアップロードするにはアップロード先のサーバーを用意する必要があります。
世の中にサーバーは何万個もあるので、説明は出来ないですが、
サーバーには条件が必要です。

最低でもphpが動作するサーバーを選んで下さい。
phpが動作しないと言う事は、botは動かないと言う事です。

お勧めは「未来サーバー」です。
このサーバーは海外サーバーですが、無料で広告なしでphpが動作する環境なので、
有料でも日本のサーバーより金額が安くてビックリします。

日本のサーバーで王道と言えばロリポップとかでしょうか?
そのへんはご自分で調べて自分に会うサーバーを見つけるといいです。


さてFTPをダウンロードしましょう。

以下のサイトでダウンロード可能です。


インストール方や設定方法は省略させていただきます。
でも簡単なので大丈夫です。


FTPで接続出来たら、編集したフォルダーごとドラッグ&ドロップでアップロードしましょう。
アップロードしたら自分の分かりやすいフォルダーに変更していいです。

さてパーミッションを設定しましょう。

パーミッションを変更するのは3個です。


赤い枠に囲まれているファイル3個をパーミッション666に設定します。



「属性変更」->「現在の属性」を666にする->「OK」




以上で作成は完了になります。

おつかれさまです。





今回は基本的な事を教えました。
その他詳細は本家を参考にする事をお勧めします。

他に質問や分らない所はコメントして頂くと返答いたします。

{ 3 コメント... read them below or Comment }

  1. コメント失礼いたします

    実行すると
    HTTP エラー 403.14 - Forbidden

    Web サーバーは、このディレクトリの内容の一覧を表示しないように構成されています。

    とのエラーが出てしまい投稿が確認することができません
    なにか根本的なことが違うのだと思うのですがイマイチよくわかりません…
    時間があるときでよろしければ解説お願いいたします

    返信削除
  2. コメント失礼いたします

    実行を押すと
    HTTP エラー 403.14 - Forbidden

    Web サーバーは、このディレクトリの内容の一覧を表示しないように構成されています。

    とのエラーが出てしまい
    投稿を確認することができません
    なにか根本的な部分が違うのかと思うのですが…

    時間があるときでよろしければ解説お願いいたします

    返信削除
  3. 間違えて同じようなコメントを2度してしまいました…

    本当に申し訳ございません

    返信削除

- Copyright © I aim to creator. - Hatsune Miku - Powered by Blogger - Designed by Johanes Djogan -