このブログを検索

2012/12/07

twitterのbotが動かなくなった



以前使っていて特に不満はなかったのだが諸事情により解約したVPSを再度契約した。

レンタルサーバにしようか、VPSにしようか迷ったのだが、480円しか違わないのでお勉強のためも兼ねようと、VPSにした。

twitterのbotを復活させようとしてNet::Twitterを入れようと、いつものようにやったらエラーになった。

[hoge]# perl -MCPAN -e shell
Can't locate CPAN.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).
BEGIN failed--compilation aborted.


調べるとモジュールのインストールが必要とのことだった。

yum install perl-CPAN


いつもおまじないのように実行していたが、モジュールを使っていたんだね。

さて、前に動かしていたbotが動かない。tweetができない。ascii文字とリテラルならいけるが、ファイルから読み込んだutf8の日本語がtweetできない。

自宅にあるcentosで、同じスクリプトが動いている。

Encodeのバージョンが、動かないVPSの方が新しい。

Centosはともに6.3だが、VPSは64ビット版、家は32ビット。

Perlのバージョンは同じ。

Net::Twitterも同じ。

Encodeのバージョンが違うというのが一番あやしい。下げてみようか・・・

でもそれより、動いているスクリプトがおかしくて、本来よくないやり方なのがたまたま動いていた、という問題な気がする・・・・

Net::Twitter::Liteにしたらうまくいった・・・。

原因は不明。

あー時間を空費した。

その後・・・

今度はblockしているユーザの一覧とその解除をする、OAuthを使うcgiを動かしたらこれも動かない・・・

最近apiの仕様が変わったという話は聞いていたが、そんな問題じゃない感じがする・・・

あれこれやってもどうしてもわからず、access token等を直接書いてblockしているユーザーを表示するスクリプトを動かしてみたら、数十秒かかる。

なんだこれ・・・