TwitterのBotを作ろうとして頓挫した話
やあやあ、どうも、お久しぶりでございます。
最近またプログラミング周りの勉強を再開しているのですが、昨日TwitterのBotを作ろうとして頓挫したので、自分の中での整理を兼ねてちょっと書いてみようと思います。
目的:今利用中のROJIKAJIのアカウントで日に何回かお気に入りのミュージックビデオを自動でツイートしたい。
初期の構想:レンタルサーバーのcron機能を使ってスクリプトを叩けば多分できると思う。OAuth認証はPHPのTwitterOAuthを使えば何とかなるだろう。
処理系のインストール:
まず自分のWindowsマシンにPHPをインストール。といっても、PHPの処理系をダウンロードして解凍してCドライブ直下に置いてパスを通しただけで、設定ファイルをいじったりはしてません。とりあえず、動いてるしいいだろうということですね。
実はこの辺に問題があるのですが、それはまた後で……
プログラミング:
こちらのページを参考にさせていただきました。ただ、この記事が書かれたころとTwitterOAuthのバージョンが違うようで、その変更点に関する部分だけは修正してあります。
具体的には、
require_once('twitteroauth/twitteroauth.php');
という一文を、
require "vendor/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;
に変更しただけです。この辺りは、TwitterOAuthの公式ページに記述があります。
実行:
これで完成かと思いきや思わぬ落とし穴が。
curl_init関数が呼び出せないというエラーが表示されるのです。じゃあcurl_initが入ってるパッケージをインストールすればいいんだろ……と、ダウンロードしてきても、それはmakeとかでコンパイルしなきゃいけないやつで、ちょっと僕には敷居が高い感じ。結局、今回はあきらめてtwittbotさんを利用することに。ちょっと入力が面倒ではありますが、700もパターンを登録できてなかなかいい感じです。
結論:
実はcurlに関するモジュールは最初にダウンロードしたPHPのフォルダに同梱されていて、php.iniの設定をいじって(extensionとextensionパスの設定です)やらなければならなかったようです。
しかもテストプログラムを書いて確認してみると、レンタルサーバーでもちゃんと動作している様子。僕の一人相撲じゃん!
実際動かしてみると今度はエラーが出ませんでしたので、たぶんこれで作れるんだろうと思います。