10/01/10 01:20:14
>>894
回答ありがとうございます
このPHPにはbotへの@リプライとTLから特定単語を拾ってリプライする動きを書いてます
@が含まれるpostを弾くと、このbotへのリプライに反応する事ができなくなってしまいます…
また
if( $screen_name != $username){ //POSTが自分のPOSTではなかった場合にサブルーチンから抜ける
return;
}
を打ってみたのですがやはりエラーが出ました
897:nobodyさん
10/01/10 01:56:39
>>896
「botへのリプライ以外の」@を弾くだけだから大丈夫なはずだけど…
ちなみにうちではこんな感じで、反応語のチェックはswitchで書いてる
if( $screen_name == $username){ //POSTが自分のPOSTだった場合にサブルーチンから抜ける
return;
}if( preg_match("/\@$username/",$text)){ //POST内容にry
(略)
}elseif(! preg_match("/^[0-5]{0,1}$/",$now_g)){ //botが寝てる0~5時台でなければTL反応させる
switch(true){
case preg_match("/\@/",$text) : return; //他の人への@ならサブルーチンから抜ける←これでbot宛以外のリプライには反応しない
break;
(略)
default : return;
break;
}
}
else{return;}
898:nobodyさん
10/01/10 05:42:07
>>891の通りにやってみたら、PHPにアクセスすると真っ白の画面が出るようになってしまった
エラー表示されないから何が何だか・・・
899:nobodyさん
10/01/10 05:42:42
>>891の
$username = "1111";
$key = "3333";
が何だかわからないんだけど、ごめん参考元?ってなにになるのかな?
900:nobodyさん
10/01/10 10:42:09
>>899
えっ
901:nobodyさん
10/01/10 12:03:57
>>899
ごめん$key要らない・・・
自分は複数BOT作ってて複数でも使いまわせるようにしてるんで、その名残だ
要らないところ削除して直したつもりが残ってたみたい
902:nobodyさん
10/01/10 12:17:50
>>898
>>891のソースにはどこにも出力命令が無いんだから
ブラウザでアクセスして何も表示されないのは当たり前だろ
903:nobodyさん
10/01/10 16:18:50
>>902
ごめん。真っ白になるだけでポストしないからどこかにエラーが出るはずだと思ったんだけど
さっき確認したら今まで普通に動いていた別のスクリプトでも同じ現象が起こった
そっちは弄ってないから原因は>>891ではないみたい
904:nobodyさん
10/01/10 23:13:36
自動フォロー返し時にDM送るようにしてるんだけど
たまにフォローだけしてDM送られなかったりフォロー失敗してDMだけ送られたりする
この問題解消するときってどうすりゃいいのかな
905:nobodyさん
10/01/11 17:34:10
すみません初心者で簡単な質問ですが、分かる方は教えて頂けると助かります…
(例)「おかえり、今日の夕飯は○○ですよ」
という文章で、○○の部分をランダムで変えたいのですがプログラムが分かりません
$mesi = array("和食","洋食","中華");
と書いて、
$mes['night'] = array( //夜の時間に発言
"おかえり、今日の夕飯は $mesi ですよ");
とやっているのですが、「おかえり、今日の夕飯はArrayですよ」と表示されてしまいます
906:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/11 17:40:24
>>905
> $mesi = array("和食","洋食","中華");
>
> と書いて、
>
> $mes['night'] = array( //夜の時間に発言
> "おかえり、今日の夕飯は $mesi ですよ");
$mesi = array("和食","洋食","中華");
$num = array_rand($mesi,1);
$mes['night'] = array(
"おかえり、今日の夕飯は $mesi[$num] ですよ");
でいいと思う。
907:nobodyさん
10/01/11 18:02:52
>>906
早い回答ありがとう!
ついでに聞いておきたいんですが、$num = array_rand($mesi,1);の1ってなんの意味?
この中から1つ選ぶ…って事?
908:nobodyさん
10/01/11 18:07:19
つ公式PHPマニュアル
909:nobodyさん
10/01/11 18:12:07
API叩いた後に応答情報あるでしょ。
それが正しく帰ってきてればOKでいいじゃん。
910:nobodyさん
10/01/11 18:25:16
php叩いても成功した時はなにも文章が出てきません…
そしてまた行き詰ったんだが、>>906やり方でやってみたら
ときどき何もランダム単語表示されない時がある…
「おかえり、今日の夕飯は ですよ」
みたいな感じ
911:nobodyさん
10/01/11 18:36:05
飯抜きだったんだよ
912:nobodyさん
10/01/11 23:35:54
だれうま
913:nobodyさん
10/01/11 23:48:16
>>910だが、自力でどうにかなった
>>906の方法じゃないけどなぜか出来たのでこれで十分だ
914:nobodyさん
10/01/12 01:54:55
自己解決したままじゃなくてどうやって解決したまで書かないと
915:nobodyさん
10/01/12 06:32:37
>>849ですが8bitさんのスクリプトを使ってみたらさくらでもcron消されませんでした
GAEやろうとして行き詰まってたところだったから助かった!
916:nobodyさん
10/01/12 19:19:52
@をもらうとおみくじを返す系のbotを製作中の初心者です。
phpを2分おきにGAEのcronで叩いてるんですが、タイムアウトにひっかかっているらしく、
たとえば30分以内の@に対しおみくじを返すように設定しても15回中5~8回程度しか返って来ません。
これを「ひとつの@につきひとつのリプライを返す」というふうに、php側で処理することは可能でしょうか?
GAEのtask queuesも試してみたんですが、This queue is empty.と出て動きません。
きっと非常に初歩的なミスをしているのだと思いますが、どちらかについてご存知の方は
ご助言をお願いしますorz
917:nobodyさん
10/01/12 19:59:34
リプライしても無視し続けたらボットだってバレるかな?
918:nobodyさん
10/01/12 21:19:02
>>916
重くなってる処理はないか確認してみる
GAEはだいたい4~8秒くらいでタイムアウトになるからその分処理を軽くしなければならないよ
まあ晒せる範囲でソース晒してみたら
919:nobodyさん
10/01/12 23:28:49
>>916
同文の投稿制限にひっかかってるとかもあるんじゃないのか
920:nobodyさん
10/01/14 15:32:58
投稿関係でうまくいかないときって、連投規制に引っかかってることが多いよ
921:nobodyさん
10/01/14 19:33:13
URLリンク(www.setcronjob.com)って今
@pages使ってる人だと動き不安定?
一度削除して登録し直そうとしてもタイムエラー出るんだが…
922:nobodyさん
10/01/14 22:14:43
>>921
さくらでもタイムエラー出る…
923:nobodyさん
10/01/14 22:16:36
サーバー自体がおかしいのかね
demoでログインしたらサーバーのcp.phpが入ってた
チェック中なのかな?明日には直ってくれるといいね
924:nobodyさん
10/01/14 22:16:37
途中送信した。
今まで調子よかったのになんで急に…入金したばっかりなのに
925:nobodyさん
10/01/14 22:51:55
SetCronJobはもう、このURLに達することができません。 誤り: 接続は外で調節しました。
有料垢だろうがjpドメインの鯖を規制してるっぽい。
926:nobodyさん
10/01/14 22:57:00
えええ金取ってそれって詐欺じゃん
927:nobodyさん
10/01/14 23:06:05
垢自体は凍結されてないので@PAGEからXREAに変えたら使えた。
928:nobodyさん
10/01/14 23:11:02
申し訳ございません。 現在、一般向け無料サーバーの募集は行っておりません。 次期募集をお待ち下さい。
XREA…(´・ω:;.:...
929:nobodyさん
10/01/14 23:27:59
完全に金かけずにやるのはもう厳しいな
930:nobodyさん
10/01/14 23:30:28
>>845
詳しい作り方をblogとかに公開すればアクセス稼げるよきっと
931:nobodyさん
10/01/15 00:30:49
URL転送サービスでURL変えて登録だと動かない?
932:nobodyさん
10/01/15 01:11:26
GAE使えば無料じゃないか
933:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/15 01:56:33
どうも。cronのクローン作るとか言っていた香具師です。
sendmail,postfixが言う事を聞かないのでメールに頼らない認証方法を確立したいのですが、どうすれば良いでしょう…(人任せ)
せっかくTwit専用なのだしtwitterのアカウント経由で認証するのもありだと思います。
そうすれば管理もtitter経由で可能になりますし。
いかがでしょう。
934:nobodyさん
10/01/15 01:59:48
SetCronJobの有料垢だけど、管理者からメールきてて
jpドメインでも使えるようにする案と、場合によっては返金するよって内容のものだった。
自分は自力で使えるようになったけど一応、対応はしてくれるみたいでちょっと安心した
935:nobodyさん
10/01/15 02:03:03
無料でもjpドメイン使えるようになって欲しいな…
936:nobodyさん
10/01/15 13:49:35
phaさんのリプライスクリプトにGAEを組み合わせて使ってるんだけど、
スクリプト中の「何分以内にもらったリプライを読み込む」を2分に、GAEのcronファイルも2分毎に更新にしてあるんだけど、どうも取りこぼしがあるみたいなんだよね。
そういうもん?
937:nobodyさん
10/01/15 14:01:44
そうでもない
938:nobodyさん
10/01/15 14:08:56
>>936
GAEが誤差があるからな
$limittime = $now - $cron * 60;
ここを変えれば良い
自分は62にしてる
それでも取りこぼしはあるけどね
あまり秒数を増やすと今度は2重投稿しちゃうよ
939:nobodyさん
10/01/15 15:58:06
URLリンク(www.onlinecronjobs.com)
アメリカのでこんなの見つけたけど、使えない?
940:nobodyさん
10/01/15 16:38:38
@pages使いでFree Web Cron Serviceでcron設定してるんだけど
一切反応しない…
5分間隔と20分間隔にしているんだけど何が原因なんだろう
941:nobodyさん
10/01/15 17:04:16
今人間と会話できるbot作ってるんだけど、アルゴリズムが難しいんだ。
特に感情を持たせるにはどうすればいいかアイディアをくれないか?
一応疑問文に応答するアルゴリズムは大方できてるんだ。
問題は人間らしい感情をどうやって持たせるかなんだ。
942:nobodyさん
10/01/15 19:36:41
>>938
おーありがとう!
ためしてみますー
943:nobodyさん
10/01/15 19:42:55
>>941
そいつに死ねと言ったら死ぬかな?
944:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/15 22:00:57
>>941
感情のパラメータを作成して、単語ごとにエモーショナルレベルを設けて喜、哀、憂、怒などに数値を加算して表現してはいかがか
945:nobodyさん
10/01/15 22:07:19
date_default_timezone_set('Asia/Tokyo');
$today = getdate();
$day1 = (55-date(z));
で日付取得と残り日数を計算して
今日は${today['mon']}月${today['mday']}日です。~~まであと".$day1."日です
っていうカウントダウンをポストしているんだが、定期だとうまく行くんだがリプレイだと日付が取得できないんだ。
リプライに対応するためにはソース書きなおさなきゃだめなのかな?
946:nobodyさん
10/01/15 22:25:00
なんでリプライだと日付が取得できんの?
947:nobodyさん
10/01/15 23:08:29
今日は${today['mon']}月${today['mday']}日です。~~まであと".$day1."日です
今日は月日です。~~まであと日です。
ってなるんだ。
理由は私が聞きたい\(^O^)/
948:nobodyさん
10/01/15 23:32:27
両脇に半角スペース入れてみたら?
私も同じような事なった事あるけど、半角スペース入れたら直ったよ
949:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/15 23:49:40
>>947
""でくくらなくてよくないか?
""の中に直接変数を書き込めなかったっけ
"~~まであと$day日です"でおkだったと思う
950:nobodyさん
10/01/16 00:08:39
>>947
引数が渡ってないとかじゃないかな
取得をまるっとユーザー関数の内側に入れてみてはどうだろう
見当違いだったらごめん
951:nobodyさん
10/01/16 10:17:49
>>947
その中の変数を取得してから表示するまで処理ごとに表示してみればいんでないの。
952:nobodyさん
10/01/16 10:18:47
変数のセットが関数外で、表示は関数内なのにglobal宣言してないとかはよくある話。
953:nobodyさん
10/01/16 12:33:09
フレンド発言取り込んでマルコフ連鎖にしてるbot作ってみてるけど
URLとかRTとかノイズ除去するのがわりと手間だね。
954:nobodyさん
10/01/16 21:29:27
>>944
なるほどフムフム
955:nobodyさん
10/01/16 23:38:57
1つのbotに絡み続けるbotを作ってるんだけど
bot製作のblogとか見ながら作ると「1人の人への連続replyはしない」ようになってるから
誰かを間に挟まないと(もしくはdata.txtの中身を消さないと)リプライしてくれない。
どうすればいいかわからん・・・。誰か教えてください
956:nobodyさん
10/01/16 23:59:48
どのブログを見てどういうbotを使ってんのか説明してもらわんとエスパーじゃないんでわからんよ。
957:nobodyさん
10/01/17 00:09:41
>>956
ああすまん。「銀さんのbot」と「プログラミングを始める~」を参考に
設置サーバーも銀さんと同じところにしてる。
とあるbotが特定の言葉をつぶやいたら、それに@で返信させるようにしたいと思ってる
TLに反応させてリプライさせる「プログラミングを~」にあったものをほぼコピペしてます
958:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/17 00:33:33
自分のブログにも書いたりしてますが、cron-jobのクローンの設定法はtwitter経由でいいですか?
botに発言してスケジュール管理です。
959:nobodyさん
10/01/17 00:41:40
botにfollowers抜かれた\(^o^)/
960:nobodyさん
10/01/17 00:42:19
>>957
落ちついて処理を一歩一歩理解するんだ
それでも分からなかったら聞け
961:nobodyさん
10/01/17 03:12:32
>>827
>>829
と同じようにGAEが起動できなくなってしまったんだが…
原因がわからん。わかる人いないかな…
962:nobodyさん
10/01/17 03:18:45
Google App Engine 2アプ目
スレリンク(php板)
963:nobodyさん
10/01/17 03:27:36
ボットジェネレーターの質問とかもここでしていいの?
964:nobodyさん
10/01/17 05:30:18
URLリンク(mukurobot.blog101.fc2.com)
ここの記事のカッコに囲われた文字のみをオウム返しする機能を付けたいんだけど
phaさんのスクリプトじゃなくてbardothodolさんのスクリプトで対応させる方法がわかりません
最初そのままつっこんでみたけどやっぱり動かなかったので教えてください
965:nobodyさん
10/01/17 09:00:07
動かない時はエラーメッセージを読もう
966:964
10/01/17 09:19:39
エラーは出てなくて、特定ワードを含まない時のリプライが返ってきたんだ
bardothodolさんのとこのと色々当てはめてやってみたんだけど
$replies2も$iも見当たらなくて何に当てはめ直せばいいのかがわからなかったorz
もうちょっと睨めっこしてみます
967:nobodyさん
10/01/17 09:36:11
そういう時は変数の中身を出力してみてどこで想定外の動作になっているか確認するんだ
968:nobodyさん
10/01/17 09:41:25
ボットジェネレーターの質問もここでいいのかわからないけど質問。
たとえば「おはよう」に対して「おはよう」と「グッドモーニン」の二種類のリプで返したい場合、
「おはよう」を受け取ると「おはよう」と返信
「おはよう」を受け取ると「グッドモーニン」と返信
こう二行やるのと
「おはよう」を受け取ると「おはよう","グッドモーニン」と返信
こうやるの、どっちがちゃんと動くんでしょうか
969:nobodyさん
10/01/17 09:49:32
そのBOTのコードによる
970:nobodyさん
10/01/17 11:32:40
>>827
>>961
自分もエラーが出てGAE Launcher動かないんだが
コマンドプロンプトにコマンド直打ちでデプロイ出来たよ
971:nobodyさん
10/01/17 12:50:08
>968ですが自己解決しました。前者で動くみたいです。
スレ汚し失礼しました。
972:nobodyさん
10/01/17 14:01:44
GAEのcronでリプライに反応するプログラム動かすと、失敗ばっかりしてる。
スクリプトが重いのかな
973:nobodyさん
10/01/17 23:27:52
>>972
そうだね
974:nobodyさん
10/01/18 00:50:08
>>972
Twitterに単純にPostするだけのスクリプトと比べて重いの?
975:nobodyさん
10/01/18 02:18:12
URLリンク(d.hatena.ne.jp)
ここのソースを借りてTL上の単語に反応するようにしたいと思っています。
手動でブラウザからphp叩けばきちんと動くんですが
cronで叩くと「ファイルが開けません 」というメールが返って来てしまい、動作しません
ソース見た限りではおそらくdatファイルが開けないという事だと思うんですが…
手動でやる分には問題無いのでcron側の問題でしょうか
メールでphpのエラーメッセージを持ってきているので
cronの実行コマンドのファイルパスは合っていると思います。
プログラミング・cron等は全く手をつけたことがなくて、色々調べてみたのですが
分かりませんでした。
解決方法ご存じの方いらっしゃいませんでしょうか。
976:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/18 03:05:41
>>975
ソースうpが原則です、その方がスグに解決しますよ
977:nobodyさん
10/01/18 03:13:31
パーミッション設定してないだけじゃねーの?
978:975
10/01/18 04:13:21
>>976
失礼しました。ソースうpしました。
URLリンク(kissho.xii.jp)
反応語句部分ところとusernameとpass以外いじってません。
>>977
パーミッションというとdatファイルのでしょうか?666に設定してあります。
これで手動ではきちんと動くんですが、もしかしてphpの方も設定しないといけないんでしょうか
試してみます。
979:nobodyさん
10/01/18 13:08:22
>>978
cronを使うと途端にファイルが開けなくなる場合は、ファイルのパス指定で間違えてるのがほとんど。
980:nobodyさん
10/01/18 13:57:52
スレ違いかもしれないけど、良かったら教えてほしい
今度マルコフ搭載したボット作ろうと思うんだけど、ちゃんと勉強したい
プログラムを自分で組めるまではいかなくても、改変出来る程度の知識を身に付けたいと思ってる
なんか良いおすすめの本とかあるかな?
ちなみに自分のレベルは毛の生えた初心者
981:nobodyさん
10/01/18 14:06:01
プログラム全くわかんないならまずphp初心者スレでも見てあそこのテンプレのURL一通り見てくればいんじゃないの。
マルコフ連鎖とか形態素解析とかそういうのは最低限の土台できてからであって
いきなりやろうとしてもろくなことにならんよ。
982:nobodyさん
10/01/18 14:19:22 scJ7qSxR
>>829
google_appengine_projects.ini
を探して消す。
983:nobodyさん
10/01/18 15:21:00
bot製作者の方に質問なんですが
よく解除するときはリムーブじゃなくブロックしてくれってあるのはどうしてですか?
リムーブだとなにかまずいんでしょうか
984:nobodyさん
10/01/18 15:27:16
>>983
リムーブされてもbotからのフォローが残るからでは?
985:nobodyさん
10/01/18 15:27:26
>>983
管理が面倒臭いからじゃない?
フォローしてる人に話しかけるタイプのbotだったりしたら
リムられてるのに話しかけてしまうのは迷惑だろうから
フォロワーとフォローは同じにしておきたいと思うんじゃないか
986:975
10/01/18 15:50:11
>>979
cronの実行コマンドのパスでしょうか?
何度も確認してみたのですが、やはりファイルパスは合っています
正常に動くphpと同じディレクトリに入れてあるので、それをコピペしてファイル名書き換えてます
動いているもの→/usr/local/bin/php /home/*****/public_html/*****/post_random.php
動かないもの→/usr/local/bin/php /home/*****/public_html/*****/reply_tlget.php
ちなみにphpのパーミッション設定も変えてみましたが、ダメだったようです。
987:nobodyさん
10/01/18 16:19:57
>>986
$filenameの方を絶対パスにしてみて
988:975
10/01/18 17:30:36
>>987
それで動くようになりました!!
反応が不安定ですがとりあえず動くようになりました!!
不安定なのはphpの問題っぽいので自力で何とかしてみます
本当にありがとうございました!!
989:nobodyさん
10/01/18 17:55:35
>>988
>>979だけど説明悪くてすまなかった
990:nobodyさん
10/01/18 18:04:06
>>980
相当難しくなると思う。
初心者ならまずphpでいろんなbot作って基礎を確実にして。
マルコフ連鎖もWikipediaだけではよくわからないと思う。
個人的に思うんだが、マルコフ連鎖を使って呟かせるより他の人の過去の呟きを拾ってbotに呟かせたほうがより人間っぽいと思う。まぁ楽しむ目的でbotつくるならマルコフ連鎖でもいいけど。
991:nobodyさん
10/01/18 20:03:50
そういや次スレはどうするんだ?
992:テンプレ案1(GAEのがj.mpになってるのはURLが長かったから)
10/01/18 21:45:52
プログラムとかわかりません><
URLリンク(twittbot.net)
Perl
URLリンク(search.cpan.org)
PHP
URLリンク(pear.php.net)
URLリンク(labs.transrain.net)
Ruby
URLリンク(twitter4r.rubyforge.org)
Java
URLリンク(yusuke.homeip.net)
プログラミングができなくても作れるTwitter botの作り方
URLリンク(pha22.net)
cron
URLリンク(www.onlinecronjobs.com)
URLリンク(www.setcronjob.com)
URLリンク(mywebcron-com.loopiasecure.com)
URLリンク(cron-job.de)
GoogleAppEngineによるcron
URLリンク(code.google.com)
URLリンク(j.mp)
URLリンク(d.hatena.ne.jp)
993:nobodyさん
10/01/18 21:49:46
お邪魔します。phaさんの配布されている物を使って作成したbotなのですが、
複数件リプライを貰っているのに最新1件のリプライにしか反応(返事を)しない場合はどのような原因が考えられるでしょうか?
ちなみに手動で叩いてみてもやはり最新1件のリプライにしか反応しませんorz
994:nobodyさん
10/01/18 21:52:04
>>993
そのプログラムのリプライ処理の部分を書いてくれ
995:テンプレ案2
10/01/18 21:52:59
OAuth
URLリンク(wolf.silk.to) (要curl)
URLリンク(www.msng.info)
URLリンク(j.mp) (curl不要その1)
URLリンク(j.mp) (curl不要その2)
TwitterAPI日本語訳
URLリンク(watcher.moe-nifty.com)
他に何かあったら追加ヨロ
996:テンプレ案2
10/01/18 21:53:43
OAuth
URLリンク(wolf.silk.to) (要curl)
URLリンク(www.msng.info)
URLリンク(j.mp) (curl不要その1)
URLリンク(j.mp) (curl不要その2)
TwitterAPI日本語訳
URLリンク(watcher.moe-nifty.com)
他に何かあったら追加ヨロ
997:nobodyさん
10/01/18 21:53:44
だれか次スレ立ててくれ
998:nobodyさん
10/01/18 22:43:45
>>978
* * * * * wget URLリンク(example.com)
ってやってる?
* * * * * wget /var/www/path/to/aaa.php
とかしてませんか?
999:nobodyさん
10/01/18 23:19:20
立てた。
スレリンク(php板)
1000:nobodyさん
10/01/18 23:22:38
おまんこ
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。