Wednesday, September 29, 2010

twitterのbotを作ってみる(Easybotter)

Easybotter(ver.2.0beta版)のDL


EasybotterをDL。サーバの時刻を合わせることが動かす時のかなりのポイント。後述。正しくないとInvalid nonceとかいうエラーが出て、このエラーコードはソースに載っていないので結構はまる。


setting.phpの区切りを改行からコンマへ変更。OAuth認証に必要な暗号?はEasybotter公式から取得。※あとで変更する予定。


本体を置くサーバの時刻を修正


時刻合わせ用にntpdateをインストール。


#aptitude ntpdate


時刻を合わせる。


#ntpdate ntp.nice.jp


cronジョブに登録


cronジョブに登録しようとしたがphpのバイナリがなかったのでインストール。


#aptitude install php5-cli


これで/usr/bin/phpというバイナリができた。登録してみて「今すぐ実行」。すると、OAuthのinclude関係でエラー。インクルードされてない場所にあるのが問題とのこと。そこで、PEAR以下をアーカイブして、


#tar cvf PEAR..tar PEAR/*


インクルードされている/usr/share/pear以下にコピーする。


#mv PEAR.tar usr/share/


#tar xvf PEAR.tar


#mv PEAR pear


これで動いた。手動実行の時のために、元々Easybotterに入っていたものも削除せずそのまま置いておく。消してみたらエラーが出た。bot.phpなどその他のファルが置いてある場所にPEARがないと実行できないみたい。


参考:


Easybotter非公式Wiki


http://www26.atwiki.jp/easybotter_wiki/pages/1.html

Sunday, September 19, 2010

webminを使ってcron作業を登録

webminを使ってcron作業を登録するとき、コマンド、コマンドの引数、の欄にそれぞれ入力すると、コマンドとコマンドの引数の間に%が入ってしまい不備になる。これを解決するには、コマンド欄にすべて記入するか、または


#crontab -e


で編集する。


実際のcrontabの設定ファイルは以下にある。USERNAMEはユーザー名。


/var/spool/cron/crontabs/USERNAME