カスタム研究所

カスタム研究所 – Custom Laboratory

Amazon:Fire TV StickサーバーでTwitter Botを運営する

time 2019/02/09

sponsored link

カスタム研究所【ネットワーク】Amazon:Fire TV StickサーバーでTwitter Botを運営する

過去記事【Amazon:Fire TV Stickで自宅サーバーを構築する】では「PHPを実行できる自宅サーバー」を構築したので、
今回は、Fire TV StickサーバーでTwitter Botを稼働させてみようと思います。

何だか難しそう。って感じる方もいらっしゃるかも知れませんが、
既にパッケージ化されたPHPプログラムをセットアップするだけなのでコードを書く必要はありません。
※ちょこっとだけ書き換える箇所はあります。

やってる内容はシンプルで容易な事ばかりなので、システムの全体像さえ理解してしまえば楽勝です。

本記事では【Amazon:Fire TV Stickで自宅サーバーを構築する】で構築したFire TV Stickサーバー環境を前提に解説を進めていきます。

 

必要な物

■ ブロードバンド回線
■ Fire TV Stickサーバー
■ マウス&キーボード
■ Windows PC
■ テキストエディタ
■ アクセストークン(Twitter)
■ 無料PHPプログラム(EasyBotter)
■ 無料アプリ(MacroDroid)

Fire TV Stickサーバーの稼働に必要な「ブロードバンド回線」については
Amazon:Fire TV Stickで自宅サーバーを構築する】をご覧ください。
Fire TV Stickサーバーの構築方法については
Amazon:Fire TV Stickで自宅サーバーを構築する】をご覧ください。
Fire TV Stickを操作するための「マウス&キーボード」が必須です。
Fire TV StickはBluetoothもUSBポートも使えるので、ワイヤレスでも有線でもどちらでも構いません。付属リモコンと併用する事になるので適宜使い分けてください。
準備作業の大半をWindows PCで行いますので、Windows PCは必須です。
PHPプログラムの書き換え作業には「テキストエディタ」を使います。
Windows標準搭載のメモ帳やワードパッドではダメなので「テキストエディタ」が必須です。これを機に「自分に合うテキストエディタ」を見つけてください。
Twitter Botの実行には、通常のTwitterアカウントではなくDeveloper Account(開発者アカウント)が必須です。
開発者アカウントでアクセストークンを取得して、取得したアクセストークンをPHPプログラムに書き込みます。
大まかに説明すると「プログラム実行→アクセストークン→API→ツイートされる」という流れです。
Fire TV Stickサーバーで可動させる自動投稿プログラムには「EasyBotter」を使います。EasyBotterはPHP 5.x世代(20014年頃)で開発終了しているプログラムですがPHP 7.x世代でも問題なく動作します。
EasyBotter(PHPプログラム)の定期実行には「MacroDroid」を使います。Fire TV Stickでも安定動作してくれるので何かと便利です。

 

大まかな流れ

大まかの流れは以下の通りです。

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)の取得」を行う必要があります。

Twitter APIの利用申請は以下の記事をご覧ください。
Twitter API:Developer accountの登録&申請方法
※申請が承認されるまでには数日間かかるかも知れません。

Developer Accountが承認されたらTwitter Developer Platformにアクセスして「アクセストークン」を取得しましょう。

1, 右上の「アカウント名」をマウスオーバーして「Apps」をクリック

2, 右上の「Create an app」をクリック

3, 赤枠は必須項目なので必要事項を記入します。

■ App name
ここには「アプリの名前」を書きます。英語で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」をクリック

7, 右側の「Details」をクリック

8, 左上の「Keys and tokens」をクリック

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
※バージョン2.1.3が最新版(最終版)です。
※ウィルススキャン済みです

「EasyBotter2.1.3.zip」を解凍すると図のようになります。

2, 「bot.php」ファイルの赤枠部分の「//」を削除して上書き保存します
※今回は「ランダムポスト」を使います。

3, 「data.txt」ファイルの内容を「テストツイート1~10」と10行ほど書いて上書き保存します
※このファイルが「ツイート内容」になります。
※「1行(改行まで)=1ツイート」です。
※この10行からランダムにツイート文章が選ばれます。

4, 「setting.php」ファイルの赤枠部分5箇所を、Twitter APIの項で取得した「アクセストークン」に書き換えて上書き保存します

「アカウント名」→「$screen_name」
「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にインストールします

※任意アプリ(APK)をFire TV Stickにインストールする方法は【Amazon:Fire TV Stickで自宅サーバーを構築する】を参考にしてください。

 
3, MacroDroidを起動します

4, 左上の「マクロ」をクリック

5, 右下の「+」をクリック

6, 真ん中の「空のマクロを使用します」をクリック

7, トリガー欄の「+」をクリック

8, 真ん中の「一定間隔」をクリック

9, 「基準開始時刻を指定」のチェックを外します

10, 真ん中の「+」をクリックして「5分」に指定して「OK」をクリック

11, アクション欄の「+」をクリック

12, 下部の「Webサイトを開く/HTTPを取得」をクリック

13, 真ん中の「URLを入力してください」に「http://192.168.100.100:18080/EasyBotter2.1.3/bot.php」と入力します

※「192.168.100.100」の部分はFire TV StickのローカルIPアドレスです。

 
14, 「HTTP GET(Webブラウザ不使用)」にチェックを入れて、右下の「OK」をクリック

15, 「名前(マクロ名を入力)」にお好みの名前を入力して、左上の「←」をクリック

以上でMacroDroidの設定は完了です。
すでにMacroDroidは稼働状態なので、30分ほど放置してからログを確認してみましょう。

 

5, MacroDroidのログ確認

1, MacroDroidを起動します

2, 左上の「三」をクリック

3, 「システムログ」をクリック

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を使いこなせるようになれば、もっと楽しみが広がるはずです。

 

sponsored link

プライバシーポリシー

sponsored link

about me

カスタム研究所(所員:ライ)

カスタム研究所(所員:ライ)

Hi! my name is Ly(らい)!! It is a member of a custom laboratory! 面倒くさい事が大キライ+嫌なものはイヤと言える性格です! 礼節を軽んじる人とは交流しません! I love kittens!! 愛に飢えてるので優しくしてください。



sponsored link

sponsored link