SoLA2-TechBlog

退屈な作業はプログラムに任せましょう!日々の作業に少し工夫を足すだけであなたの時間はもっとクリエイティブになる。

今さらTwitterボットを開発してみた。【part 1】

認証について

ボット用のアカウントに接続する方法はいくつかありますが、ドットインストールでは「TwitterOAuth」というパッケージを用いて認証を行っていましたので、今回はこちらを利用したいと思います。

composerを利用してTwitterOAuthをインストールする

まずはcomposerの公式サイトにアクセスし、「Getting Started」ボタンからページ中段にあるコマンドをPHPがインストールされているローカル開発環境の作業ディレクトリで実行します。

php composer-setup.php --install-dir=bin --filename=composer

composerをダウンロードが完了しましたら、いよいよ「TwitterOAuth」をインストールしていきます。TwitterOAuthの公式サイトにアクセスし、Installationに記述された文をローカル開発環境で実行します。

ちなみにこのcomposerでインストールできるpackageの一覧についてはPackagistというサイトで確認することが出来るそうです。

定型文を呟かせてみる

実装

さてTwitterOAuthのインストールが完了しましたら、まずは簡単なモックを作成してみましょう。プログラムから固定文をボットアカウントにつぶやくだけの仕組みを作ってみたいと思います。

<?php

require_once(__DIR__ . '/twitteroauth/autoload.php');
define('CONSUMER_KEY', '*');
define('CONSUMER_SECRET', '*');
define('ACCESS_TOKEN', '*');
define('ACCESS_TOKEN_SECRET', '*');

アカウント情報はプログラム内で頻繁に利用するため、定義しておきます。こういった定義は、後々増えていきますので、定義用のファイルとして本体から切り離しておきます。

<?php

require_once(__DIR__ . '/config.php');

use Abraham\TwitterOAuth\TwitterOAuth;

//接続
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);

$res = $connection->post("statuses/update", [
    'status' => 'さんぷる'
]);

if ($connection->getLastHttpCode() === 200) {
    echo '成功!' . PHP_EOL;
} else {
    echo '失敗!' . $res->errors[0]->message . PHP_EOL;
}

純粋にTwitterへ接続し、サンプルメッセージ「さんぷる」を投稿するだけのシンプルなプログラムですね。ではこれを実行してみましょう。

動作検証

f:id:gootor3030:20170814131224p:plain

コマンドライン上では成功!と表示されました。

f:id:gootor3030:20170814131341p:plain

実際のTwitterでも「さんぷる」と呟かれていますね。

次回予告

今回はとりあえず動くことを目標にコーディングしてきました。次回はこれらのコードをクラス化し今後の機能拡張に向けた準備を整えます。お楽しみに!