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

EasyBotter初心者質問スレ4

261名無しさん:2012/04/04(水) 02:51:59
>>260
まずは>>1-3

262名無しさん:2012/04/04(水) 02:52:23
>>260
まずは>>1-3

263名無しさん:2012/04/04(水) 09:48:52
>>261
役に立ちそうなのは全くありませんでした。

264名無しさん:2012/04/05(木) 03:10:35
【バージョン】2.05
【設置鯖名】 @page
【PHPのバージョン】5.3.10
【手動】 動かない
【実行】 SetCronJob
【実行間隔】 3分間隔
【不明点】
時間の条件に合わせて違うポストをするようにしたいと思っています。
現在は試しに、1時間の30分より前か、後かで条件分けをしています。

if(date("i") < 30){
$response = $eb->postRandom("days_7.txt");
} else {
$response = $eb->postRandom("data.txt");
}

ただ、data.txt単体でしたら手動でもcronでも問題なく動くのですが、
days_7.txt単体だけ(if(date("i") < 30){$response = $eb->postRandom("days_7.txt");} など)にして手動で動かそうとしても動きません。
以下がdays_7.txtを文章に記載した際に出るエラー文です。

object(SimpleXMLElement)#5 (2) {
["error"]=>
string(34) "Could not authenticate with OAuth."
["request"]=>
string(22) "/1/statuses/update.xml"
}
または
object(SimpleXMLElement)#5 (2) {
["error"]=>
string(47) "Invalid Unicode value in one or more parameters"
["request"]=>
string(22) "/1/statuses/update.xml"
}

新しく呟き内容のtxtを増やした場合、EasyBotter.phpの改変も必要なのでしょうか?
調べてみても、ただbot.php内に新しいtxtを増やした場合の条件分けしか載っていないので、
EasyBotter.phpの改変は必要ないのかと弄っていないのですが、
そのままだとどうやってもdays_7.txtを読み込んでくれないので、もうお手上げ状態になってしまいました。
お手数ですがどなたかご教授賜れませんでしょうか。何卒よろしくお願いいたします。

265名無しさん:2012/04/05(木) 21:34:10
【バージョン】2.05
【設置鯖名】 @page
【PHPのバージョン】5.3.10
【手動】 動かない
【実行】 【実行間隔】 3分間隔
【不明点】

266名無しさん:2012/04/05(木) 21:37:45
>265
レス誤爆しました。失礼しました。

267名無しさん:2012/04/06(金) 07:59:39
【バージョン】2.05
【設置鯖名】 @pages
【PHPのバージョン】5.3.10
【実行】 gae-cron
【手動】 動かない
【不明点など】bot.phpが白紙状態

現在、wiki通りの手順でリプライだけを行うよう指定し、FFFTPでアップロードするところまで来ています。
そのままではbot.phpは真っ白なので色々パーミッションを設定してみたのですが、結局bot.phpの画面が真っ白のまま変わりませんでした。
phpファイルにはPHPエディタ[UTF-8 LF]を使用し、datファイルにはTeraPad[UTF-8N LF]を使用しています。
data.txtの文字コードが直しても変わってしまうので今はdata.phpに書き直しています。
過去スレに書いてあることはある程度試しているのですが、
phpファイルにミスは見受けられないし、文字コードも問題なさそうなのでパーミッションが問題なのかなと考えています。
以前はちゃんと自動で動いていたのですが、色々あって現在全て最初からやり直している状態です。
その時も真っ白な状態がずっと続いていて、
過去スレを見ながらあれやこれやと訳も分からないままにいじっていたら出来たという感じだったので解決策が分かりません。
今現在のパーミッションはPEAR755/dat666(606)/php/644に設定しています。

どなたかお時間ありましたらご教授いただけないでしょうか。お願いします。

268名無しさん:2012/04/06(金) 18:23:26
>>264
days7.txtがUTF-8になっていない関係で、自力解決いたしました。
お騒がせいたしました。

269名無しさん:2012/04/07(土) 01:20:21
>>263
テンプレ使ってない=>>1-3読めてない

270age:2012/04/17(火) 18:15:11
【バージョン】 Ver.2.0x
【設置鯖名】 ロリポップ(コロリポ)
【PHPのバージョン】5.2
【手動】 動く
【実行】 ロリポップの付属cron
【実行間隔】 10分間隔
【不明点】
現在、複数人格のbotを製作しているのですが、「かっこいい」とリプを貰った時の反応に苦戦しています。
//「格好良い」発言個別反応
"格好良い|格好イイ|格好いい|カッコ良い|かっこ良い|かっこい[いー]|カッコイ[イー]|カッコい[いー]"=> array(
"田中「ありがとう」",
"山田「ありがとうございます」",
"鈴木「さんきゅー」",
),
と設定し、リプも問題なくランダムで返ってくるのですが、この反応以外に「田中+かっこいい」「山田+かっこいい」「鈴木+かっこいい」
でもそれぞれ個別の反応をさせたいのです。
しかし初心者なりに頑張ってみたのですが、「田中さんかっこいい」等でリプを送っても「かっこいい」という部分にしか反応せず、
ランダムリプライを返してきてしまいます。
過去スレで似たような質問があり、その時は優先順位を上にすれば良いとあったのですが、どのように優先順位を付ければ良いのか
わかりませんでした。
何かアドバイスを頂けると助かります。宜しくお願いします。

271名無しさん:2012/04/18(水) 07:11:31
>>270

「田中+かっこいい」「山田+かっこいい」「鈴木+かっこいい」を「かっこいい」より先に記述すればいいだけ。

272age:2012/04/18(水) 14:17:58
>>271
ご返答有難うございます。最初にその方法を試した際にはやはり「かっこいい」にしか反応しなかったので悩んでいましたが、
改めて記述を先にして試してみたらしっかりと反応してくれました。
アドバイス頂き、本当に有難うございました。

273名無しさん:2012/04/24(火) 23:50:46
正常に動作しているのですが質問があります。
reply_pattern.phpにて、

"今日のご飯"=> array(
"Aだよ",
"Bだよ",
"Cだよ",
"Dだよ",
),

同じ人が「今日のご飯」と単語を連続して発言した場合、何度も答えてしまうのを止めることはできますか?
いまのところ「Aだよ」というレスのみにして対応していますが、上記のようにA〜Dまで増やすと「今日のご飯」と発言するたびに答えてしまいます。
同じ人に対して、2度目は答えない方法がありましたら教えていただけないでしょうか
よろしくお願いします

274名無しさん:2012/04/26(木) 00:10:53
>>273
ログとらないと無理=要改造=初心者スレの範疇外

初心者スレの範疇でのやり方は、日にちや曜日別で読み込むファイルを固定することかな
月曜日に読み込むリプライパターンには
"今日のご飯"=> array(
"Aだよ",
),
火曜日に読み込むパターンには
"今日のご飯"=> array(
"Bだよ",
),
のようにしていけばいい
これが面倒なら精進して改造

275名無しさん:2012/04/26(木) 00:45:31
最近、RTやQTを使わない 「” ”」で囲んだ引用のツイートが増えてきたのですが
そのツイートにリプライパターンで反応してしまうのを止める方法はありますか?

276名無しさん:2012/04/26(木) 04:01:39
バージョン】Ver.2.0
【設置鯖名】 @pages
【PHPのバージョン】???
【実行】 主導
【手動】 動かない
【不明点など】
プログラミングができなくても作れるTwitter botの作り方http://pha22.net/twitterbot/
EasyBotter 非公式wiki http://www26.atwiki.jp/easybotter_wiki/pages/1.html

を参考にして、bot.phpで「2分以内に受け取った@はないようです。」とメッセージが出るところまで行ったのですが、本垢からボットにリプしても、ボットからリプしてもbot.phpの内容に変化がありません。
エラーメッセージはありません。どうしたらいいのでしょうか?

277名無しさん:2012/04/27(金) 12:59:30
>>275
つ【正規表現】

278名無しさん:2012/04/27(金) 13:09:45
>>276
settingファイルの内容を確認
botのスクリーンネームの大文字小文字も含めて合ってるかなど
データファイルのパーミッション、bot.phpを再確認

それでも解決しない場合はbot.phpをコピペ

279名無しさん:2012/04/27(金) 13:10:04
>>276
settingファイルの内容を確認
botのスクリーンネームの大文字小文字も含めて合ってるかなど
データファイルのパーミッション、bot.phpを再確認

それでも解決しない場合はbot.phpをコピペ

280名無しさん:2012/04/28(土) 12:34:19
一応お知らせ
サーバーに@PAGE使ってる人いたら、現在サーバー大規模障害で通常アドレスだとエラーが出るようになってます。
coronや利用しているアドレスを下記のように書き換えて対応したがいいよ。

お客様のURLが
http://www42.atpages.jp/アカウント名/
の場合
http://www42.atpage.jp/アカウント名/
となります。

詳細:
http://desk.atfreaks.com/tickets/form/atpages
http://d.hatena.ne.jp/tondol/20120428/1335561286

281名無しさん:2012/04/28(土) 12:45:06
すみません、cronスレに書いたつもりがスレ間違えた……スルーして下さい……

282名無しさん:2012/04/28(土) 14:05:57
>>280
@pages使ってたので助かりましたありがとうございます

283名無しさん:2012/04/28(土) 17:52:50
>>275
>>277
せめてこれくらいはってやれよ
http://www.scollabo.com/banban/php/php_15.html

284名無しさん:2012/04/30(月) 00:59:48
【バージョン】 Ver.2.05
【PHPのバージョン】PHP 5.2.6
【不明点】
リプライの正規表現について質問です。
<あいうえお>という言葉に反応させたり、あいうえおの部分を使ったりしたいのですが、<(.+)>では反応しません。
<あいうえお>で<(.+)>には反応します。

285名無しさん:2012/04/30(月) 05:05:10
>>277

//「"」を含む発言を受け取るとリプライを返さなくする
"""=> array(
"[[END]]",
),

これでいいんですかね?

286名無しさん:2012/04/30(月) 11:10:26
>>285
つ【メタ文字】

287名無しさん:2012/04/30(月) 12:29:55
>>286

//「"」を含む発言を受け取るとリプライを返さなくする
"(")"=> array(
"[[END]]",
),

メタ文字? こうですね?

288名無しさん:2012/04/30(月) 23:48:16
>>287
違いますね?

289名無しさん:2012/05/01(火) 04:31:22
>>288
違いますね???

誰かわかる方がいたらよろしくお願いします

290名無しさん:2012/05/01(火) 16:22:44
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231046/
これの「ダブル・クォーテイション(")」のところに書いてあるようにバックスラッシュをつければいいのかな?間違ってたらごめんぬ。

//「"」を含む発言を受け取るとリプライを返さなくする
"\""=> array(
"[[END]]",
),

291名無しさん:2012/05/01(火) 22:23:51
>>290

「"」もメタ文字扱いなんですね
勉強になりました。 ありがとうございます。

292名無しさん:2012/05/03(木) 14:48:25
例えば

"^(aa|bb)(cc|dd).?$"=> array(
"ggg",
),

このままですと反応しないのですが、先頭の「^」をとると反応します。
「^」と「$」を使って「(aa|bb)(cc|dd).?」だけに反応させたいのですがどこが間違っているかアドバイスをお願いします

293名無しさん:2012/05/04(金) 10:38:26
>>292
http://jbbs.livedoor.jp/bbs/read.cgi/internet/6629/1259689986/
ここの550辺りから

294名無しさん:2012/05/08(火) 01:03:19
【バージョン】 Ver.2.05
【設置鯖名】 さくらインターネット(スタンダード)
【PHPのバージョン】5.2.17
【手動】 動かない
【実行】 現在は手動
【不明点】
 ダウンロードしたphpやtxtを、CrecentEveで編集し、文字コードUTF-8、改行をLFにして保存、サーバーにアップロードしました。そして、data.txt・reply_pattern.php・reply_random.txt(TL反応用)・reply_pattern.php(TL反応用)・log.datのパーミッションを666にしました。
 結果、通常ツイート用のphpは正常に動作しましたが、リプライ用のphpは「60分以内に受け取った@はないようです。」と出て動作しませんでした。当然そのbotと相互フォローのアカウントから、reply_pattern.phpに対応するポストを投げてから動作させました。過去ログからテスト用のreply_pattern.phpの内容をお借りしてphpを起動してみましたが、同様の結果でした。
 また、リプライ用のphpにTL反応も兼ねさせたのですが、そっちは「60分以内〜」すら出ず、動作していないようです。
 ルートフォルダのファイルのパーミッションを全て755にして試したりもしましたが、結果は変わらずでした。

 試しに正常に動作した通常ツイート用のphpにリプ返しを行う分を貼りつけてみた所、「投稿するメッセージがないようです。60分以内に受け取った@はないようです。(改行省略)」と出て通常ツイートすら機能しなくなりました。さくらインターネットのファイルマネージャーからの編集・CrecentEveで文字コード等合わせてアップロード・TeraPadでUTF-8Nにしてアップロード、どれも試しましたが同じ結果でした。
 その後、正常に動作していた時に取っておいたバックアップのzipを解凍してみた所、バックアップを取る前は正常に動作していた通常ツイート用phpも動作しなくなりました。

 気になったのは、CrecentEveで保存した物、TeraPadで保存した物を含めてファイルマネージャーのテキストエディタで開くと何故か文字コードがEUC-JPになっていた事です。逐一UTF-8に変更して保存しても、次に開くとEUC-JPになっていました。
 因みに別途で保管していて、正常動作を確認してから手つかずのフォルダの通常ツイート用phpは正常に動作し続けています。こっちの方でもリプライ用のphpは「60分以内に〜」のリプ返しについての事が書かれるだけで、TL反応に関しては何も書かれていませんでした。


 そこでお伺いしたいのは、

・何故通常ツイート用のphpが動作してリプライ用のphpが動作しなかったのか?
・何故勝手に文字コードがEUC-JPにされるのか、それがこの動作不全に関係しているのか?(EUC-JPに書き変えられるのがファイルを保存した時か開いた時か)

 この2点です。他にも問題はあるかもしれませんが、今の所質問という形にできるのはこの2つです。
 この段階まで来るのに1ヶ月以上かかっており、疲れとかで凡ミスなのかもしれませんが、力添えしていただけると助かります。

295名無しさん:2012/05/08(火) 06:39:40
【バージョン】 Ver.2.05
【設置鯖名】 @pages
【手動】 動かない
【実行】 現在は手動
【不明点】easybotter.phpの中身がこれしかないのですが…
----

'; $header .= ''; $header .= ''; $header .= ''; $header .= '
';
print $header;
}

//表示用HTML
function printFooter(){
echo "

----

296名無しさん:2012/05/09(水) 14:08:52
【バージョン】 2.05
【設置鯖名】 レン鯖名/ロリポップ
【PHPのバージョン】5.2
【手動】 動く
【実行】 CRON鯖名/ロリポップ
【実行間隔】 5分間隔
【不明点】

問題なく動いてはいるのですが毎回同じ長文エラーがでてしまい、エラーについて検索したり
一から設置しなおしたりと自分なりに試行錯誤したのですが解決できず、悩んでいます。
エラーの内容、このまま放っておいてもいいのかどうか、ご教授頂けるとありがたいです。
弄った部分はEasyBotter.phpのAPI更新、bot.php(ログ記録、一時間に一回ツイート、TL反応の確立2/5)です。

297296:2012/05/09(水) 14:11:19
下記がエラー内容になります

5分以内に受け取った@はないようです。
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 10: parser error : Opening and ending tag mismatch: link line 9 and head in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: </head> in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 25: parser error : Entity 'rarr' not defined in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: <li><a href="//twitter.com" id="homeLink">Home &rarr;</a></li> in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 36: parser error : Opening and ending tag mismatch: img line 35 and div in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: </div> in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 38: parser error : Entity 'mdash' not defined in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: <p>Thanks for noticing&mdash;we're going to fix it up and have things ba in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 60: parser error : Entity 'copy' not defined in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: <li class="first">&copy; 2012 Twitter</li> in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 187: parser error : Opening and ending tag mismatch: div line 32 and body in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: </body> in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 188: parser error : Opening and ending tag mismatch: body line 11 and html in /home/users/2/***/web/testbot2/EasyBotter.php on line 516

298296:2012/05/09(水) 14:13:16
Warning: simplexml_load_string() [function.simplexml-load-string]: </html> in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 189: parser error : Premature end of data in tag link line 8 in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 189: parser error : Premature end of data in tag meta line 6 in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 189: parser error : Premature end of data in tag meta line 5 in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 189: parser error : Premature end of data in tag meta line 4 in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 189: parser error : Premature end of data in tag head line 3 in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 189: parser error : Premature end of data in tag html line 2 in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: in /home/users/2/***/web/testbot2/EasyBotter.php on line 516
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/users/2/***/web/testbot2/EasyBotter.php on line 516

Twitterへの投稿に成功しました。
@に投稿したメッセージ: http://twitter.com//status/

EasyBotter.phpの156行目の記述は
$response = simplexml_load_string($response->getBody());
となっています

連投すみません。
ヒントだけでも教えて頂けると助かります。

299名無しさん:2012/05/09(水) 18:33:40
【バージョン】 2.05
【設置鯖名】 レン鯖名/@pages
【PHPのバージョン】5.2
【手動】 動かない
【実行】 CRON鯖名/FWCS
【実行間隔】 5分間隔
【不明点】リプライのみ反応しない。
テストbotと本botの2種類を、フォルダだけ分けて動作させています。

テストbotは手動でもcronでもリプライ・TL反応するのですが、
本botは手動の段階で、TL反応はするのにリプライに反応しません。
5分以内に受け取った@はないようです。
と返されます(テストbotから@送って5分以内です)。
bot.phpの中身は

<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("EasyBotter.php");
$eb = new EasyBotter();

$response = $eb->reply(5,"data.txt","reply_pattern_rp.php");
?>

のみにしても、

5分以内に受け取った@はないようです。

となります。
テストbotとはフォルダ名が異なるだけなので、試しにテストbotの中身をそっくり
本botに入れてみたのですが反応せず(Aouthの値は直しました)。
データ削除・再UPもしましたが駄目でした。
どうしたらいいのかわからず途方に暮れています。
どなたかいらっしゃいましたらご助力願います。

300名無しさん:2012/05/09(水) 20:54:45
>>299
bot.phpよりreply_patternやEasyBotterの方が怪しい気がする
テストbotが動いてるならそれを保存して使えばいいと思う

301名無しさん:2012/05/10(木) 22:00:30
>>294
>CrecentEveで保存した物、TeraPadで保存した物を含めてファイルマネージャーのテキストエディタで開くと
何故か文字コードがEUC-JPになっていた事

CrecentEvekの仕様をちゃんと読んだかな?※UTF-8,UTF-16はShift_JISに変換可能な文字にのみ対応と書いてある
違うエディター(TeraPad使っているならTeraPad)のみで編集・ファイルを開いた方がいいと思う

いろいろいじくりすぎて、どこで間違えてたのかが分かりづらくなっていると思う
まずはデフォルトで動くことを確認してから機能を増やしていったらいいと思う

あと、bot.phpがどうなっているか知りたいところ。reply_random.txt(TL反応用)・reply_pattern.php(TL反応用)
と2つあるのも謎。
TL反応は$response = $eb->replyTimelinee(何分毎にするかの数字,"TL反応用.php")だから1つでいいはずなんだが?

302名無しさん:2012/05/10(木) 23:34:33
【バージョン】 Ver.2.05

【設置鯖名】 さくら

【PHPのバージョン】5.2.17

【手動】 動く

【実行】 CRON鯖名/さくら

【実行間隔】 5分間隔

2点質問失礼します。


【不明点・1】

data.txt内に@{follower_id (内容)}を記述してリプライを行うようにしているのですが、
「@ (内容)」と、空白になってしまいます。
data.phpに差し替えて{id}にしても空白。
data.txtで{id}表記にしたらなぜかたまにちゃんとフォロワーIDを拾ったりするのですが、
ほとんどの場合は空白です。

過去ログを検索した所、似たような現象の質問が複数ありましたが、
「フォローが外れた人を偶然拾った場合」
→鍵をつけて試行錯誤制作中なので別垢2つからのフォローのみ、該当しません。
「TLに人がいないと起こりやすい」という方もいらっしゃいましたが、
具体的な解決策は見当たりませんでした。

【不明点・2】
上記前提で、@{id}または@{follower_id}で、botが自分のIDを呟いてしまいます。


過去ログを検索した所、同じ症状の方もいらっしゃって、回答に
「setting.phpのid記載が間違っていなければ起こらないはず」

とありましたが、
id項目には記載ミスありません。

気になっているのが、当初botを作った際、取得できる適当なIDを取ったことです。
botが動くようになってきたので、twitter設定でbot内容に見合ったIDに変更しました。
それに伴い、setting.phpのid欄も変更し、アップロードしなおしました。
ID変更までは起こらなかった現象ですので、これが関係しているように思われます。
twitterで自botを検索すると、古い方のIDでひっかかったりもしたので、
そういう反映どうこうの問題だろうかとも考えたのですが、
ID変更から既に丸一日以上が経過し、検索結果等も新IDしか出ない状態です。

以上2点、どうかご教授いただければ幸いです。

303302:2012/05/10(木) 23:38:02
> data.txt内に@{follower_id (内容)}
は、「@{follower_id} (内容)」の書き込みミスです。失礼致しました。

304294:2012/05/11(金) 00:14:22
 すみません、思考錯誤した結果UTF-8で保存する事には成功しました。

>>301
 記載ミスでしたねすみません、reply_random.txtは該当語句無いリプライ返し用です……。
 一部状況でながら通常ツイートには成功しているので、それと同じようにリプライもやろうとしてみた所、現在の状態に至っています。
 デフォルトの物を一部//を抜いてアップロードして試しに動かしてもみましたが、状況は変わりませんでした。

 リプライ返し・TL反応用のphpがこうなっています。
=============================================
<?php
require_once("EasyBotter.php");
$eb = new EasyBotter();
$response = $eb->reply(60,"data.txt","reply_pattern.php");
$response = $eb->replyTimeline(60,"tlreply_pattern.php");
?>

305名無しさん:2012/05/11(金) 10:26:09
>>294
304を見る限り、該当語句無いリプライ返しはdata.txtからになってるけど…294的にこれでいいのか
あとはTL、リプライともcron実行間隔が60分だけどこれは意図したものなのか
カキコ見る限り1ヶ月いじって案外基本的な正確さが疎かになってるんじゃないかなぁ

306294:2012/05/11(金) 20:55:05
>>305
すみませんコピペする元を間違えてました…けど、ファイル名以外はこれをそのまま同じです。
間隔を60分にしてあるのは意図的です。いずれは1時間に1回cronで起動させる予定なので。

307名無しさん:2012/05/12(土) 02:11:35
>>294
自分でとったバックアップじゃなくてHPのものからやり直してみた?
デフォでは間隔が2分になってるから動くまではいじらない方がいいかも

308294:2012/05/12(土) 13:45:29
>>307
ダウンロードした物ほぼそのままでも試してみました。(setting.phpを変更・bot.phpのリプライ返信の//を消したのみ)
その状態でもリプライ投げて(おはよ)bot.phpを起動してみましたが、やっぱり動作しませんでした。

取得範囲広げ過ぎると、取得量多すぎて動作不完全になったりするのでしょうか?

309名無しさん:2012/05/13(日) 00:45:00
【バージョン】Ver.2.05
【設置鯖名】 @PAGES
【PHPのバージョン】5以上
【手動】 動く
【実行】 Gae-Cron
【実行間隔】 なし
【不明点】 フォローはしてくれるけどリムーブしてくれない

 非公式wikiに紹介されていた半自動フォロー&半自動リムーブを導入しているのですが、
フォローだけはしてくれるのですが、リムーブ処理を行わせるワードを入れてリプライしても
reply_pettern.phpに記述した通りの反応は帰してくれるのですがリムーブしてくれません。EasyBotter.phpの記述は

//リプライパターンと照合
if(!empty($this->_replyPatternData[$replyPatternFile])){
foreach($this->_replyPatternData[$replyPatternFile] as $pattern => $res){
if(preg_match("@".$pattern."@u",$reply->text, $matches) === 1){
$status = $res[array_rand($res)];
for($i=1;$i <count($matches);$i++){
$p = "$".$i;
$status = str_replace($p,$matches[$i],$status);
}
break;
}
}
}
//パターンになかった場合はランダムに
if(empty($status) && !empty($replyFile)){
$status = $this->makeTweet($replyFile);
}
if(empty($status) || $status == "[[END]]"){
continue;
}
if(preg_match("@{.+?}@",$status) == 1){
$status = $this->convertText($status, $reply);
}
$reply_name = (string)$reply->user->screen_name;
$in_reply_to_status_id = (string)$reply->id;
switch(true){
//半自動フォロー
case stristr($status, "[[AUTOFOLLOW]]"):
$status = str_replace("[[AUTOFOLLOW]]","",$status);
$followreq = $this->consumer->sendRequest("http://twitter.com/friendships/create/$reply_name.json&quot;,array(),&quot;POST&quot;);
$re["status"] = "@".$reply_name." ".$status;
break;

//半自動リムーブ
case stristr($status, "[[AUTOREMOVE]]"):
$status = str_replace("[[AUTOREMOVE]]","",$status);
$removereq = $this->consumer->sendRequest("http://twitter.com/friendships/destroy/$reply_name.json&quot;,array(),&quot;POST&quot;);
$re["status"] = "@".$reply_name." ".$status;
break;

//その他
default:
$re["status"] = "@".$reply_name." ".$status;
}

という感じにしています。どうかご指導お願いいたします。

310名無しさん:2012/05/13(日) 10:12:55
>>309
改造はスレチ、2.0スレへ

311名無しさん:2012/05/13(日) 21:00:00
>>310
 う、失礼しました・・・・・・。

312名無しさん:2012/05/14(月) 23:32:55
【バージョン】Ver2.04
【設置鯖名】 @PAGES
【PHPのバージョン】Version 5.3.8
【手動】 動く
【実行】 SetCronJob
【実行間隔】 2分
【不明点】 時間通りにポストしたり、しなかったりする

過去ログを参照して自分なりに改変してみたのですが、
やはり時折ポストされないことがありますのでご質問させて頂きます。

3月から5月までの限定ポストとして設定してあります。
1時間ごとに1度sp_days.txtを参照して呟き、
6-8時、12時、21-23時、0-5時(これだけランダム)は別の時間分けしたポストを呟く設定にしてあります。
最初のif(date("i") == "0"||date("i") == "1")は、鯖とcronの時間がもしあった場合の保険として設定しています。


if(date("i") == "0"||date("i") == "1"){
if(date("n") >= 3 && date("n") <= 5 && date("G") >= 0 && date("G") <= 5){
if(rand(0,12) === 0){
$response = $eb->postRandom("sp_days_0.txt");
}
} elseif(date("n") >= 3 && date("n") <= 5 && date("G") == 6){
$response = $eb->postRandom("sp_days_6.txt");
} elseif(date("n") >= 3 && date("n") <= 5 && date("G") == 7){
$response = $eb->postRandom("sp_days_7.txt");
} elseif(date("n") >= 3 && date("n") <= 5 && date("G") == 8){
$response = $eb->postRandom("sp_days_8.txt");
} elseif(date("n") >= 3 && date("n") <= 5 && date("G") == 12){
$response = $eb->postRandom("sp_days_12.txt");
} elseif(date("n") >= 3 && date("n") <= 5 && date("G") == 21){
$response = $eb->postRandom("sp_days_21.txt");
} elseif(date("n") >= 3 && date("n") <= 5 && date("G") == 22){
$response = $eb->postRandom("sp_days_22.txt");
} elseif(date("n") >= 3 && date("n") <= 5 && date("G") == 23){
$response = $eb->postRandom("sp_days_23.txt");
} elseif(date("n") >= 3 && date("n") <= 5 ){
$response = $eb->postRandom("sp_days.txt");
}
}

日によって呟いたり、呟かない時間帯が発生してしまっています。
ex)その日の6時には呟いたけれど7-8時は呟かなかった。次の日は6時は呟かず、7-8時だけ呟いた、など。
呟かなかった時間もリプライはすぐに飛ばしてくるので、cronが止まっているということもありません。
以前過去ログで『処理が遅い事に由来したdate関数取得時間のズレ』もあるという言葉を拝見したのですが、
その場合どのように改変すればいいのかが分からずお手上げ状態です…

313名無しさん:2012/05/15(火) 22:07:35
>>312
0分or1分だとまだズレがあるのかな
EasyBotter2.0その2スレ(今一番上)の59辺りのレスが参考になると思うよ

314名無しさん:2012/05/15(火) 23:03:06
【バージョン】 Ver.2.0x
【設置鯖名】 ロリポップ(コロリポ)
【PHPのバージョン】5.2
【手動】 動く
【実行】 GAE/GAE-cron
【実行間隔】 5分間隔
【不明点】
@PAGESの時はGAEで問題なく動いていたのですが、ロリポップサーバにあるbot.phpに移行したらGAEでもGAE-cronでも動きません。
logを見ると code: 403 と出ています。

ロリポップに問い合わせをした所、外部サーバからのアクセス制限はしてないといわれました。
bot.phpのパーミッションを644から666にすると良いと見かけたのでそれも試してみましたが、動きませんでした。
サーバのアクセスログを見るとAppEngine-Googleと403という文字がありました。

過去ログも検索したのですが対処方法が分からなかったので書き込みさせていただきました。

アドバイスよろしくお願いいたします。

315名無しさん:2012/05/15(火) 23:42:04
>>314
ロリポはEasyBotter2.05フォルダのパーミッションを747に変えるいいらしいです。

316名無しさん:2012/05/16(水) 21:20:47
>>315
2.04を使っていたので2.05をDLしたのですが、フォルダは2.05と出ているのですがEasyBotter.phpを開くとEasyBotter Ver2.04betaと書いてあるのですが大丈夫でしょうか?
それからPEARとlog.datを2.05フォルダに入っていたものに変更しました。

さらに〜〜jp/b/bot1/bot.php みたいな感じになっているのですが、

bot1のパーミッションを747に変更
bのパーミッションを747に変更
ロリポップサイトに記載があるようにphpのものを全て604、datを600に変更
botのパーミッションを666に変更

上記の流れで一つ変更するたびにエラーを確認していったのですが、GAEのlogはcode: 403のままでした。

何か他に原因があるのでしょうか?

317名無しさん:2012/05/17(木) 08:13:32
>>316
手動では動くの?

318314:2012/05/17(木) 21:04:07
>>317
すみません、動く様になりました。
からっぽで忘れていた.htaccessが邪魔をしていたみたいです。
お騒がせいたしました。

319名無しさん:2012/05/17(木) 23:09:59
>>313
回答ありがとうございます!
どうやら時間のズレで遅れている訳ではなく、たくさん条件分岐を作ってしまったことによって処理が間に合わないことで上手く動かないようでした。

http://www26.atwiki.jp/easybotter_wiki/pages/25.html を参照し、
date("i")やdate("G")を$minute・$hourとして代入することで回避できないかどうかを試してみます。
置き換えてみたところエラーは出ていませんので、一日ほど様子を見て一時間に一度きちんとポストするかどうかを様子見してみようと思います。

320名無しさん:2012/05/18(金) 12:26:49
テンプレートを使うまでもない質問だと思いましたので、テンプレ無視で失礼いたします。

コメントアウト内にdate("i")〜などの記述をしていた際、
反応することはありませんが、処理的には負担が掛かるものなのでしょうか?
もしそんな記述のコメントアウトが大量にあった場合、
その関係でポストが出来なかったりすることもあるのかと思いまして…
お答え頂けたら幸いです。よろしくお願いいたします。

321名無しさん:2012/05/20(日) 15:12:51
【バージョン】2.05
【設置鯖名】 @pages
【PHPのバージョン】PHP-5.2系
【実行】 GAE/ブラウザ自動更新
【手動】 動く
【不明点など】
エラーではないのですが、こういうことは可能かどうかで質問です

こちらのbotのツイートに対するリプライについて、
どのツイートに対するリプライのかによって判断分岐したいのですが、
判定することは可能ですか?

クイズっぽいBotを作っているのでそういうことができたら助かります

322名無しさん:2012/05/23(水) 06:50:18
【バージョン】 2.05
【設置鯖名】 ロリポップ
【PHPのバージョン】5.3
【手動】 動く
【実行】 ロリポのcron
【実行間隔】 5分間隔
【不明点】
質問失礼します。

非公式wiki(ランダムPOSTを●分おき、リプライを▲分おきにしたい!)を参考に、
ランダムPOSTを30分おき、リプライを5分おきに設定したいのですがうまく動作しません。

$response = $eb->reply(2,"data.txt","reply_pattern.php");
のところを、cron設定にあわせて
$response = $eb->reply(5,"data.txt","reply_pattern.php");
としています。
wikiに掲載されている、
if(date("i") % 30 == 0){
$response = $eb->postRandom("data.txt");
}
をそのままコピペして使っているのですが、ランダムPOSTも5分おきに動作してしまいます。

ファイルの記述部分はこうです

//=============================
//botの動作をここに書いてください
//先頭に//がある行はコメント扱いなので実行しません。実行したい行の頭の//を削除してください。
//=============================
$response = $eb->autoFollow();
$response = $eb->postRandom("data.txt");
//$response = $eb->postRotation("data.txt");
$response = $eb->reply(5,"data.txt","reply_pattern.php");
//$response = $eb->replyTimeline(2,"reply_pattern.php");
if(date("i") % 30 == 0){
$response = $eb->postRandom("data.txt");
}


検索し、過去スレも見ましたが未解決なのでよろしくお願いします。

323名無しさん:2012/05/23(水) 09:51:04
>322
$response = $eb->autoFollow();
の下にあるランダムポストが有効になってる

324322:2012/05/23(水) 13:01:22
>>323 さん
できました!!!ありがとうございます、助かりました!

325名無しさん:2012/05/24(木) 14:28:37
【バージョン】 2.05
【設置鯖名】 @pages
【PHPのバージョン】5.2
【手動】 動く
【実行】 GAE
【実行間隔】 2分間隔
【不明点】
こちら(http://iztlbot.en-grey.com/Entry/25/)の天気予報スクリプトをリプライファイルに組み込むと
天気予報と共にリプライも二重投稿してしまいます(返さない時もあるんですが9割返って来ます)
検索したりリプライのphpファイルと天気予報のphpファイルを分けたりcronの時間をズラしてみたり
無知なりに色々やってみたんですが、どうしても解決しません
天気予報だけ返すにはどうしたらいいのでしょうか…宜しければ教えて下さい
リプライファイルは以下の感じです
<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("EasyBotter.php");
$eb = new EasyBotter();
$response = $eb->reply(2,"date.txt","reply_pattern.php");
?>

326名無しさん:2012/05/25(金) 22:41:48
>>325
reply_pattern.phpを編集して、「天気」を含むリプ受け取った場合、会話終了させたらいいんじゃないかな

327325:2012/05/26(土) 01:32:14
>>326
会話終了させればいいという事には全く気付けませんでした…
教えて下さってありがとうございました!

328あー:2012/05/29(火) 08:04:37
こんにちは!突然ですが質問させてください!
bot同士会話させる時、反応語に『^』とか『$』を使うと反応しないんでしょうか。
例えば僕の設定は
A『@BのID やあ!』(通常post)
B『やあAさん』(返信)
A『遊ぼうよ』(返信)
みたいな流れなんですが、僕は自分でプログラミングはしていないので
『^やあ!$』の様に完全一致した場合のみ『やあAさん』と返すようにしたかったのですが、シミュレーションではうまくいくのに実際ツイッターではうまくいかずランダム返信してしまいます。
どなたかご教授ねがいますm(_ _)m

329名無しさん:2012/05/30(水) 13:46:14
【バージョン】 2.05
【設置鯖名】 ロリポップ
【PHPのバージョン】5.3
【手動】 動く
【実行】 グーグルのcron
【実行間隔】 6時間隔
【不明点】
いきなり失礼します。
3つのツイッターアカウント(それぞれのトークンはあります)に対して、一つのbotを利用したいのですが、どう記述すれば出来るのでしょうか?
かれこれ1週間探していますが全く見つかりません。
もしかして、出来ないんですかね・・・。

330名無しさん:2012/06/06(水) 00:39:02
【バージョン】 2.04
【設置鯖名】 @pages
【PHPのバージョン】5.3
【手動】 動く
【実行】 GAE
【実行間隔】 3分ごと
【不明点】
半年ほど前から昨日まで正常に動いていたのですが、
突然今朝から定期post・リプライ共に2重で投稿してしまうようになりました。
2重で投稿しているものについては、全く同じ時刻に投稿しています。
(例えばAとBの言葉が2重に投稿されているとしたら、どちらも投稿時間が「30秒前」と同じ時刻の表記になっています)
最近は特に何も更新していないですし、何故このようになるのか調べても全く分かりません…
どなたか原因が分かる方がいらっしゃれば、教えて頂けますでしょうかorz

331名無しさん:2012/06/12(火) 15:32:49
【バージョン】 2.04
【設置鯖名】 @pages
【PHPのバージョン】5.3
【手動】 動く
【実行】 GAE
【実行間隔】 1分ごと
【不明点】
いきなり失礼します。
リプライだけ二重投稿してしまいます。
定期postは問題なく動いています。
リプライの投稿間隔が1分なのでリプライした後のcronでもう一度リプライしてるみたいです。
リプライの命令は、
$response = $eb->reply(1,"","reply_pattern.php");
のようになってます。
どうしたらいいのでしょうか。

332名無しさん:2012/06/12(火) 16:22:00
>331
自己解決できました。
log.datのパーミッションを666にしたら二重リプライしなくなりました。

333名無しさん:2012/06/28(木) 19:01:55
【バージョン】 2.04
【設置鯖名】 さくら
【PHPのバージョン】5.2
【手動】 動く
【実行】 さくら
【実行間隔】 5分ごと
【不明点】
http://www26.atwiki.jp/easybotter_wiki/pages/19.html
を参考にvia変更を試してみたのですが、手順4『oauth_test.phpへアクセス』
を行うと500エラーが出てしまい先に進めません。
問題なく動いているbot.phpと同じディレクトリですので、.htaccessやディレクトリパーミッションの問題ではないと思います。
OAuth.php、twitterOAuth.php、oauth_test.php3種のパーミッションを色々変更してみたり、
コピペミスを疑って何度か作り直し、再アップロードも試みましたが500から動きません。

500エラーでの検索や過去ログも探しましたが、手詰まりになってしまいました。
アドバイス頂ければありがたいです。

334名無しさん:2012/06/28(木) 19:11:51
【バージョン】Ver.2.04beta
【設置鯖名】 @Pages
【PHPのバージョン】5.2
【手動】 動かない
【実行】 手動

他の方と同様,bot.phpをブラウザ上で実行すると広告のみの白い画面が表示されるという現象です.
ファイルはDL後,非公式wikiの手動実行編の手順で編集したものです.

試してみた事は
・アップする前のファイルの文字コードの確認
・アップした後のファイルの文字コードの確認(data.txtのみ)
・パーミッションの変更(644-666)
・アップロードしたファイルの全削除→再アップ
・エディタの変更(さくらエディタ→terapad)

エディタは現在はTerapad,FTPはFFFTPを使用しています.
何か考えられる原因がありましたら教えて頂きたいです.

335名無しさん:2012/06/28(木) 21:36:19
>>333
自分も詳しいわけではないのですが、そのwikiの方法は多分使ったことがありません
(ごく初期に試して挫折したかも?)
いまbotを作るときにやっている手順は以下の通りです

1.項目の1の文頭からリンクされている『PHP+OAuthでTwitter』さんの記述の
『TwitterへOAuthクライアントの登録』〜『"Access Token"と"Access Token Secret"の取得』の項までを手順通りに行う

2.そこで得た
 ・Consumer key
 ・Consumer secret
 ・Access Token
 ・Access Token Secret
以上四つの値と、botのIDとをsetting.phpにコピペして、アップする

これで、bot.phpを叩くとviaの変更ができています(自分の場合は)
気付かず書き忘れている点もあるかもしれませんが、参考になれば幸いです

336333:2012/06/29(金) 01:33:43
>>335
その方法でできました!
本当に助かりました。ありがとうございました!

337名無しさん:2012/07/03(火) 20:39:30
【バージョン】 2.04
【設置鯖名】 @pages
【PHPのバージョン】
【手動】 動く
【実行】 Free web cron service
【実行間隔】5分毎
【不明点】
はじめまして。当方botの制作といったことが全くの初心者です。
bot.phpの中を
<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("EasyBotter.php");
$eb = new EasyBotter();
$response = $eb->reply(5,"data.text","reply_pattern.php");
$response = $eb->postRandom("data.txt");
$response = $eb->autoFollow();
$response = $eb->replyTimeline(5,"reply_pattern.php");
?>
としているのですが、cronでリプやTL反応をしてくれないため、手動で試したところ
「5分以内に受け取った@はないようです。」、「5分以内のタイムラインに反応する単語がないようです。」と表示されます。
ランダムpostは自動、手動、ともに正常に確認できております。
reply_pattern.phpの中身は
$data = array(


"リプライ対象語句"=> array(
    "台詞",
   "台詞",

),

);
となっております。どちらのファイルもUTF-8での編集、入力にはなっているはずです。
回答のほどよろしくお願いいたします。

338337:2012/07/03(火) 20:42:11
申し訳ありません、↑のバージョンは2.05でした。

339名無しさん:2012/07/03(火) 21:28:01
【バージョン】Ver.2.04
【設置鯖名】 自宅鯖
【PHPのバージョン】
【手動】 動かない
【実行】 GAE CRON
【実行間隔】 10分間隔
【不明点】
今まで問題なく動いていたのですが、
1週間前(6/25頃)ほどから突然動かなくなり、
手動で実行したところ、下記エラーが表示されています。
http://www26.atwiki.jp/easybotter_wiki/pages/21.html#id_aa5eb401

上記エラーをキーワードに検索したところ、
下記サイトを見つけ、APIの書き換えを行いました。
http://mira-cocoa.sblo.jp/article/56291047.html

しかし、それでも同様のエラーのため、下記方法で再度API更新も試してみましたが、
結果は同じエラーでした。
http://www26.atwiki.jp/easybotter_wiki/pages/34.html

エラーとなった日にはファイルの更新はしていないため、
コンパイルエラー(ソースの書き間違い)が原因ではないと考えております。
他に調査すべき個所、または解決策のこころあたりがある方は
ご教授頂けると幸いです。

340 ◆scuBOTBGlA:2012/07/04(水) 16:53:11
>339
下記エラー というのは Incorrect signature でしょうか?

とりあえず自宅鯖とのことですが、どのような構成のServerかわかりませんが、
試しに phpサーバーを再起動してみてはいかがでしょうか?

自分も以前、phpファイルを更新したのに反映されておらずというか、なんか変な
キャッシングがされていたみたいで正常に動作せず、phpサーバーを再起動して
ようやく反映されたということがあったので。

341 ◆scuBOTBGlA:2012/07/04(水) 17:22:33
>337
とりあえず確認ポイント

・手動で試す時はちゃんとcronは停止して試した?
・APIはちゃんと漏れなく書き換えてある?
・APIのACCESSレベル( https://dev.twitter.com/apps での設定) は read and writeになってる?

342337:2012/07/04(水) 20:32:05
>341

・手動の際はcronは停止させていました。
・APIとはsetting.php内の$screen_nameから$access_tokenまでの書き換え部分のことでしょうか?無知で申し訳ございません。
もしその部分のことでしたらきちんと書き換えができていると思います。
・きちんとread and writeとなっておりました。

343 ◆scuBOTBGlA:2012/07/04(水) 21:26:56
>342
ちょうど ↑の 339さんが書いてるとこ
http://mira-cocoa.sblo.jp/article/56291047.html
ここ参考に、EasyBotter.phpを書き換えるっていう作業が。

とりあえず、RT飛ばしても reply返ってこないってことは、自分のTLを見れてないって
ことだから、可能性としては、この書き換えしてないとかかなぁと・・・・・・。

344337:2012/07/05(木) 00:52:17
>342

分かりやすくありがとうございます。
書き換えをしましたところ、bot宛にリプを送ってbotを手動で動かした際に「5分以内に受け取った@はないようです。」の表示が消えたことから
一応@があった、ということは認識されるようになったのでは?と思います。
ただ、それでも今のところbotから返事がない状態です。

345 ◆scuBOTBGlA:2012/07/05(木) 02:41:34
>344
ということは、手動実行すると 真っ白な画面になるようになったのかな?

そこまできたら、後は

>>1-3 にヒント・解答があるので、探してみましょう。

346名無しさん:2012/07/24(火) 14:45:56
【バージョン】Ver.2.05(修正済み)
【設置鯖名】 @pages
【PHPのバージョン】
【手動】 動かない
【実行】 GAE CRON
【実行間隔】 2分間隔
【不明点】
2分間隔でリプを返し1時間に1回ランダムpostになっているはずですがランダムpostは成功しているのにリプは成功しません。
手動アクセスでも真っ白+広告になります。(その後またアクセスすると2分以内に受け取った@はないようです。が出ます)
以下bot.phpです
<?php
require_once("EasyBotter.php");
$eb = new EasyBotter();
$response = $eb->reply(2,"data.txt","reply_pattern.php");
if(date("i") == 0){
$response = $eb->postRandom("data.txt");
}
?>

347名無しさん:2012/07/24(火) 20:47:50
【バージョン】 Ver.2.0x
【設置鯖名】 @PAGES
【PHPのバージョン】
【手動】 動かない
【実行】 手動
【不明点】
非公式wikiの手順通りに進めて参りましたが、
手動でbot.phpをブラウザで開いてもページが真っ白になり何も表示されません。
一応こちらの>>1-3は全て読みました。
文字コード、改行コード、パーミッション、setting.phpは全て問題ありません。
エディタはTerapadを、アップロードにはFFFTPを使用しておりますが、アップ後も文字コード、改行コードともに変更はありませんでした。
その他にはどのような理由が考えられますでしょうか?

348名無しさん:2012/07/29(日) 03:36:43
>>346
reply_pattern.php内記述に不備があると
 (設定数)分内にbotあてリプライがあった時→真っ白
 リプライがなかった時→「○分以内に受け取った〜」という一見正常な画面が出ます
(他の状況でも出るかもしれませんが自分の体験上多かったパターンです)

>>347
FFFTP転送時にアスキーモードになっていたでしょうか
あとは他の人の場合でもありましたが、上位フォルダに.htaccessが無いかどうか
全削除→アップロードしなおし、でエラーが出なくなる場合もあります

どのファイルがおかしいのかわからない時は、
いじっていないDLした状態のファイル(setting.php除く)をアップロードし、正常に動作するのを確認してから
変更したファイルを一つずつ上書きアップロードしてみてはどうでしょうか
一つ上書きするたびにbot.phpを叩けば、どのファイルでおかしくなるのかわかります

349Argusheuromor:2012/09/01(土) 18:55:00
Ever considering the fact that the public grew to become mindful about the potential risks of cigarette smoking some many years in the past, many individuals have discovered quitting the tobacco addiction hard. Providers have already been innovating and developing using tobacco cessation solutions for a few years now. From nicotine patches to gum, nicotine addicts happen to be working with them to give up their addiction.

<a href=http://www.vaporultra.com/1-pack-5-cartridges/&gt;right here </a> (also called e-cigarettes and electrical cigarettes)are classified as the most recent solution to the sector. They may be intended to feel and look like genuine cigarettes, even down to emitting synthetic smoke however they do not in fact include any tobacco. End users inhale nicotine vapour which looks like smoke devoid of any of the carcinogens uncovered in tobacco smoke which are destructive to your smoker and other individuals close to him.

The Electronic cigarette contains a nicotine cartridge that contains liquid nicotine. Each time a user inhales, a very small battery powered atomizer turns a small degree of liquid nicotine into vapour. Inhaling nicotine vapour provides the user a nicotine hit in seconds rather than minutes with patches or gum. If the consumer inhales, a small LED mild at the tip from the electronic cigarette glows orange to simulate a real cigarette.

The nicotine cartridges on their own are available in numerous strengths. The majority of the main manufacturers, like the Gamucci ecigarette have entire power, 50 percent power and minimum energy. This really is created for persons who choose to quit smoking. As they get used to making use of the ecigarette, they could gradually decrease the power they use till they stop.

The principle advantages e-cigs have around nicotine patches or gum is first of all, customers have the nicotine strike substantially faster and next, because a giant motive why people who smoke fall short to stop suing patches and gum is given that they even now pass up the act of inhaling smoke from the cylindrical object. The electric cigarette emulates that even down to the smoke.

The ecigarette can also be helpful from a economical viewpoint. A set of five nicotine cartridges costs approximately £8 which is equal to 500 cigarettes. Even though the first expenditure of an electric cigarette package of £50 may appear steep in the beginning, end users help save revenue ultimately.

As with a lot of well-known products and solutions, there have been a large number of affordable Chinese imitations flooding the marketplace. They can be ordinarily fifty percent the price of a branded electronic cigarette and seem like the true issue likewise. It is actually inadvisable to implement these simply because they haven't been topic into the similar rigorous screening the official electric cigarettes have and may potentially be remarkably harmful for the user's wellbeing.

As e cigarettes become progressively more well-known, they are ever more utilised to smoke in pubs and clubs which has a smoking ban. Electric cigarettes seem to be the next factor and may before long swap genuine cigarettes in clubs.

350名無しさん:2012/09/02(日) 00:39:34
【バージョン】 2.05
【設置鯖名】 @pages
【PHPのバージョン】
【手動】 動く
【実行】 手動/Free Web Cron Service
【実行間隔】 5分間隔
【不明点】
とくにエラーなどは出ないのですが「投稿するメッセージがないようです。」と表示され、投稿できません

昼頃に手動で試した時にはこのようなメッセージは出ず投稿もできましたので、ファイル名を間違えているということはないはずです
ツイート内容も70以上あるので少なすぎるということはないと思います
リプライも同じく昼頃は上手くいったのに現在やったところ「投稿するメッセージがないようです。」が表示され投稿できません
もし原因がわかる方がいらっしゃればお願いします

351350:2012/09/02(日) 00:48:43
すみません、自己解決しました。
bot.php内の$response = $eb->postRandomの()の中身を$response = $eb->replyTimelineと同じように書き変えてしまっていたようです。
ご迷惑をおかけしました

352Argusheuromor:2012/09/02(日) 12:25:33
At any time since the general public turned knowledgeable concerning the potential risks of using tobacco a handful of many years in the past, lots of people have discovered quitting the tobacco addiction challenging. Businesses are actually innovating and developing smoking cigarettes cessation merchandise for many years now. From nicotine patches to gum, nicotine addicts are actually working with them to give up their addiction.

<a href=http://www.vaporultra.com/product_images/j/842/5PackPic__16833_zoom.jpg&gt;www.vaporultra.com/5-pack-25-cartridges/ </a> (also referred to as e-cigarettes and electrical cigarettes)are classified as the newest merchandise within the market. These are meant to look and feel like authentic cigarettes, even all the way down to emitting artificial smoke having said that they don't actually contain any tobacco. Customers inhale nicotine vapour which looks like smoke without the need of any of your carcinogens uncovered in tobacco smoke which can be unsafe to your smoker and other folks about him.

The Ecigarette contains a nicotine cartridge that contains liquid nicotine. Each time a consumer inhales, a very small battery driven atomizer turns a small degree of liquid nicotine into vapour. Inhaling nicotine vapour gives the consumer a nicotine strike in seconds rather than minutes with patches or gum. If the person inhales, a small LED gentle with the suggestion on the electronic cigarette glows orange to simulate an actual cigarette.

The nicotine cartridges on their own can be found in many strengths. Nearly all of the major brand names, like the Gamucci e-cigarette have complete energy, half energy and minimal power. That is made for individuals who need to quit smoking. As they get accustomed to employing the ecigarette, they could steadily decrease the strength they use right up until they give up.

The primary rewards e-cigarettes have more than nicotine patches or gum is firstly, customers possess the nicotine strike much faster and the second thing is, for the reason that a big rationale why people who smoke fail to give up suing patches and gum is given that they even now miss the act of inhaling smoke from the cylindrical object. The ecigarette emulates that even down to the smoke.

The electric cigarette can be helpful from a economic point of view. A established of 5 nicotine cartridges expenses all-around £8 and is particularly equal to five hundred cigarettes. While the first financial investment of an electronic cigarette kit of £50 may seem steep at the outset, customers conserve cash in the long term.

As with numerous well known goods, there are actually a large number of low-priced Chinese imitations flooding the market. They can be commonly 50 percent the price of a branded ecigarette and look like the actual point at the same time. It's inadvisable to use these since they have not been matter to your very same rigorous screening the official e cigs have and may probably be extremely damaging to the user's wellness.

As e cigs come to be progressively more well known, they may be increasingly made use of to smoke in pubs and clubs with a smoking cigarettes ban. Electronic cigarettes seem to be the following factor and should soon replace real cigarettes in clubs.

353Argusheuromor:2012/09/03(月) 03:03:43
Ever considering that the general public became informed regarding the dangers of cigarette smoking several decades ago, lots of individuals have found quitting the tobacco habit tricky. Companies are already innovating and manufacturing using tobacco cessation items for a few years now. From nicotine patches to gum, nicotine addicts happen to be employing them to quit their addiction.

<a href=http://www.vaporultra.com/about-vapor-ultra/&gt;cheap disposable electronic cigarette </a> (also referred to as e-cigarettes and electric cigarettes)will be the latest products for the market place. They are made to appear and feel like serious cigarettes, even down to emitting artificial smoke even so they don't essentially include any tobacco. Buyers inhale nicotine vapour which appears like smoke with no any of the carcinogens identified in tobacco smoke that are unsafe on the smoker and other folks about him.

The Electronic cigarette contains a nicotine cartridge containing liquid nicotine. Any time a consumer inhales, a little battery driven atomizer turns a little degree of liquid nicotine into vapour. Inhaling nicotine vapour gives the consumer a nicotine strike in seconds rather than minutes with patches or gum. If the consumer inhales, a little LED light at the tip of the e-cigarette glows orange to simulate a real cigarette.

The nicotine cartridges themselves are available a variety of strengths. The majority of the most important manufacturers, including the Gamucci electronic cigarette have total strength, fifty percent power and minimal energy. This can be created for men and women who need to quit smoking. Since they get used to employing the electric cigarette, they could slowly decrease the energy they use till they give up.

The most crucial advantages e-cigs have about nicotine patches or gum is firstly, consumers hold the nicotine hit considerably faster and second of all, because a large rationale why people who smoke fail to stop suing patches and gum is given that they still miss the act of inhaling smoke from the cylindrical item. The electronic cigarette emulates that even right down to the smoke.

The e-cigarette can also be useful from the monetary perception. A established of five nicotine cartridges costs about £8 and is equal to 500 cigarettes. Whilst the initial investment of an electronic cigarette package of £50 may perhaps appear to be steep to start with, buyers help save cash in the long term.

As with many well-known solutions, there have been a great number of low-cost Chinese imitations flooding the marketplace. They can be ordinarily half the cost of a branded electronic cigarette and seem like the real factor too. It really is inadvisable to work with these because they have not been issue to the exact same rigorous testing the official electric cigarettes have and can potentially be remarkably destructive to your user's overall health.

As e-cigs develop into a growing number of well known, they can be increasingly utilized to smoke in pubs and clubs with a smoking ban. E cigs seem to be the following factor and could shortly substitute serious cigarettes in clubs.

354名無しさん:2012/09/05(水) 01:16:11
【バージョン】 Ver.2.0x
【設置鯖名】 @PAGES
【PHPのバージョン】5.2
【手動】 動く
【実行】 cron
【不明点】
 TLで取得するあいさつに対し、時間をある程度区切って
返答させようと非公式wikiを参考に拙いながらも構文を組んで
設置してみたのですが、あいさつに対して反応はするものの
こちらが指定するファイルとは違うファイルを読んでしまっています。

問題の構文は

//bot.phpを実行したときに、あいさつ関連のTL反応を制御する
if(date("G") > 5 && date("G") < 12 && date("w") == 0 || date("w") == 6){
$response = $eb->replyTimeline(15,"reply_tl01_weekend.php");
}
else{
$response = $eb->replyTimeline(15,"reply_tl01_weekday.php");
}
if(date("G") > 11 && date("G") < 18 && date("w") == 0 || date("w") == 6){
$response = $eb->replyTimeline(15,"reply_tl02_weekend.php");
}
else{
$response = $eb->replyTimeline(15,"reply_tl02_weekday.php");
}
if(date("G") > 17 && date("G") < 0 && date("w") == 0 || date("w") == 6){
$response = $eb->replyTimeline(15,"reply_tl03_weekend.php");
}
else{
$response = $eb->replyTimeline(15,"reply_tl03_weekday.php");
}
if(date("w") == 0 && date("w") ==6){
$response = $eb->replyTimeline(15,"reply_tl04_weekend.php");
}
else{
$response = $eb->replyTimeline(15,"reply_tl04_weekday.php");
}

となっていて、テスト時には『reply_tl04_weekday.php』を
参照してくれるはずが、何故か『reply_tl01_weekday.php』を
参照してしまいます。

 どなたかお知恵を貸していただける方いらっしゃいましたら
どうかお願いいたします。

355名無しさん:2012/09/05(水) 12:14:44
【バージョン】 2.05
【設置鯖名】 ロリポップ
【PHPのバージョン】5.2
【手動】 動かない
【実行】 手動
【実行間隔】 まだ実行していません
【不明点】
Fatal error: Call to undefined method EasyBotter::postRandom() in /home/users/1/noor.jp-naia/web/EasyBotter/bot.php on line 13と表示され、投稿できません

356名無しさん:2012/09/05(水) 21:03:30
>354
 すみません、自己解決しました。詳しい人とやり取りしながら
構文を教えてもらい、それを組み込むことにしました。

357名無しさん:2012/09/08(土) 14:32:38
はじめまして。
お伺いしたいのですが、こちらのbotスクリプトで
RSSを取得して配信することは可能でしょうか。

とあるサービスを利用してブログのRSSを配信するだけのbotを作っていたのですが、
TwitterのRSSに関する仕様変更に伴いサービスが今後も利用できるか不明になったため、
TwitterにRSSを投稿するだけの方法を探してますが、検索してもいまいち出て来ません。
コチラのスクリプトを利用してキャラクターbotは作っているのですが、
RSS配信となると、どこをどう変えたらいいのか判らないため、ご助言頂けると幸いです。

358名無しさん:2012/09/08(土) 19:25:04
【バージョン】2.05
【設置鯖名】 @PAGES
【PHPのバージョン】不明
【手動】 動く
【実行】 GAEcron
【実行間隔】 2分
【不明点】
bot.phpをcronに合わせて2分間隔で実行するように設定しましたが、
定期ポスト(1時間間隔)がうまくできません。
最初はcron、bot.php共に30分ごとの定期ポストで設定しておりましたが、
1時間ごとのポストで設定をし直しました。
時間分けを入れなければ、定期ポストは成功するのですが…。
設置サーバとcronの間にズレがあるのが原因かと思い、
以下の表記でアップロードしています。


if(date("i") == 0 || date("i") == 59){
$response = $eb->postRandom("data.txt");
}
$response = $eb->reply(2,"unknown.txt","reply_pattern.php");
$response = $eb->replyTimeline(2,"timeilne.php");


以上の表記だと、毎時0分にポストをしたり・しなかったりと不安定な状況です。
どなたか分かる方いらっしゃいましたらご指導いただけると嬉しいです。

359 ◆scuBOTBGlA:2012/09/29(土) 19:11:40
>358
毎時0分だったら、cronを5分に1度実行にして
if(date("i") == 0 || date("i") == 59 || date("i") == 1 || date("i") == 2){
でも良いかも。

ただ、毎時0分は、とにかく色々な人やスクリプトの処理が集中して 負荷がかかるから云々いう
話が出てるんで、避けた方が良いかもしれません。

まぁ、そういう理由もあって、発動しにくいってのもあるのかも。

360名無しさん:2012/09/30(日) 19:31:25
【バージョン】 Ver.2.05
【設置鯖名】 @PAGES
【PHPのバージョン】PHP-5.2系
【手動】 動く?
【実行】【実行間隔】 まだ手動で確認中です

【不明点】
非公式wikiの手動実行編を参考にbot.phpを書いて動かしていたところ、
botへ本アカから「おはよう!」とリプライしてみても
「2分以内に受け取った@はないようです。」と表示されたままです。
ランダムPOSTも試してみましたが「投稿するメッセージがないようです。」と表示されます。
リプライに対するコメントも、ランダムPOSTのコメントもDLしたままのもので確認しています。

この確認の前に、自分で書いたbot.phpとreply_pattern.php、data.txtで動かしていたところ、
ランダムPOSTが二重投稿になってしまったり、
リプライに対して反応語句が含まれるにも関わらずdata.txtから返事をしてしまい、
ちゃんと手順を踏まなければと思い上記の方法で確認していたところでした。

setting.phpは失敗したときから変えていないので問題はないと思います。
また、文字はUTF-8、改行コードもLFになっています。
data.txt、log.dat、reply_pattern.phpのパーミッションは666にしてあります。
(PEARの属性?が755、他は644で、いじっていません)
アップロードするのにFFFTPを使っていますが、アップロードしたものを開いてみても
UTF-8、LFのままのようです。

サクラエディタを使っているのですが、
それが悪いのかと思いTeraPadでやり直してみましたが同じ結果でした。

既出かと思い検索もしてみたのですが、私とは違うようだったり、解決方法がよくわからず、
このたび質問させていただきます。
くだらない間違いをおかしているかもしれませんが、どうかお教えいただきたいと思います。
書き漏らしなどもあるかもしれませんが、どうかよろしくおねがいします。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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