botのTwitter API 1.1対応
今まで面倒なのもあって放置してきたんですが、いよいよTwitterのAPI v1が3/5から段々使えなくなるということで、うちのbotもそろそろ対応するかと重い腰を上げまして。
当初はふらっと思いつきで作って、次第につぎはぎしながら大きくなってきたのでソースコードがスパゲッティ化していることもあり、この際全部書き直すか!と決めたものの、最終的に足かけ1週間かかってしまった・・・
基本的にはAPIのエンドポイントURLを書き換えるだけだけど、うちのはPEARのServices_Twitterを使っていてそれが対応しない雰囲気なのでライブラリから・・・といってもOAuthのPEARもあるし、jsonデコードもあるのでそんなに時間はかからなかった気がする。
一番時間がかかったのは、今までなあなあにしてきたTwitterの細かい部分にも対応したところ・・・
- 短縮URL(t.co)の文字数が増えるらしいので、今後も変化について行けるようにhelp/configurationから取るようにした
- 文字数計算(生成した文がオーバーしないように)をtwitter-text-phpあたりを使ってやるようにした
- API制限がAPIごとになるらしく、HTTPヘッダに入ってるらしいのでログに出すように
- UserStreamの再接続処理をドキュメント通りに実装した(つもり)
大半が英文のドキュメントを読む時間に費やされたかと思います(ぁ
あとはニコニコアラートの生放送・動画解析部分をマルチプロセス化してみたり、発言解析の順番を変えてみたりちょこちょこ変わってます。
そして結構コピペして各所に散らばってたコードを関数化したのにこまめに書いたらソースの総量はあんまり減らなかった罠
追記:ソースコードはGitHubで公開したのでそちらを