したらば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
もしソース公開されるんでしたら是非やってみたいです

23名無しさん:2010/12/27(月) 22:54:42
phaさん板だからあげておこうかな

24名無しさん:2010/12/27(月) 22:55:13
sageとるの忘れてたorz

25名無しさん:2010/12/27(月) 22:55:56
連続ごめんorz

26名無しさん:2010/12/29(水) 06:35:55
http://twbot.blogspot.com/2010/11/pearoautheasybotterincorrect-signatur.html

27pha:2010/12/29(水) 17:27:32
>>17 >>18 >>19 >>26 の問題ですが、PEARを全部最新のにしたら直った気がします。
更新したものを公開しますね。

28pha:2010/12/29(水) 17:40:41
アップデートしました!
http://pha22.net/twitterbot/

29名無しさん:2010/12/31(金) 12:29:53
phaさんへ
バージョン記述を変えるのなら
アクセスするAPIのURLを新しいものにした方がよいと思います
その際に(現在の)function setUpdateのように「https:」にアクセスすると動作しないサーバーがあるようなので「http:」に統一した方がいいと思います
以上、怖くて本体改造はしない人たちの為にもお願いします

30pha:2011/01/01(土) 04:03:39
あ、API変更されてたんですか。気づいてなかった。対応しますー。

31名無しさん:2011/04/08(金) 22:17:02
phaさんスレはあげておいた方がいいので整理age

32名無しさん:2011/04/21(木) 08:23:19
>>21 のマルコフ連鎖のソース欲しいです

33名無しさん:2011/04/23(土) 21:02:14
あげ

34pha:2011/04/24(日) 01:57:16
>>32
うひー、把握です。
ちょっと気長に待ってくれるとうれしいです。

35名無しさん:2011/05/25(水) 06:06:04
あげ

36名無しさん:2011/05/31(火) 03:01:40
調整age

37名無しさん:2011/06/12(日) 18:47:52
あげ

38名無しさん:2011/07/06(水) 08:35:46
マルコフバージョン楽しみにしてます

39名無しさん:2011/07/06(水) 20:47:24
調整さげ

40名無しさん:2011/07/22(金) 18:14:31
あげ

41名無しさん:2011/10/15(土) 13:36:43
あげ

42名無しさん:2011/10/28(金) 02:00:02
調整あげ

43名無しさん:2011/11/27(日) 17:58:52
調整あげ

44名無しさん:2012/05/02(水) 20:38:46
5月14日にTwitterのAPIが改訂されます
https://groups.google.com/group/twitter-development-talk-ja/browse_thread/thread/2b000ebba6a3b4f4?pli=1

friends_timelineからhome_timelineへの移行など、
非公式wikiに紹介されているURLからさらに変更が必要な部分がいくつかあります

廃止されるエンドポイントなどの変更点の詳細は
https://dev.twitter.com/docs/deprecations/spring-2012
こちら(英語)にありますが、自分のテスト垢で入れ替えてみたところ、
friendsとfollowersなどURLをそのまま置き換えるだけでは動かない箇所があるようです

5月14日までと時間があまりないので、周知されないまま当日を迎えて不具合を起こすbotが
たくさん出るのではないかと予想されますがあまり話題になっていないようなので、
一応お知らせまで

45名無しさん:2012/05/04(金) 21:01:29
http://xvideos697.blog.fc2.com/

46名無しさん:2012/05/12(土) 18:46:17
>>44
何故このスレにww
何週間かの延期が決まったけど、その期間を過ぎれば、夏頃に非公式wikiに載ったapi更新方法だと
・フォロー返し
・tl反応
あたりがうまく動かなくなるはず
どっかにアップデートサンプルが上がってるの見たけどurlは失念した

47名無しさん:2012/05/16(水) 04:06:07
同じ内容の自動リプライ、TL反応リプライなどが増えると
アカウントの凍結や停止になるという話をきいたので
実装してほしい機能を要望したいと思います。
よろしくお願いします。

たとえば、「おはよう」に反応させている場合、フォロワー数が増えると
同じリプライが増えてしまいます。
リプライを返す確率を下げればいいのでは?という話もあるかもしれませんが
できれば全員に返したいのでリプライの返答を増やすとします。

//「おはよ」
"おはよ"=> array(
"おはようA",
"おはようB",
"おはようC",
"おはようD",
),

こんな風に増やせば「同じリプライ」にならないので
規制対象にならないのではないかと思いましたが
同じアカウントの人が「おはよ」を含む単語を発言するたびに
反応してしまうと思います。

同一アカウントのユーザに同じ単語の反応回数の制限、もしくは
1日に一度しか反応させないなどの機能の実装をお願いします。

48名無しさん:2012/05/16(水) 11:49:14
>>47
フォロワーがよく使う語句は{name}いれれば解決できると思う。二重投稿回避できるメリットもあるよ
リプライ、TL反応含めアカウント凍結や停止はツイッター側の判定があいまいで、>>47の言うような策をとったら絶対安全というものでもないだろううし
気になるほど同じリプするフォロワーにはwikiにあるようなIDに回数制限つけるほうが即効性あるでしょう

49名無しさん:2012/05/23(水) 13:44:03
>>48
回答ありがとうございます。
{name}を入れる方法は特定の単語に対しては有効ですね〜 良いアドバイスありがとうございます。

{name}を入れる方法もひとつだと思うのだけど、BOTのキャラによって入れるのが問題になる場合もあると思います。
例えば、BOTのキャラの性格によって「さん」とか「君」とか呼び捨てにできない場合、男女別に分けられないですしね。
また、今回の問題に相当するすべての反応語句に{name}を入れるのも微妙です。

>気になるほど同じリプするフォロワーにはwikiにあるようなIDに回数制限つけるほうが即効性あるでしょう
これなんですが、>>47でたとえで言いました「おはようA」「おはようB」の場合ですよね?
今現在のフォロワー数が2300ほどで月に約100人くらいずつ増加してます。
規制する人数がどんどん増えていってしまうような気がします。
今日の朝の「おはよ」に反応した人数は120人ほどですが、このまま推移するともっと増えていくと思います。
その場合、重複して何度も「おはよ」という単語を発言する人数も増えていきます。
また「おはよ」以外に例えば「こんにちは」など他の単語の重複を考えると限界があると思われます。

理想としては、できれば「おはようA」「おはようB」など作るのではなく
元の話に戻って、同じリプライを返すと規制対象になるのでは?とうことから
例えば「おはよ」という単語に対して同一フォロワーに反応回数の制限をかけるほうがよいと思います。

50pha:2012/10/14(日) 10:59:01
phaです。ずっと放置していてすみません。
EasyBotterが数日前から動かなくなってるようなので修正版を配布する予定です。
最近ずっとほったらかしだったんだけど、他にもついでに修正しとくべきところってあるかな。
あったら教えてください。

51彩子:2012/10/14(日) 12:05:45
pha様
最近botの調子が悪く、PHPサーバかcronのせいかな?と思っていたんですが、twitterの仕様がまた変わったんですかね。。。
phaさんの書き込みをみて納得いたしました。

忙しい中と思いますが修正版よろしくお願いいたします。
寒い季節になりましたのでお体にはお気をつけくださいませ。

52pha:2012/10/14(日) 16:09:08
>>51
ありがとうございます!!!

53名無しさん:2012/10/14(日) 19:37:01
このスレが上がっていたので、またスパム書き込みかなと思いましたが
まさかのphaさん降臨で嬉しいです
しかも修正版が作られる予定と聞いてさらに喜んでいます

Twitter側であれこれと機能の改訂が行われているようで
今後どうなるのかな、と不安に思っておりました
なにかとご面倒なことでしょうが
できればなるべく長くbot運営を楽しませていただきたいので
ご無理のない範囲で、どうぞよろしくお願い致します

54pha:2012/10/14(日) 22:12:38
>>53
ありがとうございます。ちょっと頑張ってみます。

しばらくほっておいてたので何をしたらいいか調べてるところです。
xmlからjson対応しないと来年3月でまた止まってしまうということなのかな。
jsonに変えるつもりです。

55pha:2012/10/14(日) 22:13:46
http://kikuetsuhareka.info/2012/09/30/easybotter%E3%82%92php5-4%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B/

ここも参考にします。PHPが5.4になってたのか。。。

56pha:2012/10/14(日) 22:15:41
この機会にいろいろ直すつもりです。

57名無しさん:2012/10/14(日) 23:36:48
phaさん、お疲れ様です。
jsonへの対応はAPIの変更は出来たのですが、
IDの部分も変更しないと手動投稿の画面でツイートIDが一致しなかったり
ログが記録できずに二重投稿になってしまって
何度やっても自分では修正できずに悩んでいたので
修正版を作られると知って嬉しく思っています。

EasyBotterを使用させて頂いてからTwitterも更に楽しくなりました。
Twitterの仕様変更で修正が大変かと思いますが、これからも応援しています!

58pha:2012/10/15(月) 08:29:05
>>57
どうもですー。

59pha:2012/10/15(月) 08:31:45
最新のAPIに変更
http://www26.atwiki.jp/easybotter_wiki/pages/34.html
だと、来年3月にまた止まってしまうようなので、xmlを使うものからjsonを使うものに書き直すつもりです。

json_decodeって関数使うとPHP5.2以上じゃないと動かないぽいんだけど、それでも大丈夫かなあ。
大体みんな5.2以上かなって思うんだけど。。。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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