したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

phaがときどき見るかもしれないスレ

1pha:2010/11/11(木) 20:26:13
EasyBotter作者のphaです。こんばんは。
ちょっと面倒臭くなってEasyBotterはかなり放置してしまっているのですが、
利用してくださる方が結構おられるようで嬉しいです。ありがとうございます。
このスレを立てた目的は、正直EasyBotterに今あんまりリソースを割く余裕がないのですが、
もしどうしても何かあったらこのスレに書いてくれたら見るかもしれません(ちょっと保証はできないですが)、
というのと、あと僕が日記帖代わりに何かときどき呟いたりするかも。
この掲示板の更新を全部フォローする元気はないけど
掲示板を全部ほったらかしにするのもどうかなと思ったので、試験的にスレを立ててみます。

2pha:2010/11/11(木) 20:30:09
今日ちょっとだけサイトに更新したんだけど、EasyBotterをPHP License 3.01に対応しました。
それはどういうことかというと、ある程度の決まりを守れば自由に改造や再配布をしてもらって構わないということです。
http://ja.wikipedia.org/wiki/PHP_License
よかったら御自由にいじってみてください。

ソフトウェアの世界では書いたプログラムをそういう感じの扱いにすることは結構多くて、
そもそもEasyBotter自体がPHPライセンスで公開されている他のライブラリを利用しています(PEARフォルダの中のファイル)。

きっかけは、アメリカ人の方から、友人に配布したいので英訳して配ってもいいですか、というメールが来たんですよね。
まあ前々からライセンスはオープンにしたいと思ってたんだけど、面倒臭くてやってなかっただけなんですが。

3名無しさん:2010/11/15(月) 09:00:58
おかげさまでbotを作成することができました
最初は行き詰る事もよくあったので「よくある質問」を更新して頂きたいです

4pha:2010/11/15(月) 16:22:06
>>3
どうも、コメントありがとうございます。
どのへんの更新が需要ありそうですかねえ

5名無しさん:2010/11/15(月) 23:54:10
>>phaさん
>>3じゃないですけど キャラぼっと閉鎖でこっちに流れてきてる人が多いのであった方が便利かもしれません。
phaさんが忙しいなら少し時間いただけるならまとめてみますが

6pha:2010/11/16(火) 02:25:03
>>5
キャラぼっと閉鎖したんですか。それも知らなかったです。
僕はちょっと時間が取れそうにないので、
もしよかったらまとめてもらったらうれしいです。時間かかってもいいのでー。

7名無しさん:2010/11/16(火) 20:05:26
閉鎖というわけではないんですよ>キャラボット
ただ、GAEcronの様に自分以外に提供しますよと言う人が開発者以外
元々少なかったところにあの騒ぎで、ますます一般開放する人が
いなくなっただけです。中には知り合いなら非公開で貸していると
いう人はいますが

他人が設置したものをアテにしている人にとっては
閉鎖したも同然かもしれませんが、閉鎖したわけではありません
現に今1人ですが、提供している人はいます

85:2010/11/16(火) 21:55:15
>>7
そうなのか、詳細知らなかったから勘違いしてた。
新たに作れないと言う点では間違いではないみたいね

まとめに入ろう

95:2010/11/16(火) 22:55:40
「よくある質問」

wikiやサイトでも書いてるような事柄ですが

<準備編>

Q.どこのサーバで動くの?geocitiesやLand.toは動くの?
→PHP(5以上)が使えるレンタルサーバーなら動作します
 land.toはEasyBotterは動作不可です。FileQはver.2なら設置可能です。

<アップロード編>

Q.アップロードってどうすればいいの?
→アップロードソフトのFFFTPや?FileZillaを使ってアップロードしてください
 使い方は付属の説明書をご覧ください

Q.何をアップロードすればいいの?
→解凍したEasyBotter2.04beta.zipの中身全部です

<編集編>

Q.、Windows付属の「メモ帳」ではだめというのがよく分かりません。どうしてですか?
→Windows付属のメモ帳だと「文字コードのUTF-8、改行コードのLF」の情報が記録されません。
 付属のメモ帳だと「文字コードのUTF-8、改行コードのLF」の情報が記録される物を使ってください

Q.data.txtってphpに出来るの?出来るならどうすればいいの?
→出来ます。他のphpファイルのreply_pattern.phpやsetting.phpを参考にしてみてください

105:2010/11/16(火) 22:56:33

<手動編>

Q.アップロードしたのにPOSTされない
→OAuth認証していますか?
 Access TokenとAccess Token Secretをsetting.phpに記述していますか
 if構文がダブってないか見る
 一旦サーバーに上げたものを削除して上げなおし、cronの設定もやりなおす
 サーバーを変えてみる

Q."Status is a duplicate."エラーが出る
→「duplicate」つまり重複です。Twitterでは同じ発言を繰り返し投稿できません。
  少なくとも10ツイートはあける必要があります。

Q.二重投稿するんだけど
→twitterが重いのでしばらく待つ
 とりあえずcronの間隔を長めにとってみる
 if構文がダブってないか見る
 一旦サーバーに上げたものを削除して上げなおし、cronの設定もやりなおす
 サーバーを変えてみる

Q.反応するワードなのに手動アクセスすると「2分以内に受け取った@はないようです」とでるんですけど


Q.via EasyBotter のEasyBotterという部分が変えられると聞きますがどうやって変えるのですか?
http://wolf.silk.to/labo/oauth.html のhttp://wolf.silk.to/labo/oauth.htmlを参照してください

Q.アップしたら真っ白になるだけ/文字化けしてる
→エンコードUTF-8(TeraPadはUTF-8N)BOMなし、改行コードはLFになってるか
 data.txtとreply_pattern.phpとlog.datのパーミッションが666になってるか(サーバーによって違う場合もあり)
 setting.phpで何か間違ってないか

Q.昨日まで正常に動いていたのにリプライ等動かなくなった
→何かファイルを更新させませんでしたか?してない場合はツイッター側の問題の可能性もあります

Q.bot.phpにアクセスするとHTTP 404"Not Found"って出るんですけど
→URLが間違っています、ちゃんとURLを確認してください

Q.reply_pattern.php内の反応単語に該当しなかった場合、返信させたくないので"data.txt"を外したのですが動きません。
例:$response = $eb->reply(2,"reply_pattern.php");
→勝手に記述を足さない

Q.reply_pattern.php内の反応単語に該当しなかった場合、reply_pattern2.phpをチェックさせたいのですが動きません。
例:$response = $eb->reply(2,"data.txt","reply_pattern2.php","reply_pattern.php");
→勝手に記述を足さない

115:2010/11/16(火) 23:25:10
抜けてたorz

Q.反応するワードなのに手動アクセスすると「2分以内に受け取った@はないようです」とでるんですけど
→何かファイルを更新させませんでしたか?してない場合はツイッター側の問題の可能性もあります

Q.定期POSTする時に@付きやTLに反応すると通常POSTしないんですけど
→cron側やサーバ側のタイムアウトの可能性もあります
 タイムアウトだとエラーログに出ない場合もある

一先ずはこんなところですか、他にもあれば追加してください

12たぬき娘:2010/11/17(水) 01:01:36
すいません……最初で躓いてしまいました……。
本当にすいませんが、教えてください。

【バージョン】 Ver.1.4x/Ver.2.0x
【設置鯖名】 レン鯖名/ロリポップ
【PHPのバージョン】たぶんPHP5
【手動】 動かない
【実行】 ブラウザ自動更新/手動/他
【実行間隔】
【不明点】
 ツイッターの本アカウントから、リプライしても何の反応ありません。
 EasyBotter 非公式wikiさんの「2分以内に〜」まで確認できました。

 このあとの作業が全くうまくいきません……。
 なにがまずいんでしょうか……?
 初歩的な質問かと思います、宜しくお願いします。

 ツイッターの本アカウントは鍵をかけてます……。

13名無しさん:2010/11/17(水) 01:06:07
>>12
書き込む場所が違います。テンプレ使用していると言うことは
初心者スレは見ているのですよね?そこまで理解しているなら
書きこむ前にちゃんと該当スレかどうか確認して下さい

それと質問の内容は散々既出です。もっとググって下さい

14名無しさん:2010/11/17(水) 01:12:38
>>8
新たに作れないわけではありません。今でもスクリプト配布はしてますよ。
キャラボット作者もGAE対策したものを今は配布しています。
だから条件が合うサーバーとgoogleアカウント等があれば
EasyBotterのように自設運営できます。

何を勘違いしているのか知りませんが、調べるつもりがないならないで嘘を言いふらすのはやめてくれませんか?

15名無しさん:2010/11/17(水) 02:23:16
>>14
把握しました、phaさんならびに関係者様申し訳ないですm(_ _)m
色々と問題あったのね、正直確かにぐぐらなかったこちらが悪かった、基本中の基本なのに

しかし他人を当てにしすぎ・・・

16名無しさん:2010/11/17(水) 08:29:58
12です。
すいません。
質問投稿したら、ここに入ってしまってました。
場所間違ってたの気づいてましたけど、消せなかったのでそのままにしてました。

消していただけると嬉しいんですけど。

17名無しさん:2010/11/27(土) 17:12:44
>>11
>Q.定期POSTする時に@付きやTLに反応すると通常POSTしないんですけど
EasyBotterで一度リプライした後、実行が終わる前に通常postをすると
かなりの高確率で「Incorrect signature」が返ってきて投稿出来ません
デタラメな値でいいので'in_reply_to_status_id'に数値を入れると回避できます
phaさんには公式で対応していただけるといいかなと思います

18名無しさん:2010/11/28(日) 13:05:53
>>17
replyの後にpostRandomを実行するとIncorrect signatureになる現象と、in_reply_to_status_idに何らかの値をセットすれば回避できることを、私も確認しました。

$eb->setUpdate(array('status'=>'@hoge テスト1 '.date('H:i:s'),'in_reply_to_status_id'=>'8662591832334336'));
$eb->setUpdate(array('status'=>'テスト2 '.date('H:i:s')));
$eb->setUpdate(array('status'=>'@hoge テスト3 '.date('H:i:s'),'in_reply_to_status_id'=>'8496683960766464'));
$eb->setUpdate(array('status'=>'テスト4 '.date('H:i:s'),'in_reply_to_status_id'=>''));

どうもこれはPEARライブラリに問題があるようです。
PEAR\HTTP\OAuth\Consumer.phpのsendRequest関数内でvar_dump($req);したところ、
上記ソースのテスト2をPOSTしたとき、object(Net_URL2)の変数postParamsにテスト1のin_reply_to_status_idが残っていました。パラメータをセットはしても、クリアはしていないようです。

["postParams:protected"]=>
array(2) {
["status"]=>
string(19) "テスト2 12:28:44"
["in_reply_to_status_id"]=>
string(16) "8662591832334336"
}

テスト4をポストした際も、パラメータにin_reply_to_status_idの項目は残っていましたが、値に空をセットしたので、計算には影響が無かったものと推測されます。

["postParams:protected"]=>
array(2) {
["status"]=>
string(19) "テスト4 12:28:46"
["in_reply_to_status_id"]=>
string(0) ""
}


これ以上深く追っていませんが、これが原因でシグネチャの計算が正しく行われていない可能性が高い気がします。

だとすると、PEARライブラリに修正が加わらない限り、他の処理でも同じような条件で、Incorrect signatureが発生することも考えられます。(ただし、変数名postParamsが示すように、メソッドPOSTの場合のみ発生する現象で、GETのもの場合は影響を受けないようです。だから取得系APIは問題なく動くのではないかと・・・)

もし、どうしても原因不明のIncorrect signatureには、過去に指定したことのあるパラメータを全てに空白をセットするという方法を試してみると、良いのかもしれません。

19名無しさん:2010/12/03(金) 16:27:19
http://jbbs.livedoor.jp/bbs/read.cgi/internet/6629/1289474773/r17
で原因の考察がされていますね

20pha:2010/12/12(日) 18:26:43
放置していてすみません。ちょっと余裕ができたので書き込みます。

>>5 さん

FAQまとめていただいてありがとうございます!
先ほどサイトに反映させました。感謝です。

>>17 >>18 >>19 で触れられている問題にも対応しようと思います。

21pha:2010/12/12(日) 18:29:44
そういやこないだEasyBotterを改造してマルコフ連鎖で文章を生成するbotを作りました。
http://twitter.com/kuroneesan_bot
http://d.hatena.ne.jp/pha/20101211/1292045925
他にも使いたい人がいそうならそのうちソースを公開するかもしれません。

22名無しさん:2010/12/15(水) 21:07:57
もしソース公開されるんでしたら是非やってみたいです


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板