みみぺんブログ

WEBデザイナー、エンジニア、プログラマー向けの記事を投稿します

【PHP】Twitter APIを使って自動ツイートBotを作ってみよう(2) ~ Botを完成させる ~

Twitter APIを使ってBotを作ってみよう(2) ~ Botを完成させる ~

はじめに

こんにちは、かずん(@kazoonLab)です。

前回の記事では、Twitterの開発者サイトにて、APIキーとアクセストークンを取得するところまでを解説しました。

今回の記事では、取得した情報を用いて、コマンドラインからツイートを投稿できるBotを作っていこうと思います。

かずん

この記事を読むと、簡単なTwitter Botの作り方がわかるよ!



Botの作成

前置き

今回は、BotをPHPで作っていこうと思います。

その際、ライブラリ依存管理ツールの「composer」を利用します。

composerについては、以下のリンクが参考になるかと思います。



前置きが長くなりましたね。それでは、Botを作っていきましょう!

composerのインストール

まず、使う端末にcomposerをインストールしましょう。

方法に関しては、端末のOSによって異なるため注意が必要です。

Windowsの場合はこちら


macOSの場合はこちら


上記の手順が完了したら、下にあるコマンドをPowershell / ターミナルで試してみましょう。

composer --version


ダウンロードしたcomposerのバージョンが表示されたら、インストールは終了です!

必要なライブラリをインストールする

今回は、mpyw/cowitterを使ってBotを作っていきます。

cowitterとは、取得したKey/ Token で認証を通して、Botを動かす準備をするもの

といったところでしょうか。(あまり語れずすみません。。)


それでは、上記のライブラリをインストールしてみましょう。

# 作業したい空ディレクトリの中に移動
cd (ディレクトリパス)
# ライブラリをインストール
composer require mpyw/cowitter


インストールが終わると、作業ディレクトリの中に、
- vender ディレクトリ
- composer.json
が生成されたかと思います。これで、ライブラリのインストールは終了です。

コーディング

それでは、いよいよBot本体の実装です!

作業ディレクトリの直下(vender, composer.json)と同じ階層に、bot.phpを作成しましょう。

bot.phpの中身は以下の通りです。

<? php
// ライブラリをインポート
use mpyw\Cowitter\Client;

/**
 * Key / Token を読み込む
 * 変数の中身は、それぞれ対応するものを入れてください。
 */
// Consumer Key
$consumer_key = ****;
// Consumer Secret
$consumer_secret = ****;
// Access Token
$access_token = ****;
// Access Token Secret
$access_token_secret = ****;

/**
 * TwitterアカウントのUser IDを入力してください。
 */
// User ID
$user_id = ****;

try {

     // Twitterの認証を通す
     $client = new Client([
         $consumer_key, $consumer_secret, $access_token, $access_token_secret,
     ]);

     // APIに接続し、ツイートを投稿する
     $status = $client->post('statuses/update', [
        'status' => 'みみぺんブログのBot!' ,
     ]);

     // 投稿したツイートのURLを表示する
     echo "URL: https://twitter.com/{$status->user->screen_name}/status/{$status->id_str}\n";
} catch (\RuntimeException $e) {
    // エラーが起きたら、その内容を表示する
    echo "Error: {$e->getMessage()}\n";
}


botが完成したら、先ほど開いたターミナルで、以下のコマンドを試してみましょう。

php bot.php


Key / Tokenを取得したTwitterのアカウントで、「」とツイートされているかと思います!


これで、シンプルなBotが完成しました。お疲れ様でした!

まとめ

今回は、コマンドをたたくとツイートするBotを作ってみました。


ちなみに、先ほど作ったBotをレンタルサーバなどのcronで実行すると、定期的にツイートしてくれるBotになります。


実行できる環境がありましたら、ぜひお試しください。


最後までご覧いただきありがとうございます。

この記事がいいなっと思ったら読者登録をお願いいたします♪



【ツイッターでは主に、仕事や技術系の内容をつぶやいています】 技術者の方ともっと繋がりたいっす!お気軽にフォローもお願いします!
かなきち(@kanakichi0801)
かずん(@kazoonLab)