はじめに
こんにちは、かずん(@kazoonLab)です。
前回の記事では、Twitterの開発者サイトにて、APIキーとアクセストークンを取得するところまでを解説しました。
blog.mimipen.net
今回の記事では、取得した情報を用いて、コマンドラインからツイートを投稿できる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になります。
実行できる環境がありましたら、ぜひお試しください。
最後までご覧いただきありがとうございます。
↓他にも作りながら学べる記事を日々更新中!
blog.mimipen.net
blog.mimipen.net
blog.mimipen.net
この記事がいいなっと思ったら読者登録をお願いいたします♪
【ツイッターでは主に、仕事や技術系の内容をつぶやいています】
技術者の方ともっと繋がりたいっす!お気軽にフォローもお願いします!
かなきち(@kanakichi0801)
かずん(@kazoonLab)