2017年06月 / 05月≪ 123456789101112131415161718192021222324252627282930≫07月

インフォメーション

FC2ブログで画像等を一括アップロードするソフトを地味に配布してます。
FC2ブログ用ファイルアップロードの最新版はこちら
(ベクター)FC2ブログ用ファイルアップロード

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


 |  --:--  |  スポンサー広告  |  Top↑

2010.04.26 (Mon)

Twitterのbotに手を出す

FreeBSDのサーバーをたてたはいいが、特に使ってもいなかったのでTwitterのbotでも動かしてみることにした。

まずbotはめんどくさいので既存のを利用させていただくことにする。
http://pha22.net/twitterbot/
ここのバージョン 2.04betaをダウンロードして設置。
各種設定はそのサイト通り設定していく。

とりあえずbot.phpの「$response = $eb->postRandom("data.txt"); 」行のコメントアウトを外して、
data.txtの内容をランダムで書き込む設定にして、
ブラウザでbot.phpをひらいてみた。

Fatal error: Uncaugh

というエラーが。
EasyBotter非公式wiki曰く、
「Twitterサーバーと連繋がうまく行ってない時(重い時)よく出るエラーのようです。
ほかにも原因がある場合がありますが、よくわかっていません。」
だそうです。

よくわからないんじゃしょうがない。
Twitterの書き込みで処理エラーが出てる。
Services_Twitterなら前回書き込み処理も行えたので、書き込み部分はServices_Twitterに置き換えることにした。

EasyBotter.phpの先頭にServices/Twitter.phpのインクルードを追加。
<?php
require_once('Services/Twitter.php');
//======================================================================
//EasyBotter Ver2.04beta
....


setUpdate処理を置き換える
    function setUpdate($value){        
$url = "https://twitter.com/statuses/update.xml";
return $this->_setData($url,$value);
}


    /* setUpdate処理を置き換え
function setUpdate($value){
$url = "https://twitter.com/statuses/update.xml";
return $this->_setData($url,$value);
}
*/
function setUpdate($value) {
$sv = new Services_Twitter($this->_screen_name, 'Twitterのパスワード');
$ret = $sv->statuses->update($value);
$sv->account->end_session();
return $ret;
}

↑の'Twitterのパスワード' 部分には自分のパスワードを入れる
例)パスワードが123ならServices_Twitter($this->_screen_name, '123');

修正したEasyBotter.phpをアップロードしなおして再度bot.phpにアクセス。

Fatal error: Uncaught Could not authenticate you. (code: 401, call: http://api.twitter.com/1/statuses/update.json)
thrown in /usr/local/share/pear/Services/Twitter.php on line 332

ってでたら認証失敗。パスワードが違うかも。

パスワードをちゃんと入れたらちゃんと投稿できた。
これでとりあえず投稿は可能になったので、次はcronで定期的に動かす。

サーバーで
# vi /etc/crontab

でcrontabを開いて、とりあえず10分ごとに動かすことにする。

適当な位置に追加。
*/10 * * * * root /usr/local/bin/php -f bot.phpまでのフルパス>>ついでに出力するログまでのフルパスbot_log.txt

こんな感じで指定する。
うちではログを出すようにしてあるけど、別に要らないなら>>以降は書かなくてよい。
どうやらうちのcronだと、phpへのパスは絶対パスできっちり指定しないと動かないみたい。

これで10分毎に書き込みするようになった。


んでまあちょいちょい改造してつかってます。
文章とか自前で追加してくのがめんどいので、今はmecabを使ってブログを元に適当な文を書き込む処理にしてます。
http://twitter.com/uenomemo_test


 |  19:09  |  PHP  |  トラックバック(0)  |  コメント(2)  |  Top↑

Comment

素解析→生成された文章がカオスすぎるwwww
いけいけ |  2010.04.27(火) 10:21 |  URL |  【コメント編集】

がんばってマルコフ連鎖というのを使ってみました。
元の文章の文法がちゃんとしてないほどカオスな文になりますねこれw
あとちょい単語がリピートしがちなのが気になる。
上野メモ |  2010.04.28(水) 22:39 |  URL |  【コメント編集】

コメントを投稿する

URL
コメント
パス  編集・削除するのに必要
非公開  管理者だけにコメントを表示
 

Trackback

この記事のトラックバックURL

この記事へのトラックバック

 | BLOGTOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。