ブログに関する役立つ知識をまとめています
PHP

【Twitter API】PHPで指定した時間に自動でつぶやくbotアプリを作る方法

3行目のuseですが、これはtwitteroauthライブラリのTwitterOAuth()クラスを使うために必要です。

4,5行目の$dsnと$pdoに関してはMySQLデータベースにアクセスするためのおまじないだと思ってください。

メイン処理は9行目からとなりますが、

MySQLデータベースにアクセスするため、try…catch構文を使ってエラーが出た時に例外処理をしておきます。

1. 11~12行目でSQL文を実行する

SQL文は

SELECT * FROM テーブル WHERE id=(SELECT MAX(id) FROM テーブル)」

となっていますが、

これは「あるテーブル」の「id」が「SELECT MAX(id) FROM テーブル」であるところを取り出してください。という命令です。

この「SELECT MAX(id) FROM テーブル」というのは、「あるテーブル」の中からidが最大であるものを取り出してくださいという意味です。

2. データベースから取り出したレコードから最大id(=登録されている総ツイート数)を取得する

ここで取り出したレコードを$rowに格納してif文を使っていますが、これはデータベースからレコードを取り出したはずが何も取り出せていなかったという状況避けるために書いています。

3.ランダムにツイートを選ぶ

mt_rand()関数を使ってランダムに生成された整数を生成します。

mt_rand()関数には引数が二つあって、

第一引数は生成される整数の最小値、第二引数は最大値となっています。

第二引数に総ツイート数を指定することによってツイート数より多い整数が指定されて意味不明なことがおきないようにしています。

そして20~22行でSQL文を実行して呟くツイートを取得します。

4. ツイートする

最後に、3. で取得した文章をツイートします。

TwitterOAuthオブジェクトを生成して、このオブジェクトのOAuthRequest()関数を使ってツイートをします。

OAuthRequest()関数は、

第一引数にAPIのURL、第二引数にリクエストメソッド、第三引数にパラメータを指定します。

1 2