したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

TwitterBotPHP質問スレ

523名無しさん:2010/10/23(土) 23:52:53
【バージョン】Ver.2.04beta
【設置鯖名】@PAGES
【PHPのバージョン】
【手動】 動く
【実行】 GEA
【実行間隔】 2分

「特定のアカウントに対しては、別のリプライパターンを読み込ませる機能」について質問です。

非公式Wikiの「特定のアカウントに対しては、別のリプライパターンを読み込ませたい」という項目を参考に
特定のアカウント(相手bot)から貰ったリプライに対して、別のリプライを送る事に成功しました。
これを応用して、相手botのTLには専用のリプライを送るように改造してみましたが、反応する確率が低くて困っています。

//タイムラインへの反応を作る
function makeReplyTimelineTweets($timeline, $replyPatternFile){
if(empty($this->_replyPatternData[$replyPatternFile])){
$org_repfile = $replyPatternFile; //■■デフォルトのファイル名を保管(追加1行だけ)■■
$this->_replyPatternData[$replyPatternFile] = $this->readPatternFile($replyPatternFile);
}
$replyTweets = array();
foreach($timeline as $tweet){
$status = "";
$re = array();
$text = (string)$tweet->text;
//リプライパターンと照合
//■■特定の人には別パターン(追加ここから)■■
$userName = (string)$tweet->user->screen_name;
switch(true){
case stristr($userName, "bot")://botに対して
$replyPatternFile = "pattern.php";//pattern.phpを適用する
$this->_replyPatternData[$replyPatternFile] = $this->readPatternFile($replyPatternFile);
break;
default://それ以外
$replyPatternFile = $org_repfile; //デフォルトのパターンファイル名
}//■■特定の人には別パターン(追加ここまで)■■
foreach($this->_replyPatternData[$replyPatternFile] as $pattern => $res){

専用リプライを適用していない、他のアカウントに対しても鈍くなりました。
TLに全く反応しないのではなく、ごくたまにTLのキーワードを拾ってリプライをしている状況です。
手動でbot.phpにアクセスして、今までにでたエラーは

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

他に
object(SimpleXMLElement)#6
object(SimpleXMLElement)#13
で同じ内容のエラーが出ていました。
文字コードUTF-8、LFに設定してあり、パーミッションも666になっています。
何か解決策(TL反応率を回復させる方法)は有りますか?
TLを拾って専用リプライをする機能を入れる前は、TLをしっかり拾っていました。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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