index

戻る

Twitterで自動的につぶやくbotを作成する。

つくってみた

@MMLbot
 1時間に1回 #どうぶつの森 の #島メロ をつぶやくbot
 自宅サーバーで運用中

説明

Webページを作り、PHPのプログラムを動かす。
つぶやくデータはMySQLのデーベースに入れておく。テキストファイルよりもプログラムが簡単だ。
そのために、PHPとMySQLが使えるサーバーが必要だが、安価なPC Windows10をサーバー機にした。
負荷の掛かる表示や編集作業をサーバー機で行わなければ十分。
botの作り方を調べたが、Twitterなどの画面が変わってしまったりして検索してもわかりにくい。
日本語のページがないので英語で読む必要があり、メニューの階層がわかりにくい。
botとして動作させる前に、テキストをつぶやくところまでをここに記録しておく。
データをMySQLからランダムに呼び出す。Webページを定期的にリロードする部分を作ればBOTになる。
ブラウザからでないとプログラムが「ドライバーがない」とエラーを出したのでこの方法でまとめる。

テキストをつぶやくプログラム

動作させるには、認証情報が必要。
$consumerKey $consumerSecret $accessToken $accessTokenSecret
twtest.php:src

twitteroauth を入手する

https://twitteroauth.com/ Installation
Manual
Download the latest release and unpack in a twitteroauth directory. Require the autoloader that will in turn require the TwitterOAuth classes automatically.
latest release からリンク先へ
Source code をクリックしてダウンロード
zipファイルからフォルダを取り出して
twitteroauth-1.0.1 → twitteroauth にリネーム
PHPプログラムのフォルダにコピー

Gmailのアカウントを作成する

Gmail
Twitterで必要になる連絡先としてGmailのアカウントを作成する。 同じメールアドレスを使いまわしできないため。 コードを受け取るためにスマートホンが必要。

Twitter のアカウントを作成

Twitter
 既存のアカウントでログインしていたら、ログアウト
 アカウントを新規作成する
メールアドレスの登録
メールアドレスの登録 Appの作成に必要 スマートホンGmailアカウントにSMSでコードが届く

Twitter App の作成

https://developer.twitter.comから
アプリをつくる
What country do you live in?
What would you like us to call you?
などを入力

使用目的を英語で入力
200文字必要なので、グーグル翻訳で理由を長々と書く
登録してあるメールアドレスに確認が届くので、
Confirm Email のリンクボタンをクリック

APIキーを発行する

先にtwitterでログインしておく。
キーの発行
Projects & Apps
Overview
App名
Appsetting
App permissions

Edit
Read and Write ツイートするのに必要
Save

Keys and tokens で
API Key & Secret
Access Token & Secret
コピーして
//認証情報4つ
$consumerKey = "";
$consumerSecret = "";
$accessToken = "";
$accessTokenSecret = "";
に貼り付け

Twitterで確認

Twitter
同じ文面を続けて送信するとエラーになる
$resに通知が返っているが確認していない