EasyBotter 非公式wiki

ver.2.0*よくある質問*PHPエラー

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
まずはbot.php/setting.phpに書かれている説明と、EasyBotter公式サイト設定手順・エラー解決編を熟読しよう。
wikiを見ても分からないところが出てきたら質問スレッドで質問しよう!
bot.phpやEasyBotter.phpを編集する上で、基本使いそうなPHP制御構造等はTwitter Bot関連リンクにお勧め解説サイトをリンクしています。
※wikiの編集が分からなくて、追加してほしい項目がある場合はページ下の「コメントを書く」から誰かに頼んで下さい。

object(SimpleXMLElement)#10 (2) {~~エラーが出ます

"Incorrect signature"エラー


object(SimpleXMLElement)#10 (2) {
["request"]=>
string(20) "/statuses/update.xml"
["error"]=>
string(19) "Incorrect signature"
}

というエラーが出る。

setting.phpに間違いは有りませんか?
OAuth認証コードが古いものだったりしませんか?
OAuth設定項目のアプリケーション設定がBrowserになっていませんか?Clientにして下さい。

他には data.txt なり指定されたテキストファイルの文字コードが shift-jis ではありませんか?
文字コードがおかしいと投稿時にエラーがでます。
指定するテキストファイルは全て UTF-8 に変換してください。

"Status is a duplicate."エラー


object(SimpleXMLElement)#10 (2) {
["request"]=>
string(20) "/statuses/update.xml"
["error"]=>
string(22) "Status is a duplicate."
}

というエラーが出る。

「duplicate」つまり重複です。Twitterでは同じ発言を繰り返し投稿できません。少なくとも10ツイートはあける必要があります。
これはランダム投稿用データが少ない時に発生します。
また、bot.phpでpostRandom()が同時に動く時も発生する可能性があります。

Fatal error: Uncaught~~エラーが出ます


Fatal error:  Uncaught <table border="1" cellspacing="0">
<tr><td colspan="3" bgcolor="#aaaaaa" align="center"><b>Exception trace</b></td></tr>
<tr><td align="center" bgcolor="#cccccc" width="20"><b>#</b></td><td align="center" bgcolor="#cccccc"><b>Function</b></td><td align="center" bgcolor="#cccccc"><b>Location</b></td></tr>
<tr><td align="center">0</td><td>HTTP_OAuth_Consumer_Request->send()</td><td>フルパス/PEAR/HTTP/OAuth/Consumer.php:250</td></tr>
<tr><td align="center">1</td><td>HTTP_OAuth_Consumer->sendRequest('https://twitter.&hellip;',  Array,  'POST')</td><td>フルパス/EasyBotter.php:517</td></tr>
<tr><td align="center">2</td><td>EasyBotter->_setData('https://twitter.&hellip;',  Array)</td><td>フルパス/EasyBotter.php:528</td></tr>
<tr><td align="center">3</td><td>EasyBotter->setUpdate(Array)</td><td>フルパス/EasyBotter.php:162</td></tr>
<tr><td align="center">4</td><td>EasyBotter->re in フルパス/PEAR/HTTP/OAuth/Consumer/Request.php on line 214

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

land.to鯖では反応するものがないと「*以内に受け取ったメッセージはありません」と表示はしますが、実際リプライを受け取って返そうとするとこのエラーが出ます。
curlが使えないことによるものだと思われます(ver1.42にOAuthをつけると、curlエラーが出て動かない。)
Windows環境にてopensslが有効になってないと発生しました。

bot.phpを実行した時、ブラウザ側が文字化けする


例:"Status is a duplicate."エラーの時
Twitter縺ク縺ョ謚慕ィソ縺ォ螟ア謨励@縺セ縺励◆縲
繝ヲ繝シ繧カ繝シ蜷搾シ咫 id
 object(SimpleXMLElement)#10 (2) {
 ["error"]=>
 string(22) "Status is a duplicate."
 ["request"]=>
 string(22) "/1/statuses/update.xml"
}
EasyBotter.php
rep.php
reply_pattern.php
setting.php
bot.php
data.txt
の文字コードがUTF-8で保存してあるか確認してください。
備考:配布されているデフォルトのソースファイルではUTF-8N(UTF-8のBOMなし)になっています。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー