2019/02/05
sponsored link
カスタム研究所【ネットワーク】Amazon:Fire TV StickサーバーでTwitter Botを運営する
過去記事【Amazon:Fire TV Stickで自宅サーバーを構築する】では「PHPを実行できる自宅サーバー」を構築したので、
今回は、Fire TV StickサーバーでTwitter Botを稼働させてみようと思います。
何だか難しそう。って感じる方もいらっしゃるかも知れませんが、
既にパッケージ化されたPHPプログラムをセットアップするだけなのでコードを書く必要はありません。
※ちょこっとだけ書き換える箇所はあります。
やってる内容はシンプルで容易な事ばかりなので、システムの全体像さえ理解してしまえば楽勝です。
必要な物
■ ブロードバンド回線
■ Fire TV Stickサーバー
■ マウス&キーボード
■ Windows PC
■ テキストエディタ
■ アクセストークン(Twitter)
■ 無料PHPプログラム(EasyBotter)
■ 無料アプリ(MacroDroid)
【Amazon:Fire TV Stickで自宅サーバーを構築する】をご覧ください。
【Amazon:Fire TV Stickで自宅サーバーを構築する】をご覧ください。
Fire TV StickはBluetoothもUSBポートも使えるので、ワイヤレスでも有線でもどちらでも構いません。付属リモコンと併用する事になるので適宜使い分けてください。
Windows標準搭載のメモ帳やワードパッドではダメなので「テキストエディタ」が必須です。これを機に「自分に合うテキストエディタ」を見つけてください。
開発者アカウントでアクセストークンを取得して、取得したアクセストークンをPHPプログラムに書き込みます。
大まかに説明すると「プログラム実行→アクセストークン→API→ツイートされる」という流れです。
大まかな流れ
大まかの流れは以下の通りです。
1, Fire TV Stickサーバー
2, Twitter APIの準備
3, EasyBotterの準備
4, MacroDroidの設定
5, MacroDroidのログ確認
ポイントとしては「Twitter APIの準備」と「ファイルの書き換え」の2点だけです。
それ以外はアプリを設定していくだけなので、さほど難しい事はありません。
1, Fire TV Stickサーバー
Fire TV Stickサーバーの構築方法は以下の記事をご覧ください。
Amazon:Fire TV Stickで自宅サーバーを構築する
2, Twitter APIの準備
Twitterで自動投稿するには「Twitter APIの利用申請(Developer Account作成)」と「アクセストークン(Access Token)の取得」を行う必要があります。
Developer Accountが承認されたらTwitter Developer Platformにアクセスして「アクセストークン」を取得しましょう。
1, 右上の「アカウント名」をマウスオーバーして「Apps」をクリック
ここには「アプリの名前」を書きます。英語で32文字以内なら何でも良いです。
■ Application description
ここには「アプリの説明」を書きます。英語で10文字以上~200文字以内なら何でも良いです。
【例】
「Publish and curate Tweets」
■ Website URL
自分のブログ等があるならそのURLを、もし無いならテキトーなWebサイトのURLを記載します。
■ Tell us how this app will be used
ここには「アプリの用途」を書きます。英語で100文字以上なら何でも良いです。
【例】
「I will send my impressions when I went abroad. It will also be used to send update notifications when updating your blog.」
4, 「同意しますか?」の画面が出るので右下の「Create」をクリック
5, 画面の右上に「Application created!」と表示されたらアプリ作成は完了です
6, もう一度、右上の「アカウント名」にマウスオーバーして「Apps」をクリック
9, 一番下の「Create」をクリック
※この段階では「API key」と「API secret key」しか生成されていません。
10, すると下段に「Access token」と「Access token secret」が表示されます
これら4項目(API key・API secret key・Access token・Access token secret)の文字列をテキストエディタなどにコピペして保存しておいてください。
AGCnJLI7JDV9yqnOVBrToiBGj (API key)
jKIrqp3BUQ7sM415VCTuR7Mx4uASVFIB8zBm9abTTrSvxFFBZ7 (API secret key)
3326092140-xkxsHC4fD69gHkwrht1Q9lp4t7MBItLpXioA599 (Access token)
7SVkhGpnaJgnfvMpnaPHwNQlKxOuzbjpiF2ElSa2hq1xB (Access token secret)
以上でTwitter APIの利用準備は完了です。
次の手順に進んでください。
3, EasyBotterの準備
1, 以下のリンクから「EasyBotter2.1.3.zip」をダウンロードして解凍してください
「EasyBotter2.1.3.zip」を解凍すると図のようになります。
2, 「bot.php」ファイルの赤枠部分の「//」を削除して上書き保存します
※今回は「ランダムポスト」を使います。
3, 「data.txt」ファイルの内容を「テストツイート1~10」と10行ほど書いて上書き保存します
※このファイルが「ツイート内容」になります。
※「1行(改行まで)=1ツイート」です。
※この10行からランダムにツイート文章が選ばれます。
4, 「setting.php」ファイルの赤枠部分5箇所を、Twitter APIの項で取得した「アクセストークン」に書き換えて上書き保存します
「API key」→「$consumer_key」
「API secret key」→「$consumer_secret」
「Access token」→「$access_token」
「Access token secret」→「$access_token_secret」
5, Fire TV Stickサーバーのドキュメントルート「storage/emulated/0/www/public/」にEasyBotter一式(フォルダごと)を転送します
以上でEasyBotterの利用準備は完了です。
次の手順に進んでください。
4, MacroDroidの設定
1, 以下のリンクから「MacroDroid(APKファイル)」をダウンロードしてください
MacroDroid(APKファイル)
※ファイル名は「com.arlosoft.macrodroid_8065_apps.evozi.com.apk」です。
※バージョン3.18.2です。
※ウィルススキャン済みです
2, 「MacroDroid」をFire TV Stickにインストールします
10, 真ん中の「+」をクリックして「5分」に指定して「OK」をクリック
12, 下部の「Webサイトを開く/HTTPを取得」をクリック
13, 真ん中の「URLを入力してください」に「http://192.168.100.100:18080/EasyBotter2.1.3/bot.php」と入力します
14, 「HTTP GET(Webブラウザ不使用)」にチェックを入れて、右下の「OK」をクリック
15, 「名前(マクロ名を入力)」にお好みの名前を入力して、左上の「←」をクリック
以上でMacroDroidの設定は完了です。
すでにMacroDroidは稼働状態なので、30分ほど放置してからログを確認してみましょう。
5, MacroDroidのログ確認
4, 「システムログ」を見てみる
「HTTP GET~」の行は正常実行(投稿成功)したという事です。Twitterにも5分毎に正確にツイートされているはずです。
「ERROR」の行は実行失敗(投稿失敗)です。考えられる主な原因としては以下の2点です。
■ 設定が間違っている
アプリの設定内容や、設定ファイル「bot.php」「data.txt」「setting.php」を見直してみてください。
■ 重複投稿(Twittter側の仕様で、24時間以内の同一文章の投稿はできません)
設定ファイル「data.txt」の行数を増やして重複投稿が発生しづらい状況を作ってください。
以上で「Fire TV StickサーバーでTwitter Botを運営する」は完了です。
お疲れ様でした。
あとがき
前回の「Amazon:Fire TV Stickで自宅サーバーを構築する」に引き続き、
「自前サーバー構築~Twitter Bot稼働まで」を一通り解説してくれるサイトが見当たらなかったので記事にしてみました。
Twitter Botに関しては、小出しの情報が分散していてとても学びづらい状況ですね。
注意してほしいのは、Twitter社はAPIやIPアドレス等々を常時監視しているので、悪質なツイートを繰り返していると垢BANされます。
Lyも過去に垢BANされた経験があります。
垢BANされるとAPI登録時に使用した電話番号などは二度と使えなくなります。
2018年に「API審査制度」を導入したのは「悪質利用者を排除するため」でもありますので、利用方法には十分に気を配ってください。
Twitter APIは、Twitter社の大切な収入源でもありますの監視も厳しいです。
ツイート内容やAPI利用状況に不審な点(機械判別)があれば、社員(人間)が目視で確認したりしています。
なのでDeveloper Accountの申請内容や、アクセストークン取得時に記載した説明文は「無難な内容」にしておいたほうが安全です。
また「1分毎にツイート(APIサーバーに負担をかける行為)」や「ヘイトツイート(誹謗中傷ツイート)」は絶対に避けてください。
そもそも「Developer Account」や「APIの無料使用」は一般人向けではありません。
その事を理解したうえで、さらにTwitterの利用規約を熟知して、健全に利用している限り「垢BAN」とは無縁です。
Twitter APIにはもっと多くの利用方法があります。
EasyBotterもかなり多機能で、自動フォローや自動リプライ等々も可能です(※詳しくはソース内に書かれています)
PHPやAPIを使いこなせるようになれば、もっと楽しみが広がるはずです。