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

TwitterBotPHP質問スレ

1pha:2009/12/01(火) 17:51:42
http://pha22.net/text/twitterbot.html
でphaが公開しているPHPのTwitterスクリプトについて、
スレッド立てるほどじゃない質問はこちらにどうぞー。
phaがときどき巡回しますが対応が遅れることも多いので、質問に答えてくれる人も募集しています!

745名無しさん:2011/07/05(火) 15:56:35
>>744
ここって無償奉仕のプログラマーがいるわけじゃないからw
せめて、どういうファイルを用意してどう使う、くらいまでは自分で考えて
それを提示した上で書き込みをどうぞ

それもわからないレベルの「初心者さん」は改造に手を出すな、が答え

746名無しさん:2011/07/06(水) 20:48:29
調整上げ

747名無しさん:2011/07/08(金) 01:08:17
単語拾いを導入したいのですが、
こちらを参考に、ttp://www26.atwiki.jp/easybotter_wiki/pages/26.html
Easybotter.phpのほうは書き換えることができました。

あとは、{ran_meishi}を入れて、リプライさせたい文章を、書いてサーバにUPする段階なのですが、
どこに書けばいいのでしょうか。
こちらのサイト ttp://blog.livedoor.jp/bot_1go/archives/1733069.html
さんでは、『tw.txtに 「君は{ran_meishi}が好きなんだね」 と記述 』する。
とかいてあるので、
『data.txt』に書けばいいのでしょうか?

748名無しさん:2011/07/08(金) 01:32:38
>>747
まず自分で試してみたら?
聞くより早いでしょ

749名無しさん:2011/07/08(金) 01:44:46
毎回のようにtw.txt聞いてくる人いるね
http://www26.atwiki.jp/easybotter_wiki/pages/14.html#id_095278c1
に書いてあるから知らないではダメだよ

750名無しさん:2011/07/08(金) 03:29:05
この手の質問はこっちでいいのかな…

TL反応ワードに関しての質問なのですが
複数のワード両方があった場合にのみTL反応させることは可能ですか?
例えば「学校」と「行ってきます」とか…。
普通に設定すると「学校行ってきます」では反応しても「学校へ行ってきます」だと反応しないので
その辺を上手く調整したいのですが…。

あと、特定の単語だけでTL反応させる方法はありますか?
例えば「帰宅」とだけ呟いたら反応して、「帰宅中」だと反応しないとか…
ググっても全然分からない(というか何でググればいいのかすら分からない)ので
どなたかアドバイスお願いします。

751名無しさん:2011/07/08(金) 05:14:04
>>750
正規表現

752名無しさん:2011/07/08(金) 19:59:02
>>750
"学校.*(行ってきま|いってきま)"=> array(
"返信内容",
),

"帰宅中"=> array(
"[[END]]",
),
"帰宅"=> array(
"返信内容",
),

で解決。たまに「行ってきまーす」って言う人がいるから「行ってきま」で登録して大丈夫だと思う

753750:2011/07/09(土) 10:33:55
>>752
なるほど、前者は「.*」でいいのですね。
ありがとうございます。
「行ってきま」だと「きました」に反応する可能性があるのでそれは諦めるかな…

後者は、「帰宅」とさえ入ってれば反応してしまうと思うので
「帰宅」とだけ書いたら反応し、他に1文字でも何か入ったら反応しないようにしたいのですが…

754名無しさん:2011/07/09(土) 11:16:26
>>753
正規表現でできるっていわれてるんだから少しは自分で調べたらどうですか
ちなみにその二つとも簡単な正規表現で対応できる
後者のヒントは文頭と文末を指定すること

755750:2011/07/09(土) 17:57:37
>>754
「PHP 正規表現」「EasyBotter 正規表現」でなら以前自分でも調べましたが
全然分かりませんでした。何しろ数が多すぎて…
今それに「文頭と文末を指定」を追加して調べましたが余計分からないです…

756名無しさん:2011/07/09(土) 21:39:44
メタ文字はぐぐりましたか?
わからないわからないばかりじゃなくて理解する努力をしよう
それでも無理なら>>752でいいだろ

757名無しさん:2011/07/10(日) 21:55:44
>>755
こちらへどうぞ
http://www.rider-n.sakura.ne.jp/regexp/regexp.php

758名無しさん:2011/07/12(火) 14:36:22
現在、easybotterの導入を検討しておりまして、質問させていただきます。
phpをいじることによって会話に分岐を持たせるようなことは可能なのでしょうか?
例えば、botからの「俺のこと好き?」「メロンは好き?」っといった問いかけに対して
フォロワーが「好き」と返答した場合に、直前の質問内容によって異なる返答をするよう
設定することはできるのかということが気になっております。

もし可能であれば、検索のキーワードなど教えていただけましたら大変ありがたいです。
よろしくお願いします。

759名無しさん:2011/07/12(火) 19:21:47
>>758
できるけどかなり改造しなきゃならないよ

760名無しさん:2011/07/12(火) 22:32:16
>>759
ご回答ありがとうございます。
とりあえず実現することは可能ということで、導入に踏み切りました。
改造などはまだまだですが少しずつ理想に近づけていきたいと思います。

761名無しさん:2011/07/13(水) 03:17:00
>>760
改造にこのあたりを使う、参考にするといいよ。
ただし、このサイトはほとんどの場合PHPの文法チェックだけで動作チェックしてないから要注意
http://twbot.blogspot.com/2010/10/blog-post_24.html

762名無しさん:2011/07/20(水) 22:06:58
自動フォローの際にリプライを入れる機能を利用しています。
鍵付きに対して、フォローリクエストをしたら1度だけリプライをするように制御できないかと思い、此方のサイトを参考に改造しました。
http://www7a.biglobe.ne.jp/~ws_story/twitter_bot/info/HM_BOT_func.html

未検証とのことなので、ログを取りながら2時間程様子をみていたのですが
リプライパターン照合に対してのエラーが出るだけで、自動フォロー返しも、それと連動するはずのフォロー報告リプライも機能しなくなりました。
ちなみに、リプライパターン照合エラーはこの改造を施す以前からありました。
フォローリクエスト送信済みの相手のIDを記録しているファイルは、更新されており、新しくフォローしたユーザーのIDが記載されていました。


エラーを吐きださないので、原因がよくわかりません。
どの過程で不具合が生じているのか、何が足りないのか調べる方法があれば教えていただけないでしょうか。

※リプライパターン照合エラー行は、リプライを作る過程にある
if(preg_match("@".$pattern."@u",$reply->text, $matches) === 1){
という行です。

※ログ取り改造参照:「簡単じゃない twitter bot」 の作り方メモhttp://twbot.blogspot.com/2010/08/easybotter2.html

763名無しさん:2011/07/20(水) 22:13:47
>>762追記

フォロー報告リプライの記述も非公式Wikiから更に改造しています。

foreach($followList as $rscreen_name){
$f_res = rand(1,3);
if($f_res == 1){
$value = array("status"=>"@{$rscreen_name} フォロー完了したよ!");
}elseif($f_res == 2){
$value = array("status"=>"@{$rscreen_name} フォローさんきゅ!");
}elseif($f_res == 3){
$value = array("status"=>"@{$rscreen_name} フォローありがと。よろしくね");
}
$response = $this->setUpdate($value);
$result = $this->showResult($response);
$results[] = $result;
}

764名無しさん:2011/07/27(水) 22:51:48
通常ツイートに{timeline_name}を利用しているのですが、
特定のID(他bot)を除外するにはどう書き換えればいいのでしょうか…?

765名無しさん:2011/07/29(金) 00:15:42
>>764
{timeline_name}を取得してるとこに判定入れるだけ

766764:2011/07/29(金) 12:14:10
>>765
レス有り難う御座います

if( strpos($text , "{timeline_name}") !== FALSE || preg_match("@bot@i",$text))
{
$randomTweet = $this->getRandomTweet();
$text = str_replace("{timeline_name}" , $randomTweet->user->name , $text);
}

で合っていますでしょうか?エラーは吐かないのですが…

767名無しさん:2011/08/01(月) 18:55:35
easy botterを@pagesで5分間隔で実行するにはどうしたらいいですか。よくある、4ツイート連続の呟きを、5分間隔で投稿するように設定したいのですが。どうすればいいか教えてください。GAE cronで、5分間隔で。

768名無しさん:2011/08/01(月) 21:08:23
>>767
仕様書をよく見よう
これは初心者以前の質問です

769名無しさん:2011/08/01(月) 23:00:39
GAE cronを使ったのですが、レンタルサーバーがcronを受け付けなく、5時間ほど5分間隔で投稿を続けると、php error がでます。投稿できなくなります。

770名無しさん:2011/08/01(月) 23:01:59
>>768
GAE cronを使ったのですが、レンタルサーバーがcronを受け付けなく、5時間ほど5分間隔で投稿を続けると、php error がでます。投稿できなくなります。

771名無しさん:2011/08/02(火) 03:16:59
>>770
鯖とGAE-cronの相性が悪いだけなんじゃないか
@pages使って氏より短い間隔で回してるけど問題なく動いてる
鯖の番号は?あとテンプレくらい使おう+情報が少ない。

772名無しさん:2011/08/02(火) 20:44:32
>>771
鯖 http://0000free.com/ で、 

error;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "><html xmlns="http://www.w3.org/1999/xhtml " lang="ja" xml:lang="ja"><head><meta http-equiv="content-language" content="ja" /><meta http-equiv="content-type" content="text/html; charset=UTF-8" /><title>EasyBotter</title></head><body><pre><br />
<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>/home/john3825/public_html/EasyBotter/EasyBotter.php</b> on line <b>234</b><br />

cron job間隔は、5分で、15分にしてもエラーが出ます。

773名無しさん:2011/08/02(火) 20:50:29
>>772
Fatal error
Maximum execution time of 30 seconds exceeded in /home/john3825/public_html/EasyBotter/EasyBotter.php on line 234

これが真理

774名無しさん:2011/08/02(火) 20:53:09
>>772
老婆心だが鯖垢まんま載せて大丈夫?

775名無しさん:2011/08/03(水) 07:41:36
>>773
鯖のcron jobに15分と書いてありますが。cron time interval 15分でも、3−5時間たてば、投稿を繰り返しているうちにエラーが出ます。GAE cronは、eclipse でプログラムをアップロードして、どこかのウェブサイトにやり方が載ってあったとおりにしたのですが、バグって動きません。

776名無しさん:2011/08/03(水) 13:57:29
>>775
> Maximum execution time of 30 seconds
くらい理解できない?
そこの鯖には無理なんじゃないかね

777名無しさん:2011/08/03(水) 14:58:41
>>776
鯖のcronが凍って動かなくなります。サーバーを@pagesにして、GAE cronにしたら、動きました。
よくtwitterで見かける、4連続の投稿などを、easy botterで行うにはどうしたらいいですか。
以前に、どこかの西東で見かけたのですが、見つかりません。

778名無しさん:2011/08/03(水) 16:15:40
>>777
EB公式をちゃんと見なさい、書いてある

779名無しさん:2011/08/03(水) 16:17:49
TU-Ka、ここ初心者スレじゃないんだから
読むもん読んで勉強なり試行錯誤なりしてくれ

780名無しさん:2011/08/03(水) 21:06:36
>>779
Oauth認証で、エラーが出ます。カスタマートーケンシークレット、アクセストーケンシークレットを一様取得したのですが、エラーで動きません。Oauth認証は、EB公式ページ、dev.twitter.com両方試しましたが動きません。

Twitterへの投稿に失敗しました。
ユーザー名:@healthfood3825

object(SimpleXMLElement)#5 (2) {
["error"]=>
string(34) "Could not authenticate with OAuth."
["request"]=>
string(20) "/statuses/update.xml"
}

781名無しさん:2011/08/05(金) 08:15:15
777続き
Oauth認証で、エラーが出ます。カスタマートーケンシークレット、アクセストーケンシークレットを一様取得したのですが、エラーで動きません。Oauth認証は、EB公式ページ、dev.twitter.com両方試しましたが動きません。

Twitterへの投稿に失敗しました。
ユーザー名:@healthfood3825

object(SimpleXMLElement)#5 (2) {
["error"]=>
string(34) "Could not authenticate with OAuth."
["request"]=>
string(20) "/statuses/update.xml"
}

782名無しさん:2011/08/05(金) 09:51:31
>>781
マルチなので以降相手をしないように

783名無しさん:2011/08/05(金) 10:53:49
>>781
マルチな上に規約違反なので無視でOK

784名無しさん:2011/08/05(金) 17:03:06
>>782,783
マルチな上に規約違反。
国際テロ犯罪供与。チョンボは死ね。抹殺幻覚映像。FBI,CIASECRET SERVICE, US GOVERMENT AGENCY指名手配犯。アメリカ合衆国連邦犯罪。CLASS A CRIMINAL。KGBテロを働かないように。中国国教である儒教を語り、死後の世界や巫女であるシャーマニズムに、首まである袴で挑もうとする賊徒、賊霊は、一切意見させないように。顔までロシア務所のスジ型の入った、ロシア標的の国家全部で殺し滅ぼされたような、蛇霊、滅亡賊霊は、人の国に関与するな。民主党統治済み、鳩山由紀夫(鳩山一雄自民党創始者、兼フリーメイソングランマスターの孫)、派管理人でもないのに一切意見しないように。
phpはロシア系イスラエル人の供与した言語なので一切干渉しないように。
参照: http://wikipedia.com/php

785名無しさん:2011/08/05(金) 17:09:21
規約違反ではないので、応答するように。

786名無しさん:2011/08/05(金) 19:06:36
スレチ

787名無しさん:2011/08/09(火) 21:35:45
アドバイス頂ければと思い書き込み失礼致します。
うちのbotは、フォロワー4桁でよく規制にあいます。
規制前に、お知らせPOSTしたいのですが……
PHPのプログラムでこのような事は、可能でしょうか?
可能であれば、ヒントを頂ければと何とか勉強して実装したいと思います。

788名無しさん:2011/08/09(火) 23:15:53
>>787
この辺り
http://twbot.blogspot.com/2010/03/post1.html
http://twbot.blogspot.com/2010/03/post2.html

ただしEB用じゃないのでどう組み込めばいいのかは要勉強

789名無しさん:2011/08/12(金) 10:34:42
調整あげ

790名無しさん:2011/08/13(土) 19:41:18
変な質問ですけど、このbotは「もなちゃと」というチャットで使えますか?

791名無しさん:2011/08/14(日) 10:05:20
>>787
ターン終了時にuser_timelineで120分以内の指定をかけて、自分の発言を取得して、その数が一定数(110くらい?)を超えていたら「しゃべりすぎたので休憩します」とかPOSTさせて、休憩フラグを立てて、休憩フラグを作ってから一定時間はBOTを休憩させればいい。

792名無しさん:2011/08/15(月) 03:35:12
788さん、791さん 解答ありがとうございました!
イメージ出来ました……
なんとなくですが、形になりました!お礼のみですが、失礼致します。

793名無しさん:2011/08/16(火) 13:09:57
>>790
プログラムの構造がTwitterと違うから無理だと思います

794名無しさん:2011/09/12(月) 02:23:48
調整age

初心者さん
 →EasyBotter初心者質問スレ3
改造してる人・NOT初心者
 →EasyBotter2.0
雑多な質問
 →スレ立てるほどじゃないその他の質問スレ
CRON・定期実行
 →Twitterbotのcronスレ
自作・他botプログラム等
 →TwitterBotPHP質問スレ

795名無しさん。:2011/09/13(火) 01:51:54
ご指南おねがいします。
夜中の定期POSTを停止したく、
こちらを調べさせて頂いてましたら、類似しているのがありましたので
試しにやってみたものの、エラーが出て困っております。
>228 様のやり方で、0時におやすみpostして8時からpost再開させたく思ってます。
現在は

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

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

?>

となっており、これにjiho.txtを別に作り(おやすみメッセージをいれ)
<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("EasyBotter.php");
$eb = new EasyBotter();

if(date("G") > 8){
//定期post
if(date("i") % 30 === 0){
//時報post
if(date("i") < 10){
$response = $eb->postRandom("jiho.txt");
//通常post
}else{
$response = $eb->postRandom("data.txt");
}
}

?>
と変えてみました。
エラー箇所は20行でした。?>の部分です。
基本的に間違っているのでしょうか・・・。
もしよろしければ 教えて頂けると助かります。
どうぞよろしくお願いします。

796名無しさん。:2011/09/13(火) 13:31:45
>>795です。連続失礼します。
再度色々調べて
<?php
//=============================
//EasyBotterを呼び出します
//=============================
require_once("EasyBotter.php");
$eb = new EasyBotter();

if(date("G") > 8){
//定期post
if(date("i") % 30 === 0){
//通常post
}else{
$response = $eb->postRandom("data.txt");
}
}
//0時報post
if(date("i") % 30 === 0){
if(date("i") < 10 && date("G") == 0){
$response = $eb->postRandom("jiho.txt");
}
}

?>
この様に書き換えました所、エラーは消えましたが、
1分ごとに定期を発信するようになってしまいました・・・。
ご指摘どうぞよろしくおねがいします。

797名無しさん:2011/09/13(火) 14:00:45
>>796
非公式wikiにあれほど丁寧な解説があるのに…

798名無しさん:2011/09/13(火) 16:26:05
>>796
リプライもTL反応も一緒に止めるなら、cronの方で1時〜7時まで止めたら?

799名無しさん。:2011/09/14(水) 20:32:36
>>797
非公式wikiを見たのですが・・・もう一度見てきます。ご指摘ありがとうございます。

>>798
リプライはその時間帯も動かせたいのです。
定期POSTだけ止めたいと思っております。
説明不足で申し訳ありません。

800名無しさん:2011/09/14(水) 21:50:49
>>799
初心者スレ832あたりは?

801名無しさん。:2011/09/14(水) 22:17:11
>>796>>799 です。
非公式wikiをもう一度見直してきました。
再度組みなおして、サーバーに上げた所、
エラーも出なかったので、夜中にきちんと定期が止まるか確認
してみたいとおもいます。
ご指摘ありがとうございました。

またご報告させて頂きます。

>>832 確認してきます。

802名無しさん:2011/10/07(金) 18:48:20
初歩的な質問ですみません。
毎週木曜の18時55〜59分に決まったツイートをさせようと思い

if(date("w") == 4 && date("G") == 18 && date("i") <= 55){
$response = $eb->postRandom("***.txt");
}

と書いたのですが、何故か18時2分頃にそのツイートが行われてしまいました。(曜日は合ってます)
何故でしょうか…?

803名無しさん:2011/10/07(金) 19:20:23
>>802
何故でしょうかって、あなたがそう指示してるからだよ
プログラムは書いた通りに動く、よく見直すこと

804名無しさん:2011/10/07(金) 20:21:04
>>803
よく見直すと言われても…
どこが間違ってるのか全く分からないんです。

この記述方法では条件は2つまでしか適用されないのでしょうか?
だとすれば3つ適用させる方法はあるのでしょうか?
一応自分なりに調べてはみたのですが3つの条件というのは見つからなかったので…

805名無しさん:2011/10/07(金) 20:52:33
>>804
基本的問題は不等号、小学生の算数の問題。これで分からないならEasyBotterはやめたほうが賢いし他の人に迷惑掛けるだけ。

806名無しさん:2011/10/07(金) 21:26:10
>>805
あ、ほんとだ…よく見たら逆になってますね;
前にも同じミスしたことあるのに全く気づかなかった…

この書式は2つまでしか記述できないものだと思い込んでしまいずっとその解決策だけ調べてましたorz
ということは、条件を3つ以上入れても問題ないということですね!
とにかくありがとうございました!

807名無しさん:2011/10/07(金) 23:04:54
>>806
どうでもいいけど、次に書き込むなら初心者スレへどうぞ
ただし書き込む前に初心者スレの1-3を熟読してからね

808名無しさん:2011/10/07(金) 23:07:58
いろいろためしたのですがどうしてもうまくいきません。
tera pad使用、文字列UTF-8N,改行コードLF、パーミッションも確認済み(666)で
$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(5,"reply_pattern.php");
if(date("i") % 15 == 0){
$response = $eb->postRandom("data.txt");
}
このように書いています。
説明ではこれで0分、15分・・・でPOSTするはずですが、
なぜか5分毎にPOSTしてしまいます。
原因は何なのでしょうか?、自分にはどうしてもわかりません

809名無しさん:2011/10/07(金) 23:19:49
>>808
上から順にどの機能をオン(コメントアウトしていない)にしてるか確認してみなよ

810名無しさん:2011/10/07(金) 23:21:17
 
■■■ 書き込む前に ■■■

最近、このスレに初心者さんが書き込みを多くしているようですが
初心者スレは既にありますので、そちらをご覧ください
質問する前に初心者スレの1-3をよく読んでください
大体は勘違い、設定ミス、記述ミスです

811名無しさん:2011/10/07(金) 23:24:54
>>807
どっちに書こうか悩んだんですが、PHP関係ならこっちのほうが適切かなと…
次からは初心者スレに書き込みます。申し訳ないです

812名無しさん:2011/10/08(土) 00:33:10
>>811
初心者の自覚があるのか、スレチかどうかはともかくとしても
質問前に徹底的に見直せ、って意味で初心者スレをまず見て欲しい

正直、非公式wikiをしっかり見ていけばする筈のないミスがこのスレに限らず多いのは事実だ

813名無しさん:2011/10/15(土) 13:37:40
あげ

814名無しさん:2011/11/27(日) 18:01:01
調整あげ

815名無しさん:2012/02/11(土) 04:53:54
しゅうまいくんとかTLを要約というサービスみたいに
TLから単語を収集して繋げて発言するのって出来ますでしょうか?
http://blog.livedoor.jp/bot_1go/archives/1733069.html
こちらのサイトに似たようなサービスはありますが。
TLを要約みたいに脈絡もクソもないような文章を作りたいのです。

816名無しさん:2012/02/11(土) 16:04:45
>>815
確かその手の質問は過去スレにもあった筈

817名無しさん:2012/02/14(火) 05:39:18
>>815
マルコフ連鎖 for EasyBotter
https://github.com/wktk/markov4eb?/

818名無しさん:2012/02/22(水) 11:31:37
はじめましてお時間頂きます!
phpは今回のbot制作が初めてなのですが
動作自体は上手く行っていてその先の改造に手を出しているので
こちらが妥当かと思い転がり込みました。

少々お伺いしたいのですが、
確かEasyBotterだとリプライ返信の優先順位は降順だったと思うのですけれども
『優先順位降順を変更することに成功した』『該当ワードの優先順位をランダムに出来た』と言うお話を何方か聞いていますでしょうか?

というのも例えば『おはよう、今日もいい天気だね。』の文の【おはよう】と【いい天気】を反応語句としてbotに覚えさせた場合
reply_pattern.php内で【おはよう】よりも【いい天気】が上に書いていない場合
ほぼ一生【いい天気】には反応した文章を選択出来ないよな〜と。
(勿論【おはよう】をbotに向けてポストし続ければいい天気にも反応はするんですけども
こう一発で…という話です。)

ここをたまに【おはよう】たまに【いい天気】と言った多様性を持たせて反応するように改造したいのですが、

http://www.scollabo.com/banban/php/php_09.htmlなどを読ませて頂いて
bot.phpにif構文を打ったり、
reply_patten.phpと同じ構成のphpファイルを増やしたり、
ダメ元で
$response = $eb->reply(5,"not.txt","reply_pattern.php");

$response = $eb->replyRandom(5,"not.txt","reply_pattern.php");
にしたりと色々やってはみているのですがどうも手応えが無く…;

何かいいアイディアがありましたら教えてくだされば幸いです!
長文既出でしたら申し訳ないですがどうぞ助力の程お願い致します。

819名無しさん:2012/02/22(水) 11:54:37
優先順位が降順なのはプログラムの原則だからそこを逆手にしようってのは難しくないかな
正規表現で上に 【おはよう.*いい天気】 (リプライAとB)を書いて下に 【おはよう】 (リプライA) さらに下に【いい天気】(リプライB)
「おはよう」にはA、「いい天気」にはB、「おはよう今日はいい天気だね」にはAかBで答える
同じリプライを複数描くところに無駄があるけど簡単だし正規表現は色々出来る
言ってる意味勘違いしてたらごめんよ

820名無しさん:2012/02/22(水) 12:23:15
(掲示板初めてなのでレス方法間違ってたらすいません;)
>>819 さま
おお〜、なるほどこれなら実際に送られてきたリプや
日常的にかわす挨拶を当て嵌めて行けば無数に反応出来そうです^^

後はやはりreply_pattern.php内での順番で調整…という感じになりましょうかね…。

正規表現でAとBを同居させるのはいやはや考えつきませんでした。
有り難く参考にさせて頂きます〜。

821名無しさん:2012/03/03(土) 16:40:55
毎日10時半、16時半、22時半に特定のPOSTをさせたいのですが
(正確にはcronの関係上30〜34分になってます)
wikiを見て色々試したんですが上手くいきません…。
||と&&を混ぜてるせいだと思うのですがどうすればいいのでしょうか?
仕方がないので現在は

else if(date("G") == 10 && date("i") >= 30 && date("i") <= 34){
$response = $eb->postRandom("***.txt");
}
else if(date("G") == 16 && date("i") >= 30 && date("i") <= 34){
$response = $eb->postRandom("***.txt");
}
else if(date("G") == 22 && date("i") >= 30 && date("i") <= 34){
$response = $eb->postRandom("***.txt");
}

と半ば強引に設定していますが、長くなってしまうのでできれば1つにまとめたいんです。
よろしくお願いします。

822名無しさん:2012/03/06(火) 17:31:51
>>821
if文の組み方だけど
先に分でくくり、その中で時ごとにくくる方が良いかも
好みの問題でもあるけど、書き間違いがあった場合にもわかりやすい

で、いきなりelse ifから始まってるけど、抜粋?
抜粋ならそれ以前の書き方が間違ってる可能性がある
抜粋じゃないならif文自体の理解ができてないだけだが

823名無しさん:2012/03/06(火) 21:03:36
>>822
となると
else if(date("i") >= 30 && date("i") <= 34 && date("G") == 10 || date("G") == 16 || date("G") == 22){
…ということになりますかね?
とりあえずこれで試してみたいと思います。

else ifで始まってるのは抜粋だからです。他の時間も指定してるので。
この書き方で問題が発生したことはないのでif文に間違いはないはず…

824名無しさん:2012/03/07(水) 00:43:56
>>823
おーいー
if文を2階層にするってことだよ
本当にwiki読んだのかい?

どうせなら、&&、||、and、orなどの優先順位も勉強したら良い

825名無しさん:2012/03/07(水) 01:48:01
>>824
あぁ…やっぱり2段階にするんですね
一応2段階も試したんですが上手くいかなかったようで…
一応優先順位についてもある程度は調べたんですが…

うーん、もうちょっと色々試してみます

826名無しさん:2012/03/18(日) 08:40:05
はじめまして。
いつも勉強させてもらっています。
8時と22時にポストと9時〜21時の1時間ごとにポストするようにしたくて

//8時と22時に実行
if(date("G") == 8 && date("i") == 0){
$response = $eb->postRotation("asa.txt");
} else if(date("G") == 22 && date("i") == 0){
$response = $eb->postRotation("yoru.txt");
}
//9時から21時に実行
if(date("G") > 8 && date("G") < 22){
//1時間ごとにポスト
if(date("i") == "0"){
$response = $eb->postRotation("tweet.txt");
}
}

と、してみたのですが全くポストしなくなってしまいました。
今までは
if(date("G") == 8 && date("i") == 0){
$response = $eb->postRotation("asa.txt");
} else if(date("G") > 8 && date("G") < 22){
$response = $eb->postRotation("tweet.txt");
} else if(date("G") == 22 && date("i") == 0){
$response = $eb->postRotation("yoru.txt");
}

で動いていたのですが・・・
ご教授いただけると助かります。
よろしくお願いいたします。

827名無しさん:2012/03/19(月) 20:47:20
>>826
else抜けじゃないの?

というか何で下のものでちゃんと動いていたのにわざわざ上のように変えたいのかが
よくわからない
短くまとめたいなら
0分のとき

828名無しさん:2012/03/19(月) 20:50:23
ごめんミスった827の続き

まとめたいなら
・0分の時
 ・8時〜22時
  ・8時ジャスト
  ・22時ジャスト
  ・その他
の順番でくくるとか

829名無しさん:2012/04/19(木) 21:48:27
特定の日だけポストさせたくないのですが
!= と !== の違いがよくわかりません。
比較演算子の型とはどういう意味でしょうか?

830名無しさん:2012/04/27(金) 13:23:08
>829
ググッてみた?
aとaは型が違うとかそういうもん

831名無しさん:2012/04/28(土) 16:50:05
ググってマニュアルとかを呼んだのですが、意味が分からなかったのです
半角と全角のような違いという喩えは分かりやすいですね
同じエーでも違う感じがようやくわかりました

832Maurice:2012/04/30(月) 13:22:29
You'll find some fascinating points in time in this post but I don’t know if I see all of them heart to heart. There may be some validity but I’ll take hold opinion till I appear into it further. Excellent write-up , thanks and we would like a lot more! Added to FeedBurner as properly

<a href="http://www.instalatorul-tau.ro">instalator</a>

833名無しさん:2012/05/27(日) 08:16:37
少々お知恵をお貸しいただいてもいいでしょうか。
リプライの時に複数のパターンファイルから順番に参照して反応パターンを検出したいのですが、
どうすればよいのでしょうか。

834 ◆scuBOTBGlA:2012/06/18(月) 18:24:35
>833
色々方法はあると思うけど、というか 具体的に、なんでそうしたいのか
わかんないけど


EasyBotter.php の
//リプライパターンと照合

//パターンになかった場合はランダムに

の 〜 の部分を、準備したパターン数分コピーして
$replyPatternFile を、準備したリプライファイル名にすればいけるとは思うけど。

835XRumerTest:2012/07/09(月) 13:20:07
longchamp singapore The element Pliage method Affecting thrill Arcane obscene commits to facilitate you to doubted any myself buy, replacing these, and in annexe ability the lookup rate rating. Preferred the in flight mentioned suit the particular glum merlot, the with only one exceptions pro this reckon unfamiliar, delectable, Longchamp trust in inside accession fanciful; you puissance acquiesce to up-wards smoothly of consequence cause horizontal with attentiveness to cue in re agreeing to which could your can purchase inebriated. Consumers respecting with verging on all connected to be proficient to submit any jocular abounding toddler compatible with being as a workable archetype top-quality candlight fresh longchamp do-it-yourself wine beverages refreshments refreshments refreshments that animating axiomatic preferred accession in the facts rewarding.
耽綻<>

836名無しさん:2012/07/11(水) 15:19:29
現在EasyBotterの2.05を使用しているのですが、TL反応のときに特定IDではなく特定クライアント(Twittbotなど)を除外することは可能でしょうか?
よろしくお願いします。

837名無しさん:2012/07/12(木) 00:14:13
はじめまして。いつもお世話になっております。
鍵付きでbotを運営しているのですが、フォロー許可をしていない人からリプライが来た際リプライを返してしまう為鍵の意味がない状態に悩んでおります。
許可したアカウント以外にはリプライをしないという設定方法はあるのでしょうか?
ある程度検索をしてみたのですが少々違うものばかりがひっかかってしまい皆様の力をお借りしたく書き込み致しました。
よろしくお願い致します。

838 ◆scuBOTBGlA:2012/07/12(木) 00:45:17
>836
標準機能ではたぶん無理です。 結構な規模で EasyBotter.phpに手を入れないといけない気がします。

>837
オートフォローを解除して、必要なアカウントだけ手動でふぉろー返しするのではダメなんです?

839名無しさん:2012/07/12(木) 19:49:48
>>837
多分botは反応してリプ返してるだろうけど、フォロー許可してない人に鍵アカからのリプは見えないよ
bot(鍵)にフォローしてないAさんからリプライ→@bot 〜はbot垢から見えるので反応
フォローしてないAさんにbot(鍵)がリプライ→@A 〜 はAさんには見えない

ただ共通フォロワーには見えるだろうし、どうしてもな事情があるなら改造かなあ

840837:2012/07/20(金) 17:01:40
>>838さん、>>839さん有難う御座います。返信が遅くなり申し訳ありません。
オートフォローは現在とめてある状態です。
てっきりリプライが相手に渡っていっていると勘違いをしておりました…失礼致しました。

841名無しさん:2012/07/24(火) 18:34:29
サーバーにアップロードがわかりません;ω;

842名無しさん:2012/07/25(水) 04:38:19
サーバーにアップロードをグーグルの検索窓に入れてエンターしる!

843名無しさん:2012/07/26(木) 07:18:01
改行した文章をポストさせることはできるのでしょうか?
A「おはよう」
B「おはよー」
のような形でポストさせたいのですが、data.txtだと改行で1つの文章と認識されるのでこのような形がとれません。
何か案があれば教えて下さい。

844名無しさん:2012/07/28(土) 00:19:55
はじめまして。いつもお世話になってます。

data.txtをphp式に変更し、data.phpで使用しています。
時折うまくツイートしてくれますが、よく以下のようなエラーがはき出されます。


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

duplicateといっても、10列ぐらい作成はしているのですがなぜこうなるのかがさっぱりです。
$dataな行以外のどこかも読んでいるような気がしてならないのですが・・・

どなたかおわかりになる方いらっしゃいますか?


新着レスの表示


名前: E-mail(省略可)

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

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

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

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