09/09/27 14:15:59 Dz08qoo4
見当たらなかったので立ててみた
[公式] URLリンク(twitter.com)
[Twitter 開発ブログ 日本語版] URLリンク(twitterjp.blogspot.com)
*どの言語でもOKですがソースを書く際は何の言語なのかも記載してください。
*初心者のために、なるべくぶつ切りのソースではなく全体的に載せてほしいです。
2:nobodyさん
09/09/27 14:40:47
カレーに2
3:nobodyさん
09/09/27 21:25:25
PHPで、TL上の特定の単語に反応して相手にリプライを送る方法を教えてください。
たとえば通常postで「おはよう」「おやすみ」(@付のpostは反応しない)とあった場合に、
こちらからリプライをするものです。
特定の単語をリプライされた場合にその単語用の文章を返せるリプライなら
知っているので、もし必要でしたら貼ります。
4:nobodyさん
09/09/27 22:14:34
前半と後半で同じこと言ってるような気がするのは俺だけ・・・?
5:nobodyさん
09/09/27 23:12:14
>>4
ややこしくてすみません
後半は、相手から@でリプライされた場合に返すものです。
前半の自分の求めているソースは、
自分にリプライが来ない場合(例えば普通に「おきた、おはよう」という独り言)でも
BOTがTLに勝手に反応して、独り言を言った相手にリプライするものです。
参考までに…(pass:php)
URLリンク(uproda.2ch-library.com)
6:nobodyさん
09/09/27 23:16:09
修正ごめんなさい
>>5のアドレス、これで(pass:php)
URLリンク(uproda.2ch-library.com)
7:nobodyさん
09/09/27 23:39:27
それって自分宛ての返信ページを取得してるんでしょ?
普通に対象ユーザのTLを取得して同様の処理すればいいんでない?
8:nobodyさん
09/09/28 00:50:25
>>7
その記述方法が分からなかったので質問したのですが、解決しました
すみませんでした
9:nobodyさん
09/09/28 00:54:52
どうやって解決したの?
10:nobodyさん
09/09/28 01:40:24
>>9
個人のブログなのでアドレスは書けないんですが、
すごく詳しく解説しているサイトを発見したもので
11:nobodyさん
09/09/28 01:43:03
公開してるなら教えてよ。このスレのためにも。
12:nobodyさん
09/09/28 01:49:08
>>11
アドレスは書けない
『プログラミングを始める』でぐぐって上から2番目に出てきたところ
13:nobodyさん
09/09/28 03:40:31
なんで書けないんだ?
キーワードは言っておいてURLは書けないとか
意味が分からない。
14:nobodyさん
09/09/29 22:27:04
>>12
ブログの主に迷惑がかかるからだろうが
お前は自分がよければそれでいいのか?
15:nobodyさん
09/09/29 22:30:50
ヒントだけ出せば検索もできない馬鹿なやつを弾けるしな
16:nobodyさん
09/09/30 16:17:35
プログラミングができなくても作れるTwitter botの作り方
というサイト様でbot設置は簡単にできたのですが
ランダムに呟き・返事をするのではなく、
・時間帯に合わせて発言する
・特定の語句に対して返事をする(会話が成り立つ)
ようにするにはどうしたらいいでしょうか?
17:nobodyさん
09/09/30 19:04:52
> ブログの主に迷惑がかかるからだろうが
> お前は自分がよければそれでいいのか?
どんな迷惑がかかるの?
2ch って何か問題なの?
18:nobodyさん
09/09/30 20:16:47
>>14
意味が分からん。
このスレって迷惑なことしてるスレなのか?
19:nobodyさん
09/10/01 13:02:39
>>17 >>18
こういうことだ→ >>15
20:nobodyさん
09/10/01 14:00:17
製作支援スレと銘打っているので、教える気のない人は来ないでください。
それと2chにURLを貼られるのが嫌な人はたくさんいるので、
なるべくURLは出さずにヒント通り検索してみてください。
『Twitter BOT 作り方』とかで結構出ます。
>>16
サイト名を書かかれるのもいやがる人もいるんでアレなんですが
「銀さんのbot ~不完全~」で検索してください
21:nobodyさん
09/10/01 14:25:41
>>20
>>16と同じところで躓いてそこも見たんだけど
そのサイトで公開してるやり方を選択するってことは
>>16のサイトで配布してるphpは使わないってこと?
22:nobodyさん
09/10/01 20:49:56
>>19
じゃ「ブログの主に迷惑がかかる」というのは嘘ということね
23:nobodyさん
09/10/01 21:40:05
>>22
バカ?それとも釣りか?
ちょっと前のレスも見れないんだな。
自分が管理人になって2chの知らないスレにアドレス貼られて影でアレコレ言われてみれば、いい気分しないの自覚するんじゃないの?w
24:nobodyさん
09/10/02 16:27:48
質問失礼します
cronを使用できないサーバーを使ってるんですが
URLリンク(www.webcron.org)
ここって期間過ぎたら有料になりますよね?
あと、ここも試してみたんですがなんか実行されない(twitterに発言が行かない)んですよね・・・
URLリンク(www.cron-job.org)
やはりcronを使用できるサーバに乗り換えるべきでしょうか、
他に良い方法があったらご教授お願いします
25:nobodyさん
09/10/02 18:45:13
>>23
影でアレコレ言うのが嫌ならこのスレの存在を教えれば?
26:nobodyさん
09/10/02 23:10:06
全然役立たないスレだな
27:nobodyさん
09/10/08 03:05:53
簡単な改造とかはどっちかっつーとPHP初心者スレとかで聞いたほうがいいスだろうな。
リンク禁止とか書かれてるならともかく、プログラム関連の情報ブログなんかはむしろ公開ありありだと思うんだけど
まあそれは置いといて、喧嘩腰暴言吐く人はどのスレでもいらんよね。
28:nobodyさん
09/10/09 14:18:08
url貼らないことに粘着する奴がいるようだな、くだらない。
直リンでなくともurl貼らないで検索ヒントのワンクッション置くのは善意だろ。
その善意が誰に向けられてるのかもわからずしつこく粘着とは悪意そのもの。無益だから自重してね
29:nobodyさん
09/10/09 14:20:44
そんなのどうでもいいから台詞書き換えるだけで設置できるプログラム配布とかしてくれよ
30:nobodyさん
09/10/09 18:41:44
それこそ検索すれば出てくると思うんだが…
それかbotmaker使えばいいんじゃないの?
プログラム面自分で触る気ないならそっちのが簡単じゃない?
31:nobodyさん
09/10/09 19:21:36
@で反応するbotが作りたいです
BASARAのbotが理想です
銀さんのbot見たけどよくわかりません
32:nobodyさん
09/10/09 19:48:46
>>31
あれでわからないならもう諦めたほうがいい
33:nobodyさん
09/10/09 22:55:15
>>28
誰から誰へのどういう善意?
34:nobodyさん
09/10/09 22:56:09
>>32
そんなこと言わずに教えてください
35:nobodyさん
09/10/09 23:00:49
>>34
そんなこと言わずに諦めてください
36:nobodyさん
09/10/09 23:27:43
>>35
そんなこと言わずにお願いします
37:nobodyさん
09/10/10 03:13:49
てんどんかよ
38:nobodyさん
09/10/10 03:43:47
こんなかんじで応答ができるbotが作りたいです
39:nobodyさん
09/10/10 05:52:06 WvW2Ckcc
URLリンク(www.cron-job.org)
は結構頻繁に動かなくなってる?
40:nobodyさん
09/10/10 19:53:02
>>39
そこつかってるけど、ときどき定期発言抜けるねー
ときどきジョブが自動でneinになってるときがあってびっくりするよ
41:nobodyさん
09/10/10 20:00:16
cron の読み方がわかりません><;
42:nobodyさん
09/10/10 21:08:21
>クロンタブ、あるいはクーロンタブ、クローンタブとも
43:nobodyさん
09/10/10 22:07:01
botを作ること自体は全く難しくないが、
フォローし続けても飽きがこないbotを作るのは難しい
44:nobodyさん
09/10/12 10:58:32
作者が意欲的にワード追加するとか、形態素解析でうまいこと使いまわせるようにしてないとすぐ発言が単調になるしな。
単にしゃべらせたいってだけなら上のほうの検索ワードのやつでいいはずだけどしゃべったらすぐ飽きるよな。
45:nobodyさん
09/10/14 02:56:05
phpでフォローしているひとたちの発言をマルコフ連鎖にしてつぶやくbotをつくりたいんだけれど
解説しているサイトとかありませんかね
46:nobodyさん
09/10/14 03:07:56
何を?
47:nobodyさん
09/10/14 09:42:46
botについて?
マルコフ連鎖について?
48:nobodyさん
09/10/14 11:35:09
マルコフ連鎖ならこのへん見ればいいんじゃね
URLリンク(d.hatena.ne.jp)
URLリンク(shohoji.net)
49:nobodyさん
09/10/14 20:25:17
PEARモジュールのServices_Twitterは発言させるだけなら容易にできるけど
フォロワーの名前ひろったり過去発言参照したり色々いじろうとすると物足りないな。
50:nobodyさん
09/10/15 11:45:54
「プログラミングを始める」でググって上から二番目ってここ?
URLリンク(d.hatena.ne.jp)
id:amachangが2chからのリンクを気にするようなタマとも思えんが。
つーか出てくるページ遠回り過ぎるだろ。キーワードを流すならもっとダイレクトに引っ掛けろ。
「銀さんのbot ~不完全~」はここか?
URLリンク(d.hatena.ne.jp)
銀さんも気にするような人では無いと思うが。
ってこっちは誰だか知らねーけど(藁
51:nobodyさん
09/10/15 16:29:21
過剰反応だとは思うし悪意で張るわけでもないから気にしなくていいと思う。
技術系のブログは資料として色々比較したほうがそっちへのフィードバックもできるし。
52:nobodyさん
09/10/15 19:41:26
返信するタイプのbotには返信先のpostが出るようにしてほしい。
updateのAPIに投げるデータにin_reply_to_status_id付けて。
53:nobodyさん
09/10/16 10:14:42
直リンしちゃだめとか同人系のローカルルールだろwww
プログラミング系の板に変な空気を持ち込まないで欲しいwww
54:nobodyさん
09/10/16 13:15:38
cron使える安い鯖無いの?
55:nobodyさん
09/10/16 18:51:32
>>54
「レンタルサーバー」でぐぐって出てくる鯖の仕様ページで片っ端から調べて行くとか。
56:nobodyさん
09/10/16 21:10:04
>>54
corn-job.comじゃ駄目なのか?
レンタル鯖は大抵1時間に1アクセスくらしかできんぞ
あと誰かMステ出演者botつくってくれ
57:nobodyさん
09/10/17 16:31:35
URLリンク(8bitnote.sblo.jp)
ここのスクリプトでリプライ作ったんだけど@を拾ってくれない
コメントで同じこと言ってる人いるけどidも間違ってないしTLの発言は拾ってくるのに
URLリンク(pha22.net)
こっちのランダムリプライスクリプトは問題なく拾ってくれるんだが
58:nobodyさん
09/10/17 16:36:16
じゃあ両方のいいとこ取りすればいい・・!
59:nobodyさん
09/10/17 16:52:44
URLリンク(pha22.net)
こっちのスクリプトで特定のワードに反応できるようにカスタマイズできれば一番いいんだけど
素人判断で弄ってエラーで動かなくなった
いい方法ないかね
60:nobodyさん
09/10/17 16:59:12
ヲチスレとかで、@pha さん呼んだら解決するじゃん・・・・
61:nobodyさん
09/10/17 17:08:52
>>1-
twittanの管理人?がおかしいので、twittanにDM投げるだけのBotつくってくだしあ><;
62:nobodyさん
09/10/17 19:19:37
>>48
Twitter botに実装する方法が分からない…
63:nobodyさん
09/10/17 19:23:27
マルコフ連鎖って、chasenやmecabなんかが使えるサーバーじゃないと
形態素解析が使えないから、単語単位での分け方け方じゃなくて、
スペース、句読点くぎりしかできなかったはずだけど、違うのかな。
yahoo apiを使えばできるの?
64:nobodyさん
09/10/17 20:51:02
>>1-1000
twittanの管理人?がおかしいので、twittanにDM投げるだけのBotつくってくだしあ><;
65:nobodyさん
09/10/17 21:18:42
>>62
botに実装しない形では完成してるの?
66:nobodyさん
09/10/17 22:05:52
今、銀さんのbotを見て作ってたんだけど、
定期つぶやきについては最初はうまくできたのに、
リプライ機能もつけようとしてtxtファイルを作ったら、
リプライはおろか定期つぶやきもしてくれなくなった…
手動でphp実行で投稿しようとしてもだめ
txtファイルを消してもだめ
どなたか知恵下さい...
67:nobodyさん
09/10/18 00:36:54
前のつぶやき(20件)と全く同じ発言しようとしてるからじゃね?
それでもダメなら作り直した方が楽な気がする。
68:nobodyさん
09/10/18 00:44:50
今、24時間以内に同じ内容のpostをしたらブロックされる規制が導入されてる
らしいね。
Twitter、重複つぶやきをブロック開始
URLリンク(jp.techcrunch.com)
あと直近の10postと同じ内容でなければ、24時間以内でなくとも投稿できるらしい。
URLリンク(koty.sakura.ne.jp)
69:66
09/10/18 00:50:08
>>67 >>68
うわぁありがとう だからか!すごい納得いった。
テストのつもりだったから
発言4種類くらいで6分間隔くらいで喋らせようとしてたわ。
ほんとサンクスです!! もうちょっと頑張ってみる
70:nobodyさん
09/10/18 00:58:06
ああ、10件だったっけ…
71:nobodyさん
09/10/18 00:59:39
> 24時間以内
というのは間違いみたい。数日経っても動かないボットもいる。
テスト用に作った発言の種類が3つのボットだけど。
72:nobodyさん
09/10/18 01:18:12
そうなると直近の10post分だけどっか別のファイルに記録しておいて、投稿前に
その中に同じ内容が含まれていたら違う発言をpostするようにしたら何とか回避
できるかな。
発言を11個以上用意しておく必要があるけれど。
73:66
09/10/18 01:28:40
今セリフを増やして言葉も変えたら、とりあえず手動での投稿は受け付けたから
やっぱりセリフの重複が問題だったみたい。
ここのスレなかったら多分諦めてたわ、ありがとう助かった!^▽^
74:nobodyさん
09/10/18 10:07:36
>>65
うん
75:nobodyさん
09/10/18 15:22:23
>>57
この8bitnoteの方にあるPOST内容から発言を引用するスクリプトを丸コピーしてみたら
Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /usr/local/www/
ってエラー出るんだけど質問受付てないし何がいけないんだかさっぱりわかんね
76:nobodyさん
09/10/18 15:24:59
パースエラーだろが
77:nobodyさん
09/10/18 18:42:16
bot同士で会話させるた時にある程度会話するとリプライしないようにできる方法ない?
78:nobodyさん
09/10/18 19:07:59
>>77
URLリンク(d.hatena.ne.jp)
79:nobodyさん
09/10/18 19:22:35
corn-job.orgって使えるcronの数決まってる?
80:nobodyさん
09/10/19 00:15:54 slCeJxW2
なんかおもろいbot教えて
81:nobodyさん
09/10/19 00:38:11
リプライに関して。
プログラムは基本的に動くんだけど、
たまに「@ID」のみの空白リプライ返してるときがある。
単に負荷がかかりすぎ、ってことなのかな?
同じ症状出た人いたら教えて欲しい……。
82:nobodyさん
09/10/19 02:47:24
POSTするステータス自体が、何らかの要因でそうなってるんじゃないの?
あとは、\0 が入ってるとか。
どっかにログとして保存しとくと確認しやすいかも
83:nobodyさん
09/10/19 03:19:16
空リプライはこれが原因とかじゃないかな?
URLリンク(d.hatena.ne.jp)
84:nobodyさん
09/10/19 12:45:05
作ってみたしリプライの出来るんだがシカトが多いなと思ったら
リプライを読み込むまでにもらった最新の一件にしかリプライしないようだ
原因は何が考えられるでしょうか?
85:nobodyさん
09/10/19 13:10:49
作ってみた内容がわからんから何とも言えない
86:nobodyさん
09/10/19 16:55:12
最新の一件にしか反応しないようなソースだからじゃないのとしか
87:nobodyさん
09/10/19 19:17:47
corn-job.orgが使ってるけど1/3くらいの割合で作動しない気がする
どっか2分間隔でcron使える鯖ないかな
88:nobodyさん
09/10/19 20:17:59
elseif( preg_match("/(.+)(なのか|だったのか)/",$text)){ {//「なのか」または「だったのか」の前に何かしら文字があった場合にマッチ
$nanoka = $1; //「なのか」または「だったのか」の前の文字を$nanokaに代入 ←この行でパースエラーになるんだけど何がおかしいの?
$mes = array("$nanokaなのかー"); //$nanokaを台詞に組み込んで引用!
$mes_n = count($mes) - 1;
$mesrand = mt_rand (0,$mes_n);
89:nobodyさん
09/10/19 20:19:37
全角スペースが入ってるから
90:nobodyさん
09/10/19 20:27:16
>>88
elseif( preg_match("/(.+)(なのか|だったのか)/",$text,$match)){ {
$nanoka = $match[1];
91:nobodyさん
09/10/19 20:29:06
>>88
あと
>$mes = array("$nanokaなのかー"); //$nanokaを台詞に組み込んで引用!
>$mes_n = count($mes) - 1;
>$mesrand = mt_rand (0,$mes_n);
は何をやりたいのかよくわからないのだけど
これだと count($mes) は必ず1になると思う
92:nobodyさん
09/10/19 20:39:42
>>1-1000
twittanの管理人?がおかしいので、twittanにDM投げるだけのBotつくってくだしあ><;
93:nobodyさん
09/10/19 20:40:27
ああ$1とか書いてるからか・・・
94:nobodyさん
09/10/19 20:41:58
>>90
迅速な回答ありがとう
おかげでとりあえずエラーは消えたが何故かリプライに反応はしなかった
95:nobodyさん
09/10/19 21:40:31
corn-job.org2分間隔と30分間隔で使ってるけど2分の方ほとんど機能しねえ
間隔長い方がいいのか?関係あんのかな
96:81
09/10/19 22:14:13
>>82 >>83
ありが㌧ ちょっと試してみる。
空リプライをポストしないようにすればいいんだな、とりあえず。
97:nobodyさん
09/10/19 22:56:38
bot動かすのに一番向いてる鯖ってどこ
cron使えるとこで
98:nobodyさん
09/10/19 23:11:03
俺の鯖
99:nobodyさん
09/10/19 23:22:10
さくらサーバーってcron最短で何分間隔で使えるんだろ
100:nobodyさん
09/10/19 23:26:10
twitterにアクセスできて、任意のプログラムを動かせるのであれば
鯖である必要すらない。
101:nobodyさん
09/10/19 23:48:38
>>93
Perlやってると陥るミスだな。
構文微妙に似てるせいで同じとこと違うとこを混同しやすい。
102:nobodyさん
09/10/20 00:42:14
手動だとちゃんとポストされるのにcronがポストしてくれない
ドイツのサイト使ってるけどここだめなのか
103:nobodyさん
09/10/20 01:12:52
普通にcron使えよw
104:nobodyさん
09/10/20 02:01:10
ちょっと前に名前を呼ばれてたので名前を出すけど@phaです。
特定の単語に特定の単語を返す機能は次のバージョンアップで付ける予定です。
もうちょっと待ってくださいー。
105:nobodyさん
09/10/20 02:45:47
>>102
例のドイツのサイト、多分今すごく負荷かかってるんじゃないか?
良くも悪くも、かなり認知度高まってきた感じだし。
106:nobodyさん
09/10/20 05:16:21
>>104
すっごい頼りにしてる。
107:nobodyさん
09/10/20 17:59:03
@phaさんが配布してるのと、
時間になったら寝たり、時間帯のつぶやきを組み合わせようとして
途中までうまくいってたんだけど
文字化けしちゃってうまく出来なかった・・・。
誰かやってうまく行った人居ませんか?
108:nobodyさん
09/10/20 18:25:20
>>104
@phaさんキタ━━(゚∀゚)━━!!
待ってます!!!!!!!
109:nobodyさん
09/10/20 18:42:07
>>104
お世話になってます
110:nobodyさん
09/10/20 18:50:55
>>107
文字コードの設定を見直してみ
UTF-8になってないと化ける
111:nobodyさん
09/10/20 19:50:08
cron-job.orgが使い物にならないからxreaでcron動かそうと思ったが設定とか全くわかんね
正直ナメてたわ誰か助けて
112:nobodyさん
09/10/20 20:38:42
xreaのcronだったら下のほうに解説ないかな。
もしくはcronでぐぐって設定とかをちょっと勉強するのがよいかも。
113:nobodyさん
09/10/20 20:45:56
とりあえず、シェルっていうのが必要ということはわかった
このシェルスクリプトをサーバーにうpして、それにアクセスするとnotfoundになるんだけど間違ってるから?
#!/bin/sh
/usr/local/bin/php /virtual/ユーザID/public_html/reply.php
exit
見よう見まねでこんな感じでやってみたんだけど
114:nobodyさん
09/10/20 20:56:17
>>110
それがUTF-8になってるんだよね。
一度消してうpしなおしても駄目でさ、エラーも出るんだけど、文字化けしてつぶやかれてるし。
カスタマイズ前でつぶやけば文字化けしないんだけども。
もうちんぷんかんぷん。
PHP素人が調子に乗って弄るもんじゃないね。
>>111
私もよく解らないから例だけども。
改行コードを「LF」保存で「cron1.sh」(他の名前でも.shだったらおk)ってファイルを作成。
#!/bin/sh
#PHP
/usr/local/bin/php /virtual/ユーザー名/public_html/botフォルダとか/動かしたい.php
exit
で、logとかpublic_htmlフォルダとか色々所らへんに「cron1.sh」をうp
属性は「705」あたりで平気だと思う。(うpする場所は他の所でも多分大丈夫だと思う。)
ログインしてCOREジョブページで設定。
毎時間0分動かしたい場合は「分」に「0」毎時間15分に動かしたい場合は「分」に「15」を入力
/virtual/ユーザー名/~には「cron1.sh」を置いた場所を指定
例どおりだったら
/virtual/ユーザー名/cron1.sh
一時間に1回が限度だから時間をずらして設定1、設定2とか
やれば一時間に複数回動かすことが出来るっぽい
で「保存」して反映されれば動くっと。
説明ヘタクソでごめん・・・これで解るといいんだけど・・・
長々と失礼しました。
115:nobodyさん
09/10/20 21:02:14
>>114
詳しい説明ありがとう
この改行コードってのがググった時にも出てきたんだがこれはどこで設定できるんだ?
116:nobodyさん
09/10/20 21:14:40
>>115
×COREジョブ ○CRONジョブ
ごめん。
自分はテキストエディタTeraPadで「ファイル」→「文字/改行コード指定保存」で指定出来たよ
何のテキストエディタでcron1.shを作るかによって変わると思うから
使ってるテキストエディタで改行コードについてググればいいんじゃないかな?
117:nobodyさん
09/10/20 21:41:44
>>116
㌧クス
とりあえず言われた通りに設置してみた
相変わらずcron.shはNot Foundになるが…大丈夫なのか
118:nobodyさん
09/10/20 21:58:03
Not Found?
ファイルが無いって意味じゃないっけ?
ファイルのURL間違えてない?
119:nobodyさん
09/10/20 22:21:59
cronがちゃんと実行されてるとメールが来るはずだよな
来ないということは実行されてないってことなのか
120:nobodyさん
09/10/20 22:23:37
xreaってメール来るんだっけ。
僕は使ってるけど来てないな。設定によるのかもしれないが
121:nobodyさん
09/10/20 22:40:53
なにがおかしいのか動作しないっぽい
こんだけ丁寧に教えてもらったのに申し訳ない…
手動ではちゃんと動くからcronの設定が間違ってるんだろうけど
122:nobodyさん
09/10/20 23:49:43
10のプログラムの方のソースで、TL引用するbot作れんかなと思って、それを元に色んな所を参考にしてやってるんだが
if($reply_name != $username){
if( !preg_match ( "/@[a-zA-Z0-9-_]{3,}/", $var ) ){
if( preg_match ( "/(「?.+?」)/u", $var ,$match)){ //←ここ改変
$message = $match[1]; //←付け加え
tweet($message ,$username,$password);
としてみたところ、エラーなどは出ないもののリプライがない…。もうどこをルール違反してんのかわかんねぇw
123:nobodyさん
09/10/21 08:47:10
あー、やっぱりcron-job調子悪いのか…
2つBOT置いてるのに片方が反応しても片方が一日沈黙している。
別鯖探してるけれどなかなかいいのがないなぁ。
改変もエラーばかりだし、なんでBOT作ったのか自分でもわかんなくなってきたよ
いや、でも負けないけどさ。
124:nobodyさん
09/10/21 08:57:38
8bitさんのコメにあるのと同じ質問で申し訳ないのですが
リプライに対する反応語句を増やすにはどこを増やしていじればよいのですか?
if構文から見て自分なりに増やしても、反応すらしてくれません。
125:nobodyさん
09/10/21 09:25:24
>>123
自鯖?
cronでこけるときって文字エンコードがらみが経験上多い。
普通にコマンドラインで動かすと動くんだけど、cronで動かないとか。
print文とかあったらコメントアウトしてみるとか
レンタル鯖でcronはあきらめたほうがいい
126:123
09/10/21 10:15:59
>>125
ありがとー 自鯖じゃなくて、銀さんのところで見た@PAGES使ってる。
いかんせん初心者@勉強中なもんで、ソースはいじらずに使ってるだけなんだけど
昨日くらいからcron-jobが全く動かなくなってしまってる。
超過エラーは出ててもそれまでは動いてたんで、元鯖が不調なせいかなと思ってた。
手動ならおkぽいから、phpは平気(当然だが)なんだけどね。
>レンタル鯖でcronはあきらめたほうがいい
あー…もう素直にBOT手放すしかないのかなあ…PHP楽しいのに。
127:nobodyさん
09/10/21 10:36:05
cron-job.org安定しないよなー…
他にcron使える手段が自分にはないから仕方ないけど
ときどき実行に失敗するのは我慢できるが
勝手にアクティブ設定が無効になるのは勘弁してほしい
128:nobodyさん
09/10/21 11:34:03
有料だけどすごく安いのでwebcron.orgはどうかしら
129:nobodyさん
09/10/21 11:38:32
webcron.org使ってるけど動作は安定してると思う。
webcron.orgも昔は無料だったんだけど、無料である程度人が集まった時点で有料化された。
なのでそのうちcron-job.orgもそのうち有料化されて、そしたら動作も安定するんじゃないかと思ってる
130:nobodyさん
09/10/21 11:58:44
いろいろと本格的にやりたいんならsheevaplug買えばいいよ
玄人から出るみたいだし
131:nobodyさん
09/10/21 19:56:40
シェルスクリプトって文字コードUTF-8でいいの?
132:nobodyさん
09/10/21 20:19:29
>>79>>87>>95
googleappengine使えば、好きなだけcron設定できるよ
133:nobodyさん
09/10/21 20:43:51
>>132
今GAEが対応してる言語ってpythonかjavaだけじゃない?
php対応してたら使いたいけどなー
>>>79>>87>>95
>googleappengine使えば、好きなだけcron設定できるよ
134:nobodyさん
09/10/21 21:23:16
pythonでいいじゃん
135:nobodyさん
09/10/21 21:26:06
制限あるじゃん
136:nobodyさん
09/10/21 23:03:06
自分のPCにapacheとphpインストールしてcron動かせばいいじゃん
立ち上げっぱなしになるのがネックだけど
137:nobodyさん
09/10/22 00:00:16
@phaです。
プログラミングができなくても作れるTwitter botの作り方
URLリンク(pha22.net)
少しバージョンアップしました。
特定の単語に特定の単語を返す機能と、現在の時間を組み込める機能を付けました。
よかったら試してみてくださいー
138:nobodyさん
09/10/22 00:10:26
>>137
お疲れ様です。
139:nobodyさん
09/10/22 05:06:11
>>137
本当に有難う。
140:nobodyさん
09/10/22 07:38:40
>>137
ありがとうございます!
141:nobodyさん
09/10/22 08:23:56
>>137
いけました!
有難う御座います!!
しかし、中身に記載されてるバージョンが1.1のまんまでしたよー
142:nobodyさん
09/10/22 14:33:42
リプライをもらうと@だけ発言する、うちのボット…
143:nobodyさん
09/10/22 15:09:08
>>142
確実にソースが間違ってる。がんがれ
144:nobodyさん
09/10/22 17:51:54
>>141
バージョン直しました
145:nobodyさん
09/10/22 18:32:14
おつかれさまです!!!!
146:nobodyさん
09/10/22 19:04:13
自分のbotが他のbotにフォローされてるんだけどフォロー返したら会話がループしそうなんだよな
147:nobodyさん
09/10/22 19:14:00
この新しいreply_patternってやつをreply_randomに組み込めばいいんだよね?
なんかエラー吐くんだけどどこに置けば?
148:nobodyさん
09/10/22 19:37:46
たまにリプライするとき@の前にドットつけてるbotいるけど何の意味があんの?
149:nobodyさん
09/10/22 20:45:08
>>147
reply_pattern.php のファイルの場所を移動させなくてもそのまま置いておけばできたよ
150:nobodyさん
09/10/22 21:26:28
>>143
だよねぇ。。
がんばるわ。
151:nobodyさん
09/10/22 23:02:20
>>137
ありがとうございましたー!!
でも動かないー!
152:nobodyさん
09/10/23 00:01:49
>>151
どんな状態で動かない?
153:nobodyさん
09/10/23 00:20:42
>152
反応が全くない。TL上のワードを拾うわけじゃないんですよね?
普通に@無視される…
まぁ、@つけても無視されるんですが。おやすみ入れてもスルー。
154:nobodyさん
09/10/23 01:31:51
>>137
本当にありがとうございますー!
今まで特定の語句への返信は、
phaさんのを参考にして作ったという某ブログのスクリプトを使っていたんですが
こちらの方がすっきりしていてサイズが小さく済む+追加しやすいのでこちらに変えました
定期ランダムポスト+特定の語句へのリプライはphaさんのスクリプト
TLから特定の語句を拾ってのリプライは某ブログのスクリプトという
合わせ技でもなんとか動いてます
こんなに使いやすいスクリプトを作って下さり、本当にありがとうございました
155:nobodyさん
09/10/23 07:18:12
>>137
構文を追加したらRT対策が解除される、ということは不可能でしょうか?
.@での挨拶が多いので対応出来なくて…
156:nobodyさん
09/10/23 12:22:52
リプライの応用で、特定のワードには反応しないってことはできるのかな?
157:nobodyさん
09/10/23 12:44:10
phaさんのリプライ返すのを改変してTL中にキーワードがあったら返すのつくってるんだが
自分の発言にキーワードがあった場合やリプライ時でも返してしまう
if( $screen_name != $username){ //自分の発言時は反応しない
if(strpos($re["text"],"@".$username) === False){ //発言の中に@があった場合は反応しない
if(preg_match("/キーワード/",$re["text"])){ //特定のキーワードがあった場合反応する
$replies[] = $re;
}
}
}
こう改変してるんだけどどこがへんなのかな?
条件分岐がうまく動いてないみたいなんだけど
158:nobodyさん
09/10/23 13:59:49
スクリプト自体は一切手を加えてないのに実際に投稿されるときとされないときがある。
txtファイルに登録してる発言内容が少ないので同じ発言がたまたま選択されて連投規制に引っかかったのか、
一度に投稿スクリプトを動かし過ぎてAPI規制に引っかかったのか…
同じ内容を続けて投稿してしまわないようなチェック機能とかあったらいいなあ。
適当なtxtファイルを用意して発言内容をそこに書き込む→発言前にそのファイルの内容をチェック、
選択した発言が同じなら発言選択をやりなおすとかだったら実現できるかな。
作ってみようかなあ。
cron-job.orgも登録してみたけどうまくいかないのでcygwin入れてみたけどさっぱりわかんないやorz
159:nobodyさん
09/10/23 14:12:26
>>157
datファイルをつくってそこに最新のTLを蓄積
$host = "URLリンク(twitter.com)";
ってやったほうがいいかも
160:nobodyさん
09/10/23 14:26:03
>>158
全然投稿で着てないわけじゃないんでしょ?
だったらやっぱり重複制限に引っ掛かってるのかもしれないから
適当にtxtファイルの中身増やしてテストしてみたら?
161:nobodyさん
09/10/23 16:46:40
cron-job.org落ちた?
162:nobodyさん
09/10/23 16:49:29
落ちてるね
163:nobodyさん
09/10/23 17:44:36
そういえば、rubyの本で人工無脳をつくる本があったけなぁー
アレどっかにつんであるはずだからさがして
twitterのbotで発言できるようにしてみるか
164:nobodyさん
09/10/23 20:39:31
>>137のスクリプトでおはようをPOSTすると「おはよう」の返事+普通の@返しされるんだけど
他にもこういうひといない?
165:nobodyさん
09/10/23 22:33:51
bot同士が会話してるせいでTL流れるのがハンパねえ
これって連投すると規制されるのか?
166:nobodyさん
09/10/23 23:13:23
・直前の10ポストと同じ内容の投稿は受け付けない。>>68
・2時間で125以上ポスト出来ない(というメッセージが出たことある)
投稿規制はこの二つだったはず。後者はちょっと曖昧かも。
167:nobodyさん
09/10/24 00:40:33
後者のpost規制の基準は曖昧だからな…変動してるらしいし
定期postの間隔がよっぽど短いとか
リプライ反応する間隔が2分とかで
毎度数十件のpostでもしなきゃされないんじゃね
168:nobodyさん
09/10/24 00:53:48
レンタルサーバーでcronが安定してるのってどこがある?
cron-job安定しないんだよなー
それとも2分じゃなくて4~6分間隔くらいにしたらまだましかね?
169:nobodyさん
09/10/24 01:14:32
>>168
80code.com安定してるよー。現在は新規受付停止中だけど。
さくらのスタンダードとエックスサーバーもcron可だったと思うが、使った事無いので動作については分からん
170:nobodyさん
09/10/24 01:54:14
>>169
調べてみるわー、ありがと
リプライ返しやTLから拾ってくるタイプだから分おきに
動かないときついわ
171:nobodyさん
09/10/24 03:16:09
pha22さんのスクリプト改造して直近10件の投稿とかぶらないようにする改造してるんだけど、
なぜか同じ文字列を見つけてくれないorz
誰か助言プリーズ
//ログをチェックして直近10件の投稿と重複させない
//ログリストを読み込む
$logfile = "log.txt";
$logs = file_get_contents($logfile);
$logs = trim($logs);
$logs = preg_replace("@(\r\n|\r)@", "\n", $logs);
$logs = preg_replace("@\n+@","\n",$logs);
$logs = mb_convert_encoding($logs, 'UTF-8', 'EUC-JP,SJIS,ASCII,JIS,UTF-8');
$lo = explode("\n", $logs);
for ($c = 0; $c < count($lo); $c++){
if (strcmp($message,$lo[$c]) === 0){
//同じだった場合もう一回ランダム発言を取得しなおしてカウンタを0に戻す
//発言をランダムに一つ選ぶ
$message = $tw[array_rand($tw)];
//カウンタを戻す
$c = "-1";
}
}
172:nobodyさん
09/10/24 03:24:11
cronいつの間にかneinなってた…
上でググるアプ使ってる人はどうやってるの?
173:nobodyさん
09/10/24 03:29:14
>>171
$c = "-1";
174:nobodyさん
09/10/24 10:28:47
>>173
ありがとう
出来た気がする。もうちょっとテストしてみるわ
175:nobodyさん
09/10/24 10:47:44
「いつ・どこで・なにをする」をランダムに組み替えて発言するとか
相手の発言を引用する(○○だよ→○○なんだね)みたいなやり方教えて
176:nobodyさん
09/10/24 11:24:30
指定した時間に、指定したアイコンに
自動的に複数回変更できるスクリプトないですか…ね?
URLリンク(ameblo.jp)
ここ参考にしようと思ったらcurl使えなくて
177:nobodyさん
09/10/24 11:33:14
>>172
上の人じゃないけどGAEでcronできたよ。
URLリンク(builder.japan.zdnet.com)
URLリンク(code.google.com)
URLリンク(code.google.com)
↑ここ参考にした
178:nobodyさん
09/10/24 11:58:22
お願いだー!
誰か、TL上のワード拾って反応するBOTのソースくれー!
バカなのは承知してるし勉強もしてるんだー
179:nobodyさん
09/10/24 12:24:52
>>137のスクリプトって○分までは吐かないのか…
180:nobodyさん
09/10/24 12:34:34
>>178
ググればいくらでもでてくる
181:nobodyさん
09/10/24 14:40:42
>>137のスクリプトを置いて、試しに動かしたら運勢の結果がランダムではなくひとつずつ発言として全部出てきたんですが…。
IDとパス以外変更してないのになにこれ?
182:nobodyさん
09/10/24 15:01:23
cronあってねーんじゃねーの
183:nobodyさん
09/10/24 15:04:22
>>179
時間の奴はちょっと調べれば簡単に改変できるよ
date()あたりググればいいんじゃない
184:nobodyさん
09/10/24 16:31:39
replyで何度試しても「~分以内に受け取った@はないようです」と表示されます。
1~2回うまく行ったけどあとはさっぱり
何か考えられる原因があったらご教授願います
185:184
09/10/24 16:56:22
解決しました。
@ユーザー名の後のスペースが全角になっていました…orz
お恥ずかしい限りですがご報告だけ。
186:nobodyさん
09/10/24 23:17:12
>>177
ありがとう!やってみる!
187:nobodyさん
09/10/25 00:51:07
昆虫みたいなbotをつくりたい
あれすごい
188:nobodyさん
09/10/25 11:11:20
URLリンク(twitter.com)
これみたいに一部分だけをランダムに組み替えて発言させるにはどうしたらいいの?
189:nobodyさん
09/10/25 11:22:48 QovXst2Y
URLリンク(twitter.com)
上記のように、特定の言葉(この場合「商店街」)がつぶやかれたものを検索して
自動的にRTするようなBOTの作り方をご存じの方、ご教示願います。
190:nobodyさん
09/10/25 11:53:18
>>188
簡単な人工知能プログラムが必要。
bot技術とはちょっとかんけいない。
191:nobodyさん
09/10/25 17:18:48
>>190
そんな高度な技術でもないだろ、
とりあえずphaさんのスクリプト例に取るとpost_random.phpのテキストファイルの内容を一行ずつ読み込んでランダムに一つ選択するところと
reply_random.phpのテキストファイル中の{name}を置き換えるところを応用してくっつければ出来る。スクリプト長くなるけど。
192:nobodyさん
09/10/25 17:45:15
phaさんのだとPostに対してリプライ送るんじゃなくて「@ユーザーID」を
文頭においてPostしてるだけになるんだけど
ちゃんとしたリプライ送るようにするにはどうすればいい?
193:nobodyさん
09/10/25 18:05:57
phaさんのscriptの、特定の単語を返すってやつで
"おはよ"と"オハヨ"のどちらにも対応させる(1セットで)には
どうすればいいのでしょうか?
↓な感じにしたいんですが
"おはよ|オハヨ"=> array(
"おはよう",
"おはよ!",
),
194:nobodyさん
09/10/25 19:39:46
>>193
今のところそういう機能はないね。バージョンアップでつけるって言ってたけど
195:nobodyさん
09/10/25 20:20:59
>>181
FTPでアスキーモードで転送できてなくて改行が変になってるのかも
FTPでアスキーモードを指定、とやってみたらどうかなあ
わかんないけど
196:nobodyさん
09/10/25 21:19:37
セーフモードのPHPでcurl_opt設定を出来ないのは回避策はありますか?
DSOで。
197:nobodyさん
09/10/25 21:22:31
>>194
ありがとう。バージョンアップ…待ちます。
198:nobodyさん
09/10/26 02:00:49
自動フォロー返しやDM返しってどうやる?
199:nobodyさん
09/10/26 03:07:52
>>192
@付きステータスのアップデート時に、in_reply_to_status_id を付ける。
詳しくはAPI仕様書を読んでね。
>>198
適当な間隔でフォロワーやDMのリストを取得して処理すればいい。
API制限もあるし、1度処理したらファイルに記録しておく必要があると思う。
メール通知を利用するって手もありそうだけど、
メールが来ないことが結構あるような・・・・。
200:nobodyさん
09/10/26 18:23:57
>>199
仕様書読みながらphaさんの改変してin_reply_to_status_id付けようとしてるんだが
updateを使ってなくてどこにいれればいいのかわからん
reply_random.phpじゃなく
Twitter.phpの
function setUpdate($value)
{
return $this->_setData($this->sm_update,
array(
'status' => urlencode($value), in_reply_to_status_id => $id//←ここ
),
array(
'Content-Type' => 'application/x-www-form-urlencoded'
));
}
ここにいれればいいの?
201:nobodyさん
09/10/26 18:25:16
>>189
特定のつぶやきを検索するのには検索用APIが用意されているし、
RTの仕方についてはPOST時に適当な書式に沿ってRTを付けるだけ。
(retweet関係のAPIって正式に公開された?)
それらを適度に組み合わせれば清むので、
別段特殊な技術が必要な訳ではないから何も難しいことはないかと。
ところで、twitter.com/syoutengai で検索したら
なにやらひどいコメントが。
URLリンク(www.google.co.jp)
202:nobodyさん
09/10/26 18:29:46
>>198
自動リムーブだけど1日に1回、friends/idsとfollowers/idsの差分とって処理してる。
フォローも似たような案配でいけるんじゃない?
>199
in_reply_to_status_idって返信先ステータスのIDを指定するでいいんだよね?
送出前のヘッダを出力してみるとin_reply_to_status_idの指定がちゃんとしてあるんだけど、
レスポンスみると無視されてるみたいでハマってるんだ
203:200
09/10/26 18:36:56
>>200
似たような事してる人がいた!
自分はこう書き換えした
function setUpdate($value)
{
if(is_array($value)){
return $this->_setData($this->sm_update,
array(
'status' => urlencode($value['status']),
'in_reply_to_status_id'=>$value['in_reply_to_status_id']
),
array(
'Content-Type' => 'application/x-www-form-urlencoded'
));
}else{
return $this->_setData($this->sm_update,
array(
'status' => urlencode($value)
),
array(
'Content-Type' => 'application/x-www-form-urlencoded'
));
}
}
で、スクリプト側の方で
$st->setUpdate(array('status'=>$status,'in_reply_to_status_id'=>$in_reply_to_status_id));
みたいに書いてたよ
204:nobodyさん
09/10/26 18:53:10
botに好感度みたいなのを実装するのは無理?
あいさつをちゃんとしている人(Replyでおはようとか)にはやさしくなっていくとか…
205:nobodyさん
09/10/26 19:47:55
可能です
206:nobodyさん
09/10/26 20:33:51
>>203
おお、助かった!ちょっとやってみ…たらできんかった
エラー起こってないから単にin_reply_to_status_idが取得できてないだけなんかな
207:nobodyさん
09/10/26 20:39:34
Basicでぼっとつくりたいんですけど・・・
208:nobodyさん
09/10/26 22:11:17
>>204
たまごっちみたいなもんか
209:nobodyさん
09/10/26 22:31:38
>>208
うんこながしたりプロテインのませたりするんだな
210:nobodyさん
09/10/27 00:08:03
necotterってそんな感じじゃなかったっけ
211:nobodyさん
09/10/27 00:34:10
そのうち育てたbot同士で対決させるんだろ
212:nobodyさん
09/10/27 00:36:04
>>203
これの場合
$in_reply_to_status_id = $replies2[$i]["in_reply_to_status_id"];
$status = "@".$replies2[$i]["screen_name"]." ".$text;
でいいのか?
213:nobodyさん
09/10/27 02:46:16
銀さんとこのソースで、寝る時間が1時~6時ですが
それを12時~19時までにしたいのですが、うまくいきません
if (preg_match("/^[1-6]{0,1}$/",$now_g)){
$now_g = 'sleep';
};
[1-6]が1時~6時、{0,1}が単位が0か1の場合というのは何となく分かるのですが
2桁にしたいので{0,1}を{0,2}や{0,1,2} {0-2}にしてもだめでした…
どうすればいいのでしょうか?
それから、翻訳機能を持たせたいのですが、ソースを公開してるところはありませんか
@で特定の単語をくれたら翻訳してくれる…というのをやってみたいです。
『@bot +++たん、[◆◆]を翻訳して』とreplyしたら『@**** 『●●』だよ』というやつです。
ご存知の方、教えてください
214:nobodyさん
09/10/27 13:25:06
>>212
ごめん>202=203なので>203のソースは上手くいかないんだ
phaさんのソースは知らんがin_reply_to_status_id=返信先の記事idだと思ったから
Services_Twitterの出力結果とAPI仕様書照らしあわせて
$in_reply_to_status_id = $replies2[$i]->id;
ってしてる。
>>213
preg_matchじゃなくて単に「$now_gが12より大きく、19より小さかったら」って書けば?
215:nobodyさん
09/10/27 15:03:13
毎月の決まった日時に決まった台詞を吐くbotはつくれないでしょうか
216:nobodyさん
09/10/27 15:13:33
phaさんの所でBOT作らせてもらったんだけど、特定の単語にしか反応しないようにって出来ないかな。
通常のリプライなしにしたいんだけどできる?例えば「おはよう」にしか反応しないとか。
217:nobodyさん
09/10/27 15:16:13
>>215
毎月の決まった日時にだけ起動させればいいんじゃないの?
218:nobodyさん
09/10/27 17:29:00
>>213
214氏が指摘している通り、わざわざpreg_matchを使う必要が元々無いよ。
翻訳機能のソース以前に、自前で自然言語の辞書を持つ事に結構な
リソースが必要なので、大抵は他を呼び出してると思うんだけど。
「翻訳 API」とかで検索すれば結構あるので、それを使うのが手っ取り早い。
特定の単語しか翻訳しない仕様なら、それこそ鸚鵡返しbotで十分だろうし。
219:nobodyさん
09/10/27 18:42:15
>>216
できるよ
220:nobodyさん
09/10/27 19:28:32
phaさんのを見てbot作って、いままで普通に動いてたんだけど
なぜかいきなりエラーになったみたい。
発言はするんだけどリプライしなくなったっぽい。
reply_random.php にアクセスすると
Parse error: syntax error, unexpected '{', expecting ')' in /home/atumari.net/pp259583/public_html/reply_pattern.php on line 181
というのが出るんだけど、これって一体なに?
どこが原因でエラーになってるのかさっぱりわからない…
221:nobodyさん
09/10/27 19:52:06
>>220
行末の;が抜けてるとか
それよりスクリプト置いてるURL晒さないほうがいい、早く変えれ
222:nobodyさん
09/10/27 20:07:10
>>221
ありがとう!解決した
URL変えてくる。すみません
223:nobodyさん
09/10/27 22:49:08
in_reply_to_status_idの付加方法がわからん
誰か教えてくれ
224:nobodyさん
09/10/27 23:25:26
in_reply_to_status_idを付加したバージョン作った
URLリンク(pha22.net)
225:224=@pha
09/10/27 23:29:15
>>203の方法でいけるはずなのになんでできないんだろう、って思ってソースをよく読んでみたら、
Services/Twitter/Connector.phpの95行目でリクエストを組み立てるときに
$body .= '&';
ってやってるのが原因だった
$body .= '&';
に変えたらできるようになった。
他にも特定の単語に反応するときに正規表現を使えるようにもしました。
226:nobodyさん
09/10/27 23:32:40
>>224
生きるのに疲れたのでbotになりたいんですけどどうーすれば良いですか?
227:nobodyさん
09/10/28 00:02:18
>>224
おつかれさまです。
1つお伺いしたいのですが、バージョンアップをする場合は
tw.txt以外の全てのファイル(Servicesフォルダも)を
入れ替えればいいのでしょうか?
228:nobodyさん
09/10/28 00:03:51
>>224
乙です、やろうとしてたことがかなり出来るようになってて嬉しい!
229:nobodyさん
09/10/28 00:54:09
>>227
そうですそうです
230:nobodyさん
09/10/28 13:07:25
正規表現面倒くさい…
単純に|で区切るやつにして欲しいです
231:nobodyさん
09/10/28 13:53:35
え…?
232:nobodyさん
09/10/28 14:06:33
>>230
|が正規表現…だよね?
233:nobodyさん
09/10/28 15:50:24
phaさんの新しいやつの事でしょ
234:nobodyさん
09/10/28 17:58:20
>>224=225
うへえ、どうりでヘッダ見てても分からないはずだーありがとうございました!
235:nobodyさん
09/10/28 19:41:20
>>225は
$body .= '&';
を
$body .= '&';
に変えたということです。
2chって実体参照通るのね。
236:nobodyさん
09/10/28 19:59:24
>>224のスクリプトをDLして弄ってます。
正規表現っていうのを初めて使うのですが
『おーい』『おーーーーーい』等の『ー』の数が決まっていない単語の
どちらにも対応させるにはどう書けばいいのでしょうか?
おー*い、おー+い、おー?い、おー(ー)?い ではスルーされて行き詰まってます…
237:nobodyさん
09/10/28 20:37:29
>>236
「おー」でいいんじゃね
238:nobodyさん
09/10/28 20:38:23
>>236
お(ー)+い
でどうかな
239:236
09/10/28 20:42:37
>>237
すみません、『えーーん』や『うーーん』にも応用したくて…
>>237さんの方法で、『えーーん』→『えー』と指定しまうと
『えーー!』等が引っかかってしまいます。
…ので、>>236の正規表現で煮詰まってます;
240:236
09/10/28 20:47:27
>>238
ありがとうございます。
『お(ー)+い』を試してきましたが、スルーされました…。
スクリプト毎に、使える正規表現というのは
限定されているものなのでしょうか?
241:nobodyさん
09/10/28 20:50:14
>>240
いま自分でPHPで試してみたけど、
お(ー)+い
でいけたよ。
242:240
09/10/28 20:53:40
>>241
マジですか…余計にわからなくなってきた。
御手数おかけしました。
243:nobodyさん
09/10/29 04:23:33
>>230
>>233
対応してるよ
244:nobodyさん
09/10/29 05:48:07
正規表現がまったく反応してくれなくて困ってます…
phaさんのサンプルのこん(に)?ち[はわ]すらスルーされる始末
正規表現使わなければ普通に動きます
どこに問題あるんでしょうか…
245:nobodyさん
09/10/29 11:58:27
Webcronの「30sec・time-out」ってどういう意味なんだろ
有料だけどここ使ってる人いる?
246:nobodyさん
09/10/29 12:21:28
>>245
30秒でタイムアウトするって事だろ。
俺ここ使ってるけどたまにタイムアウトするよ。180秒にした方が無難なんだけど一回に? 0,0004はちょっとイタイ。
247:nobodyさん
09/10/29 16:55:26
>>246
なにがタイムアウトしてそれがどう影響するのか
わからない程度の素人だけど180秒にしたほうが
いいとわかっただけでありがたい
一度試用してみるよーありがとう
248:nobodyさん
09/10/29 20:29:41
>>244
自己解決しました。普通にver1.2つかってたよ、ごめんなさい。
正規表現難しいね
聞(こえ|いて)[んる](の)??
に反応してくんないんだけど、どっか間違ってるかな
249:nobodyさん
09/10/30 19:30:09
相手の発言の一部だけを引用ってできないの?
「」の中だけとか
250:nobodyさん
09/10/30 19:44:57
できるよ
251:nobodyさん
09/10/30 20:46:18
konchuuの開発者って誰なの、気になる
252:nobodyさん
09/10/31 02:12:59
TLの特定の言葉に反応してリプライをするってやつ難しいな
ソースほぼ丸々コピーでやってるのにエラー出てお手上げ状態だよ…
ソース公開してる記事のコメント見るに同じような状況の人もいるっぽいけど
解決してなくてどうしようもねえ
253:nobodyさん
09/10/31 02:15:45
難しいって自分でコード書くのが難しいんじゃなくて
コピーした他人の奴をぐぐって動くように編集するのが難しいのかよ
まぁそれも力になるさ
254:nobodyさん
09/10/31 02:40:01
>>253
恥ずかしながらそういうことだ!
でもやってみたいから色々調べて勉強してみるよ
255:nobodyさん
09/11/01 00:14:13
twitter検索使ったbot作ってるけど最近検索が止まってるみたい。
公式の検索使った方がいいのかなぁ…。
256:nobodyさん
09/11/01 20:41:15
昆虫すげぇ、もうListsを駆使してる
257:nobodyさん
09/11/02 14:39:36
phaさん、単純なやつでもいいのでマルコフ連鎖を…
258:nobodyさん
09/11/02 22:50:28
最近BOTからBOTへのフォローがくるんだけど
無限ループに陥る可能性ある…よな?これ。
APIの回数制限とかあるけども。
259:nobodyさん
09/11/03 01:01:47
>>258
キャラクター系botだとあるある。自分もそれが怖いのでおはようやおやすみのような日常会話系単語にリプライさせられないでいる。
リプライした相手を記録しておいて、投稿前に照合するくらいの対策しか思いつかない。(記録は一日一回クリアするってことで)
botとメッセージをやり取りしないbotなら気にしなくてもいいんだろうけど、自分が作ってるのがキャラ系botなんで、同じキャラbot同士での会話もさせたいんだ。
いろいろやってるうちに好きなだけcron回したくて自分専用のサーバ欲しくなるw
260:nobodyさん
09/11/03 02:51:05
無限ループはよく陥ってるbot見るけど
botからのpostは無視するようにすればいいんじゃないかなぁ
sourceがAPIとかなら無視させるとか botじゃなくてもAPIからの投稿だとスルーしちゃうけど
もしくはbotによくあるスクリーンネーム語尾が~botなら無視させるとか… これも普通の人が~botってスクリーンネームだとスルーしちゃうのが難点だな
261:nobodyさん
09/11/03 05:40:38
時間別に違う言葉を返すのってできないかな
昼過ぎにおはようって言うと、「寝坊?」って返すみたいなの
262:nobodyさん
09/11/03 08:19:52
>>261
PHPだったらdate("H")とかで現在の時間を取ってifとかswitchとかで場合分けだな
263:nobodyさん
09/11/03 14:32:48
>sourceがAPIとかなら無視させる
これって可能?
264:nobodyさん
09/11/03 16:11:13
>>263
可能
265:sage
09/11/04 00:25:58 oJ2uxGZI
cron-jobでfehlerhaftって出るのは何でだ・・・
URLコピペで貼ってるから間違いないのに不完全なURLって出る。
時間あけて設定画面開いたら次は重すぎるって出ました。
ファイルが重いのは理解できるがステータス変わるの何でですか?
調べてみたけど分からなかったので分かる人いたら教えてください
266:nobodyさん
09/11/04 01:01:25
>>262
ありがとう!
初心者ながら色々試してみたんだけど、どうにも無視されたり、他の時間帯のこと言ったりする…
実際発言のところにif埋め込むのはこういう形であってますか?質問厨で申し訳ないけど分かる人いたらお願いします。
swich構文もちゃんと設定してるつもりなんだけどなあ
if(preg_match ( "/(こんばん|今晩)[わ和は]/u", $var )){
if($plist = $mes['night']){
$plist = array("こんばんは","こんばんはー");
$key = array_rand($plist);
$post = $plist[$key];
$message = "@".$reply_name." ".$post;
tweet($message ,$username,$password);
}
}
267:nobodyさん
09/11/04 01:02:46
if($plist = $mes['night']){
なにこれ?
268:nobodyさん
09/11/04 01:08:25
>>267
case ($now_g > '16') && ($now_g < '20') :
$plist = $mes['night'];
swichで時間帯設定したんだけど、発言の部分に「その時間だったら」って内容つけるのに四苦八苦した結果がこれです。
もしかして全然違う?
269:nobodyさん
09/11/04 01:09:07
ごめんなさい、投稿早まった。
上のはswichで設定した分です。
270:nobodyさん
09/11/04 01:15:13
>>209
そういう感じにフォロワーが色々いじってパラメータ変動させられるbotは面白いかもね。
ただしいたずらで無茶苦茶機嫌悪くさせたり病気にもできそうなのと
何よりその手の育成システムはアイデアとプログラムが割りと手間だな。
271:nobodyさん
09/11/04 01:36:06
>>268
意味がわかりません
272:nobodyさん
09/11/04 01:44:35
>>271
えっ!?
switch(true){
case ($now_g > '2') && ($now_g < '7') :
$plist = $mes['smoning'];
break;
case ($now_g > '8') && ($now_g < '10') :
$plist = $mes['moning'];
break;
case ($now_g > '11') && ($now_g < '15') :
$plist = $mes['afternoon'];
break;
case ($now_g > '16') && ($now_g < '20') :
$plist = $mes['snight'];
break;
case ($now_g > '20') && ($now_g < '1') :
$plist = $mes['night'];
break;
default :
$plist = $mes['other'];
break;
};
swichでここまでやるのは合ってますよね…?
その時間帯の属性を発言の部分に埋め込もうとしてこうなりました。
だいぶ間違ってますか?orz
273:nobodyさん
09/11/04 02:58:30
やりたいことは
if($plist == $mes['night']){
なんじゃない?
274:nobodyさん
09/11/04 03:59:33
>>273
ありがとうございます!正解は==なんですね…
早速=の数を直してみたんですが、やっぱり時間設定に反応してくれません。
if($plist == $mes['night']){はもちろん、if (($now_g == '3') or ($now_g == '4') ){ でも試してみたりしたのですが、完全にスルーです。
$now_g = date('G');も埋め込んであるんですが…なんで反応してくれないのかさっぱりです…
275:nobodyさん
09/11/04 04:55:42
とりあえずどの段階で変数が想定外の値になってるか確認してみたら?
276:274
09/11/04 07:17:07
>>275
swichはどうやっても反応しないので、諦めていろいろ試行錯誤してたらやっと反応してくれた!!
if($plist == $mes['night']){ の代わりに if(($now_g >= '10') && ($now_g <= '17')){ を個別に指定してみたらできましたー!
結局反応しなかった理由はよくわかんないけど、<= じゃなくて < になってたのも原因のひとつみたたいでした。
アドバイスがなかったら絶対途中でめげてた。聞いてくれた方ありがとうございました!
277:nobodyさん
09/11/04 07:54:05
botはシステム自体はそんな難しくはないけど
多様性とか面白さとかのアイデア方面がなかなかいいのが思いつかないな。
278:nobodyさん
09/11/06 18:16:08
>>277
そうなんだよなあ。ヘタに@に対して定型文返してくるbotより、
単なるRSS垂れ流しの方がずっと有用だったりする現実。
279:nobodyさん
09/11/06 22:29:14
銀さんのところのをコピペしてやってみてるんですが、
bot.phpにアクセスすると
Warning: preg_match() [function.preg-match]: Unknown modifier '[' in 略/Twitter.php on line 503
Warning: preg_match() [function.preg-match]: Unknown modifier '[' in 略/Twitter.php on line 333 ERROR
というのが出るんだけど何がおかしいのかわからないです
Twitter.phpは23行目をConnector.phpのフルパスに書き換えたのと、
501行目の「var_dump($line);」をコメントアウトした意外弄ってないんですが…
超初心者なので最初phaさんのやつでやってたんですが
何をどう頑張っても改行されなくて
銀さんの方で作ることにしたんですがなかなかうまく行かないです
280:nobodyさん
09/11/07 00:47:57
コメントアウトのつもりが先頭に/1つしかないとかじゃないの。
正規表現でエラー出るってことはそーゆーことじゃないの。
ていうかああしたとかこうしたとか素人が言うよりは
そのいじった行をそのままコピペしたほうがわかる。
281:nobodyさん
09/11/07 05:04:43
>>279
ちゃんとコピペできていないか、実行側にちゃんと送信できていないに1票。
>何がおかしいのかわからないです
まず検索すれば分かると思うけど、Modifierってのは修飾子のこと。
↓マニュアルのURLにも出てくる。
URLリンク(jp.php.net)
でもって「Unknown modifier '['」ってのは「知らない修飾子'['がある」と、
親切に教えてくれてるわけだ。教えられた側が理解できているかは別として。
つまりこの場合、PHPが「(構文に沿えば)修飾子があるはずの場所に、
修飾子でない文字があるのはおかしい」と指摘しているので、
まず最初にその付近を見直すのが定石。
282:nobodyさん
09/11/07 16:49:41
なんも反応ないってことは大体あってたのかな。
283:nobodyさん
09/11/07 16:50:06
サーバーがsafe_modeだとなんでダメなの?
284:nobodyさん
09/11/07 18:37:38
279です。
>>280,281
ご指摘頂いた箇所を見てみたんですが、コメントアウトの//もあってたし
エラーの出てた行はいじってないしで??となっていたんですが
@PAGEのファイルの編集画面で見てみるとUTF-8で転送されてなかったみたいで
何ヵ所か文字化けしてしまっていたのが原因だった様です…すみません
その辺設定出来るエディタ使ってたのに何故という感じですが
(miで編集、Fetchで転送)
とりあえず、なんとかなりそうです
ありがとうございました!
規制中でケータイからなので読み辛かったら申し訳ないです
285:nobodyさん
09/11/08 19:21:21
「○○って言って」ってリプライされた時に○○の部分だけ返すのってどうやるの
phaさんのスクリプト使って出来る?
286:nobodyさん
09/11/08 22:28:42
>>285
reply_pattern.phpに
"○○って言って"=> array(
"○○"
),
でよくね?
287:nobodyさん
09/11/08 23:02:46
いや、そういうことではなくて○○の部分は相手が言った言葉によって変えたいんだ
一部分だけ相手の発言を引用するというか
288:nobodyさん
09/11/08 23:07:58
できるけど処理がややこしくなるから別物になっちまうな。
289:nobodyさん
09/11/08 23:08:01
@aaaの発言:
@bot AAAって言って
@botの発言:
@aaa AAA
ってこと?
290:nobodyさん
09/11/08 23:30:52
reply_pattern.phpに
"復唱"=> array(
"{echo}"
),
って入れといて、reply_random.php側で
reply_pattern.phpから返答文字列を取得してからtwitterに投稿するまでの間の処理にswitch~case(綴り合ってる?)か何か仕込んで、
もし返答文が{echo}だったらという条件判断をさせて、
そこで相手からのリプライの「から」までの間を抜き出してその前後に「復唱します、(抜き出した言葉)ですね」みたいに体裁整えて@とかidとかくっつけて返信、になるかなー
ややこしいかもしれないけどできなくはないはず
携帯からなんでコレが限界
291:nobodyさん
09/11/08 23:35:44
>>290
ごめん忘れてた
「○○」を復唱して ←こんな形式でリプしてもらうとして、ね
鍵括弧でくくってる事と復唱って言葉がポイントってことで
292:nobodyさん
09/11/08 23:42:11
>>289
そうそう
>>290
なるほど…なんとなく理屈は分かった
問題は投稿するまでの処理か…
293:nobodyさん
09/11/09 00:52:01
ある程度の早さで返事することになるとその頻度でTL取得することになるからAPI制限との勝負になるとこもネック
294:nobodyさん
09/11/09 17:18:21
8bitさんの好感度スクリプトを見つけたんだがいまいち分からない。
調べてみても、使い方のヒントになるものは何も…
携帯からなのでURL貼れなくて申し訳ない。
295:nobodyさん
09/11/09 17:25:06
何が分からないのか言ってくれないとニントモカントモ
296:nobodyさん
09/11/09 18:29:28
>>294
なんでそこの作者さんがサポートをやめたのか書いてあるだろ。もう一回読んで来い。
phaさんとこ見てても思うけどマジで初心者多いな。
ほぼ全レスのphaさんすげえ。
297:nobodyさん
09/11/09 19:43:14
>>296
サポやめたくなるのもわかるんだけど
キレてる事をblogに書くのはどうかとも思ったw
298:nobodyさん
09/11/09 19:54:17
あそこのリプライから発言を引用するスクリプト、
ユーザIDとパスワード以外弄ってないのに動作しないんだけど
質問受け付けてないからどうにもならんかった
299:nobodyさん
09/11/09 20:41:52
はじめて見たけど、中身かなり親切に書いてあるじゃん…
>>298
出たエラーでググったりすればなんとなく見えてくるんじゃないか?
300:nobodyさん
09/11/09 20:48:26
>>298
それって
URLリンク(8bitnote.sblo.jp)
で配布されてるnanoka.phpのことか?
ざっと読んでみたけどServices_Twitterも入れないと動かないよこれ
301:nobodyさん
09/11/09 21:26:11
294ですが好感度スクリプトについては説明がないんですよ。
txtには何を入れたらいいのかとか…
試しにサーバーに上げてPHPの方に書いたキーワードをpostしてから、サーバーにアクセスしてみたんだけど空リプライが来るだけ。
サーバーにアクセスしなければ何も動きはないです。
302:nobodyさん
09/11/09 22:20:34
大した量じゃないんだからコードくらい追えよ
303:nobodyさん
09/11/09 22:32:19
>>300
入れてるよ
そのエントリで同じ質問してる人がいたけど結局解決できなかった
304:nobodyさん
09/11/09 23:37:37
スレチかもしれないがWebcronって月額いくらくらいかかる?
フォロワー300で、最低でも5分毎に実行させたいんだが…
305:nobodyさん
09/11/10 00:03:35
>>304
どうせ金払うならちょっといいレンタルサーバーでも借りた方が良くないか。
月500~1000円代からでもcronやPHP5やMySQLが使えるところはあるわけだし。
とはいえサイト持ってないなら宝の持ち腐れだろうし、やっぱ人によるかも。
逆に言えばサイト運営してて、尚且つ何か高度なもん設置したいものがあるのなら、
ちょっといいサーバー借りた方がトータルで見ればいい気はする。
306:nobodyさん
09/11/10 00:24:51
>>304
自宅に24時間起動&ネット接続させられるマシンがあるならそれでスクリプトを動かしてもいいかも
自分はcygwin+cron+w3mでbot動かしてる
307:304
09/11/10 00:56:46
アドバイスありがとう
まさにサイト持ってない持ち腐れする人種なんで、レンタルサーバーは悩んでたんだ
自宅PCも不安定だし、コーヒー代我慢してWebcronのお世話になることにするよ
月額が不安だが…
308:nobodyさん
09/11/10 00:59:51
ソース読めないし全然わかんないって人はBOT作る前に最低限、
PHPスレなりその初心者質問スレなり見たほうがいいと思うんだ。
サポセンとは違うんだし。
309:nobodyさん
09/11/10 01:07:13
>>301
わからんかったらtxtはそのまま上げろと書いてなかったっけ?
うちは普通に動いてるよ
310:nobodyさん
09/11/10 03:05:08
309
ありがとう。
上げなおしたら普通に動きました。
311:nobodyさん
09/11/10 14:50:36
>>304
お試し期間で様子見してみたら?
お試し中でも使用量出るし、一週間で消費したクレジット*4すれば大体の目安はつくと思う
312:nobodyさん
09/11/10 17:45:46
>>304
5分に一回なら月に150円くらいだった記憶。確信は無いが。
313:304
09/11/11 20:56:33
ありがとう。お試し始めてみた
150ならサーバー借りるより全然お得だな
314:nobodyさん
09/11/11 23:48:17
特定の語句を含む発言をRTするBOTのRTが、フォロワーのタイムラインに表示されなくなった・・・
315:nobodyさん
09/11/12 07:18:55
>>313
同じ事気になってた。
こっちはお試し期間中に色々試す暇がなくてどうせ安いからとクレカで購入してみたが
消費量チェックする度にチマチマ増えてるんで何か焦るw
五分に一回でもフォロワ300人は怖いよね、リプライの量が。
cron-jobが使えたらな。
ファイル大きいとか失敗ミャハ☆とかばかりでまともに動いてくれないんだ。俺の日頃の行いが悪いんかな。
316:nobodyさん
09/11/14 12:06:15
ばずったーから単語を持ってくるのってどうやんの?
317:nobodyさん
09/11/15 07:57:14
スクレイピングしろ
318:nobodyさん
09/11/15 09:02:34
URLリンク(www.sukechan.net)
これってソース丸コピペしてIDとパスワード変えるだけじゃだめ?
あとできればキーワード全部じゃなくて1番目だけを取得してポストしたい
319:nobodyさん
09/11/15 10:40:05
>>318
・HTTP_Clientが必要
・for文消して$iを固定で1にする
てか聞きたいならやってみて出たエラーくらい書きなさいな
320:nobodyさん
09/11/15 20:17:39
phaさんのスクリプトを使っています。
reply_random.php+reply_random.phpを利用、で
誰かに@を貰い、反応する単語がある場合に限り
2分後にreply_random.phpから文章をランダムに返し…
さらに8分後(=計10分後)にreply_random.phpから文章を
ランダムに返す事ようにしたい(1回のpostに対して、時間差で2回replyさせる)、
のですが、ヒントを頂けないでしょうか?
やはりスクリプトと根本から弄らないと無理でしょうか?
321:nobodyさん
09/11/15 22:01:01
a
322:nobodyさん
09/11/15 22:01:53
>>320
PHPの書き方の問題なの?それともアルゴリズムの問題?
323:nobodyさん
09/11/15 23:56:13
>>320
自分ならこうする、という参考意見だと思って読んでね
前提条件として
4.txt(2×4回=8分後の処理で時間差リプライが行われる発言を記録するためのファイル)
3.txt(2×3回=6分後の以下同文)
2.txt(2×2回=4分後の以下同文)
1.txt(2×1回=2分後の以下同文)
0.txt(2×0回=今回の以下同文)
と言うファイルを用意して全部書き込み可能なパーミッションにしておく
reply_random.phpは二分おきに起動される
(続く)
324:nobodyさん
09/11/15 23:57:19
続き
--------
そんでreply_random.phpにこんな処理を追加する
0.txtに記録された発言に対して二回目のリプライ処理を行う
0.txtの中身を空にする
1.txtの中身を0.txtにそっくり移し変える
2.txtの中身を1.txtに以下略
3.txtの中身を2.txtに以下略
4.txtの中身を3.txtに以下略
4.txtの中身を空にしておく
>>290を参考に
特定の単語に対しては特定の処理をさせるようにして、
特定の単語が含まれるリプライを受け取った場合はまず一回目のリプライを返した後で
4.txtに今回返したリプライのユーザー名(@の後につける奴ね→$replies2[$i]["screen_name"])と
メッセージID(in_reply_to_status_idとして必要→$replies2[$i]["id"])と後必要なら名前($replies2[$i]["name"])とか書き込む
(一行ずつ項目ごとに半角カンマとかで区切って)
これで出来るような気はする。だれかもっと詳しい人いたら突っ込みとか入れてほしい。
ただ受け取るリプライの数が多かったりしたらファイル壊れるんじゃ、とかそういうのが気になる、その辺は自分も詳しくないんでパス
だれかもっと詳しい人いたら突っ込みとか入れてほしい。
必ずローカルでテストしてからにしてね
がんばってね
325:nobodyさん
09/11/15 23:57:21
2個モジュールをおいて各の自動実行間隔を2分と8分にすればいいだけ
326:nobodyさん
09/11/16 11:34:55
もうちょっと汎用的に作ろうよ
327:320
09/11/16 18:31:33
>>323さん、>>325さん、ありがとうございます。
自分のやりたい事は>>325の方法で出来そうなので、
試してみたいと思います。有り難うございました!
328:nobodyさん
09/11/16 19:25:29
>>319
とりあえずHTTP_ClientっていうのをDLしてServices_Twitterと同じ要領でbotのサーバーに入れてみた
で、>>318をコピペして動かそうとしたがエラー出ないしpostもされなかった
329:nobodyさん
09/11/16 20:22:18
エラー出せ
330:nobodyさん
09/11/16 21:00:56
>>329
<丶`Д´>呼んだニカ?
331:nobodyさん
09/11/17 10:06:08
いつもいつもエラーが出るって言う初心者なんでそのエラーメッセ書かないかな。
332:nobodyさん
09/11/17 10:24:17
自分がわからない文章に意味があるとは思えないからだろうねえ
333:nobodyさん
09/11/17 17:07:00
半自動フォローでbotがフォロー返す時に「フォローしました」のメッセージをつけたいんですが、
どう書き変えたらいいんでしょうか?
ソースはこちらを使わせて頂こうと思っています
URLリンク(dream-aquarium.net)
よろしくお願いします
334:nobodyさん
09/11/17 19:50:15
>>333
URLリンク(apiwiki.twitter.com)
335:nobodyさん
09/11/19 21:13:08
Postごとにアイコンを変えるってのをしたいんだけどどうすればいい?
例えば喜のPostのときは喜んだアイコン、怒のPostのときは怒ったアイコンって感じで
336:nobodyさん
09/11/19 21:37:00
Twitterにそんな機能あんの?
変えるのはやってできないことはないと思うけど、それだと喜のあとに怒のpostしたら結局怒アイコンになるんじゃ
337:nobodyさん
09/11/19 21:56:10
>>336
仕様書見る限りupdate_profile_image使えばいいっぽいんだけどどうすればいいのかわからなくて
喜怒哀楽は例であって作りたいのはある作品のキャラごったにbotを作りたいんだ
その台詞を言ったキャラのアイコンでPostやリプライを送る。どんなキャラが出てくるのかはランダムで
338:nobodyさん
09/11/19 22:07:55
いやだから最後に送ったアイコンが全ての発言に付加されるのでは?
339:nobodyさん
09/11/19 22:13:57
ああ、過去の発言も全部その瞬間にアイコンが変わっちゃうんだな
Post間隔長いのならわざわざ過去の見ないだろうがリプライとかは無理か
340:nobodyさん
09/11/19 23:54:38
発言ごとにアイコンを保持はできんから>>336だし
クライアントによってはアイコンをキャッシュするから変えてもすぐには反映されんかもしれん。
341:nobodyさん
09/11/20 15:58:52
こないだ携帯の白いお父さんが毎回アイコン変えてたけど
同じキャラがキョロキョロするとかならかわいいと思った
342:nobodyさん
09/11/20 23:48:02
>>336
喜怒哀楽の感情ごとにアカウントとってリストで読ませる
343:nobodyさん
09/11/21 00:07:11
これをやってみようと思うんだけどcURLってのがわかんね
URLリンク(d.hatena.ne.jp)
344:nobodyさん
09/11/21 00:08:06
php勉強しれ。
345:nobodyさん
09/11/23 20:10:45
OAuth認証(参考:URLリンク(wolf.silk.to))でbot動かしてる人いる?
in_reply_to_status_idつけてpostするようにしても、付与されないんだけど・・・
346:nobodyさん
09/11/23 22:22:45
phaさんのプログラム使わせてもらってるんだけど、
ランダムリプライと、指定した単語にリプライの両方使ってて、
片方のBOTは反応単語以外のリプライを受け取ると
ちゃんとランダムリプライしてくれるんだが、
片方は反応単語以外のリプライを受け取ると
必ず空リプライしてしまうんだがなんでだろう?
ちなみに、おかしいと思って、きちんと動作する方の
プログラムまるまるコピペしてユーザー名書き換えて
アップロードしてみたり、Services等その他諸々の
フォルダも全部アップロードし直したりしたけどだめだった…
347:nobodyさん
09/11/23 22:28:39
何を言っているのか分からない
348:346
09/11/23 22:41:32
ごめん、つまり空リプライの原因は何なのかって事が聞きたかった。
今自分で読み返してもなに言ってるか分からなかった
349:nobodyさん
09/11/23 22:50:38
変数の中身でも出力させてみたら?
350:nobodyさん
09/11/24 01:09:13
>>345
そっちがどういう風に送ってるのか知らんけど
先頭に@名前 ついてないと無効って仕様はあるみたいだが。
351:nobodyさん
09/11/24 04:54:49
>>348
自分のフォロワーに同じことで悩んでる人がいたなw
その人もbotを複数作ってて、ある一つのbotが空リプライするって、同じこと呟いてたけど、まさか…?w
それはともかく、自分のbotも反応ワード以外のリプライを貰うと空のリプライしてたんだけど、textのデータを弄ったら直ったよ。
サーバにアップしてあるtextのファイルがあるでしょ?
どうやらphaさんのは、反応ワード以外のリプライを貰うと、そのtextファイルに書いてあることをリプライするプログラムらしいので、そのtextファイルに、分からなかった場合のセリフを書き込めば良いってわけ。
そうすれば空のリプライしなくなると思う。
352:345
09/11/24 09:40:53
>>350
「@名前 」つけて名前とIDが違うと付与されない的なのは把握してるつもりなんだけどね、なんかうまくいかなくて・・・
やり方が間違ってるのかなぁ
ちなみにpost部分はこんな感じにしてます
$req = $to->OAuthRequest("URLリンク(twitter.com)",array("status"=>$aaa, "in_reply_to_status_id"=>$bbb), "POST");
$aaaは「@名前 返信内容」
$bbbはステータスID
俺恥ずかしいこと聞いてそうだな・・・
353:nobodyさん
09/11/24 12:25:40
>>348
tw.txtの中身が空であるか、改行して空白の行がありませんか?
またサーバーの方で確認して文字コードはUTF-8、改行コードはLFになっていますか?
354:nobodyさん
09/11/24 21:18:07
BOT作ってどうすんの?
作る価値ねーしwwwwwwwwwwwww
355:nobodyさん
09/11/25 02:02:43
>>354
そう思うんならそうなんだろう。
お前ん中ではな。
AA略
356:nobodyさん
09/11/25 03:17:51 6oiYyRxa
cron-job.orgで「cronファイルが大きい」って言われた。
ググっても解決策ゼロ。
誰か助けてください。。。
357:nobodyさん
09/11/25 03:21:26
cronファイルを小さくしろ
358:nobodyさん
09/11/25 03:27:51 6oiYyRxa
>>357
どうやって?
もう削るとこないです・・・
359:nobodyさん
09/11/25 03:28:38
バックスペースキー
360:nobodyさん
09/11/25 03:31:21 6oiYyRxa
>>359
それってどういう意味ですか?
もう消す場所ないです;;;
361:nobodyさん
09/11/25 03:35:18 6oiYyRxa
こんどはURLが違うって言われた・・・あってるのに…
362:nobodyさん
09/11/25 08:01:11
GoogleAppEngineでcron動かしてる人いたら教えて
2分間隔でリプライ返すbot
動かしてるんだけど、
cron-job不安定だったからGAEに移行。
java使ってGAEでcron(2分おきに設定)
動かすまではうまくいったんだが、
プロジェクトをデプロイして
しばらくたつとリプライを拾わなくなる。
デプロイ直後は普通に拾うんだが…
AppEngine経由でPHPのページにアクセスすると
直前にリプライ飛ばしてても
「2分以内の@はありません」ってでる。
直接アクセスするかcronjob経由でPHP叩けば、
ちゃんとリプライ拾うんだけど…。
バージョン変えてデプロイし直してもうまくいかない。
何がおかしいんだろうか…
363:nobodyさん
09/11/25 08:08:35
もうちょっと要点をまとめてくれ。
364:362
09/11/25 08:26:52
わかりづらくてすまん。
botにリプライ飛ばしたとき
・直接PHPページにアクセスするとリプライ拾える
・GAE経由だとリプライ拾えない。(デプロイ直後は拾えるがそのうちダメになる)
・GAEのcronjobにはエラーなし
ってことなんだ…
365:nobodyさん
09/11/25 14:21:04 w36IBMdL
これ動かなくない?ただコピペしただけじゃ駄目なの?
URLリンク(d.hatena.ne.jp)
「PHPでtwitterに投稿する」の時点で躓いた。
366:nobodyさん
09/11/25 14:22:07
エラーメッセージくらい見れよ。はぁ・・・。
367:nobodyさん
09/11/25 14:22:47
大方全角スペースが入ってるとかだろ
368:nobodyさん
09/11/25 14:24:12 w36IBMdL
どうやって見るの?
369:nobodyさん
09/11/25 14:35:02
エラーの見方も分からんでプログラムやってんの?
370:nobodyさん
09/11/25 14:39:11
まずはそれを設定したhttpdのエラーログ見ろよ
371:nobodyさん
09/11/25 21:34:37
cron-job.org使ってつまずいてる人が多いけど、cron-job.orgはマトモに使えるレベルの安定性じゃないと思う。
確かに無料だけどcron-job.orgの設定で毎日毎日苦労してるんなら
月100円くらい出してwebcron.orgを使うことを個人的にはお勧めしたい。動作は安定してるよ。
372:nobodyさん
09/11/26 07:22:56
クレカの審査落ちるから使えないんだよ!!
373:nobodyさん
09/11/26 10:32:51
まず働けよ
374:nobodyさん
09/11/26 12:12:55
webcronが新しくなったとたん全然動かなくなったんだけど
同じ症状の人います?
375:nobodyさん
09/11/27 19:39:09
>>356
ファイル大きいって言われてもちゃんと動くぞ。
動かないならソースがおかしいかも。エラーは出なくてもどっかしら
汚いソースの部分があるんじゃないかと。
それより勝手にNeinになる仕様どうにかしてくれ。
376:nobodyさん
09/11/28 07:10:32 M2/cHCZP
phaさんのを使わせてもらってて、replay_random.phpが上手く動かないから自分でソース読めるようになりたいんだけど
replay_random.phpの内容、↓これで解釈あってるの?
//コメントは自分が書いたものです.
//リプライの文章をつくる
for($i=0;$i < count($replies2);$i++){ //リプライの回数(replies2)分、以下の処理を繰り返す
$text = ""; //メッセージ用の変数を宣言
if($useReplyPattern === TRUE){//特定の単語に反応させたいときはこの処理を行う
require_once($replyPatternFile);//先にreplyPatternFileで定義したファイルを読み込む
foreach($reply_pattern as $pattern => $res){//配列$reply_patternの中身について端から以下の処理を行う。そのとき一個づつ$patternに代入していく
$pattern = preg_replace("@¥@@","¥@",$pattern);//$patternの中に"@¥@@"が有ったら"¥@"に変換??
if(preg_match("@".$pattern."@",$replies2[$i]["text"]) === 1){ //もしも、 "@".$pattern."@"っていうのが $replies2[$i]["text"]の中に有ったら?
$text = $res[array_rand($res)];//$resの中からランダムに選ぶ
break;//おしまい
}
}
}
377:nobodyさん
09/11/28 08:45:14
全部確認してくださいじゃなくて具体的に分からないとこを聞け
正規表現を特に聞きたいんでしょ?
378:nobodyさん
09/11/28 09:21:58
//メッセージ用の変数を宣言
というか初期化だな。
//$patternの中に"@?@@"が有ったら"?@"に変換??
なんで@なんて使ってるのか知らんけど左右の@は区切りのはず。
大抵/@/や#@#あたりじゃないんかな。だから@を@に置き換えてる。
他の部分知らんがなんでだろ。
379:nobodyさん
09/11/28 19:52:45
phaさんのスクリプトの1.41使ってるんですが
リプライの無限ループを制御する
$replyLoopLimit = 3; //何回連続でreplyを返されるとループを中断するかを設定します。
が、効いてないような?
サーバーやPHPのバージョンとかに関係あったりするんでしょうか?
380:nobodyさん
09/11/28 20:18:57 tYVMHZ37
>376
なんか急にreplay_random.phpが動かなくなったよね…
サーバー入れ替えしただけ(中身同じ)なのに、リプ返さなくなった。
ファイルマネージャからアクセスすると「送られたメッセージはない」って出るのに、Twitterから送ると真っ白。
自分だけかと思ったけれど何人もいるらしいから、クライアントとか関わるのかな。
>379
自分もそう。4で入れてるのに1回しか返さないわ…
381:nobodyさん
09/11/28 21:06:37
ここのスレの人はみんなphaさんとこの使ってんの?
382:nobodyさん
09/11/28 21:12:58
え?
383:nobodyさん
09/11/29 00:24:12
ランダムポスト・@もらったあとのランダム&パターンリプライ→phaさんのとこの
TL上の単語に反応させてリプライ→プログラミングを始める10の理由からコピペ
↑のに加えてどのポストに反応したかの紐付け→銀さんのBOTのin_reply_to_status_idの記事から
今のとここんな感じ
384:nobodyさん
09/11/29 01:37:43
>>381
私はあそこのは使ってない。
確かにphaさんのはカスタマイズしやすくて良いんだけど、自分は「プログラミングを始める~」のとこで公開されてるソースを改造して使ってる。
TLに反応するプログラムも、リプライも定時発言のも全てそこので事足りる気がする。
385:nobodyさん
09/11/29 02:26:40
一からコード書いてる俺は異端なのか?
全部自分で書いた方が楽しいじゃん
まぁServices_Twitterは使わせてもらってるがなー
386:nobodyさん
09/11/29 04:49:52
自分はまだ始めたばっかりだからメインでphaさんの使わせてもらってるよ
どういう流れなのかコメントがわかりやすく付けられてるし
サブで時間帯別のと好感度のものを組み合わせてるが
そっちはどこ改造したらいいのかもまだわからんw
387:nobodyさん
09/11/29 14:37:06
>>274 の、時間別に返事が違うっていうソースを入れたいんですけど、
自分は今phaさんの配布しているリプライソースを使っています。
phaさんの配布ソースのどの部分に入れたらいいでしょうか!
リプライパターンphpとも組み合わせたい。
//リプライパターンと照合する
if($useReplyPattern === TRUE){
require_once($replyPatternFile); ~(略)
の前?それとも後?全然場所が違いますか。
それとも↑のソースも色々変えないと出来ないですか?
プログラミングも何もかも初心者なので色々と試したのですがうまくいきません。
改変箇所等教えていただきたいです!
参考にしたのは
URLリンク(d.hatena.ne.jp)
の「時間帯によって反応を変える」って記事
>>362
GAEはサーバーと距離が短くなくちゃタイムアウトしてしまうらしい?
オススメは@pages。1分間隔でまわせるみたいです。
自分はまだ使ってませんがいずれ入れたい!
388:nobodyさん
09/11/29 14:41:19
>>387
PHPの書き方学ぶことをオススメする
389:nobodyさん
09/11/29 20:59:32
有料でもいいけど一番安定してBOTが動く鯖ってどこだろう?
390:nobodyさん
09/11/29 21:51:04
>>387
どこに入れればいいかじゃなくて、入れて動かしてみて、うまくいかなかったときに聞いたほうが
答えをもらえる確率は上がると思うよ
ここはphaさんソースの改造方法について教える場所ではないからね
391:nobodyさん
09/11/29 23:21:39
>>381
自作でちょびちょびいじりながらやってる。
ていうかここってBOT製作支援スレであって、配布BOT利用支援スレじゃないと思うのよね。
まあわかる範囲では質問にも答えるけど。
しかしなるべくメンテフリーで面白いBOTってのはなかなかうまいこといかんね。
392:nobodyさん
09/11/30 07:43:42
botが全て沈黙しているのは自分だけでいいよ…
昨日まではちゃんと動いてたのにいきなり無言になりおった
393:nobodyさん
09/11/30 21:09:26
>>392
サーバーの仕様が変わったとかcronファイルが壊れた…とか?
394:392
09/11/30 21:46:49
>>393
ありがとう。
とりあえずphaさんの使用してて、ファイル全入れ替え+別鯖(さくらから@pages)に移動して実行してるのに、同じ状況。
ほんとにいきなりリプライしなくなったので原因がさっぱりわからない。
もし同じ症状のひとがいたらと思ったけれど、いないのかな?
395:nobodyさん
09/11/30 22:10:29
>>394
API規制じゃないの
396:nobodyさん
09/12/01 00:22:49
API規制ってアカウントごと?それともIP?
397:nobodyさん
09/12/01 00:40:46
@pagesは反応にぶいよ
cronが動いててもすぐ接続がタイムアウトしちゃうらしい
さくらのBOTに比べて格段に反応が鈍い
398:nobodyさん
09/12/02 13:36:20
無料だからなぁ文句はいえんだろ
399:nobodyさん
09/12/03 09:37:10
cron-job.orgが不安定すぎるのでGoogleのAppEngine試してる
大体は安定して叩いてくれてるけど、
実行時間が毎日1分~2分ずつくらい遅れてきてるのが気になる
400:nobodyさん
09/12/03 12:35:16
プログラム自体を変えたら、cron-jobでも全然気にならなくなったなぁ。
cronが度々アクセスに失敗しても、貰ったリプライには全レスするし、もうこれでいいやってなってる。
401:nobodyさん
09/12/03 18:06:44
>>400
プログラムは自作?
402:nobodyさん
09/12/04 02:13:13
自分もAppEngine試してるけど半日で止まるわー
8つ回してるけど1つだけ何度上げても止まる
鯖はさくらで中身全部同じなのにわけわからん…
GAE使ってる人はJAVAとPythonどっちでやってる?
403:399
09/12/04 11:17:32
>>402
遅れはするが止まるまではいかないぞ?
実行自体はほぼ安定してるし…ちなみにJAVA
404:nobodyさん
09/12/04 12:39:33
cron-job.orgを使ってるんだが、ドイツの日付が変わった瞬間から設定が勝手にNeinになる
このスレ見てると同じような不具合多いみたいだし、
webcronとやらに移ったほうがよさそうだね
ただ、自分のクレジットカード作れる年じゃないから
またカーチャンに個人情報洩れるんじゃないのって渋られそうだw
405:nobodyさん
09/12/04 12:58:49
ドイツの日付が今日になったあたりからcron-job.orgに繋がらなくなった(DNSエラー)んだけど…ドメインの期限切れか何かかな。
406:nobodyさん
09/12/04 13:09:03
俺もGoogleAppEngin使ってるけど安定してるよ
止まることも遅れることも、今のところない
ちなみにPHP
407:nobodyさん
09/12/04 14:03:06
Googleのって、Macだと無理っぽい?
botのためにブートでWindowsを立ち上げるのもなんだかな…。
408:nobodyさん
09/12/04 14:47:20
GoogleAppEngine bot twitter phpでぐぐったら
一から十までcronの動かし方を説明してくれてるページをみつけて歓喜したんだが
肝心のソース説明画像がキャッシュに残っていなかった…orz
409:nobodyさん
09/12/04 15:05:25
さくら使ってる人ってcronもさくらで動かしてる?
安定させたくて@pagesからさくらに移ったんだけど負荷がかかるからってcron止められてしまった
結局cron-job.org使ってる
410:nobodyさん
09/12/04 16:23:12
>>408
画像じゃなくてテキストで説明書いてくれてるところがあるだろ
もうちっとググれ
411:nobodyさん
09/12/04 17:36:16
GAEに関してはモノクロ二階調ってところがわかりやすかったらしいが今は見れなくなってるな
どうして消したんだろう
412:nobodyさん
09/12/04 17:50:57
ホントだ、記事消えてるね…
たしか消えた記事内で参考にしたと書かれていたブログ記事の方は
まだ残っているから、そっちを探せば出来るとは思うけど
413:402
09/12/04 20:39:49
>402だが
今日見直したら止まってると思われた奴はまた動いていた
GAEはタイムアウトのタイミングがシビアなのかもしれん…
>411のサイト見て作ったのでJAVAで動かしてたが
何か問題でもあったのかな
414:nobodyさん
09/12/04 22:54:07
噂の参考サイトがなくなってGAEの動かし方が分からないぞ
>>413
GAEって30秒でタイムアウトじゃなかったっけ、それにひっかかってるとか?
415:nobodyさん
09/12/04 23:09:13
質問厨に疲弊して消したらしいぞ。>モノクロ二階調
今日の記事に書いてあった。
416:nobodyさん
09/12/04 23:09:32
モノクロ2階調さんとこが記事消したのは「サポートしないよ」って書いてるのに
botのDMとコメント欄に問い合わせ多かったからだってさ。
再掲載する予定も今のところ無いみたいね
>先日までこちらのブログでGoogleAppEngineのcronjobを使ったbot管理の方法を
>記事にしていましたが、私自身のtwitterアカウントが非公開の為
>当方が管理しているbotにDMを送ってこられる方、サポートをしていないと
>申し上げているにも関わらずコメント(承認制にしてありました)でのお問い合わせが多く
>なんかもうバッタンしてしまいました…
>仕事で忙しいせいもあるので、自分に余裕がないのが悪いとは思いますが…
>現状記事の再掲載は未定です。良い解説記事が見つかるのを祈ってます。
>その際はそちらを管理されている方の負担にならないよう、
>「人事を尽くす」努力をお願いします。(私が言う事ではありませんが…)
417:nobodyさん
09/12/04 23:17:09
質問厨はどこにいっても害しか産まないのか
地道にやるしかないかなぁ
>>415-416情報ありがとう
418:nobodyさん
09/12/04 23:17:31
cron-job.orgが勝手にneinになるのってやっぱ向こうが日付変わる頃だよね…
ところで勝手にneinになるのとjaのままのとがあるんだけど何か条件あるのかな
今9個job設定しててそのうちの2個はいつもjaのままなんだけど
post内容が違うだけでほぼ同じソースなんだよね…
ファイルサイズもそんなに重くない…というかneinになっちゃうやつのほうが軽い奴もある
あと勝手にneinなるのはfehlerhaftも出やすいみたい…
419:nobodyさん
09/12/05 00:08:03
botの作り方系のブログは、どこも
「○○行目でエラーが出るんですけどどこがおかしいのか分かりません」
↑どんなエラーとも書いていない。結局全角スペースが入っていたとかそういう問題
「○○を書き換えて、って書いてありますが場所がわかりません」
↑その記述は一箇所しかないから探せば見つかる
とかそういう質問山盛りだからな…モノクロ二階調さんのところは本当にお疲れ様です、としか…
420:nobodyさん
09/12/05 00:27:12
ツリー型の質問掲示板のタイトルに「教えてください」ってのが10年前からあったしな。
あとよくわかってないのに自分の解釈をやたら書く質問者も。
相手はエスパーじゃないんだから教えて欲しいことを伝える努力は必要だわな。
421:nobodyさん
09/12/05 00:38:08
とりあえずGAEでcron動かすのやってみよう。。。
>>418
基準はよくわからんが、やっぱり無料だし文句は言えないところか。
ただ、neinになるとかの条件はヒントだけでも載せてくれると助かるね
>>419-420
質問するにも初心者(笑)なのが多いのか。
ググり方も分からないやつなのかな
てかたまに偉そうなやついるよね、上から目線の。
422:nobodyさん
09/12/05 00:47:40
教わらないとわからないって人はそれなりの割合いる。
エラーメッセージでぐぐれば問題を絞れるはずだが、
ぐーぐる先生の資料集めとしての使い方が思いつかない人はそれなりの数いる。
WikiPediaみたいにまとまってたり聞いたらすぐ答えてくれるようなとこしか行かないのだろうし。
423:nobodyさん
09/12/05 21:07:44
>>416
しかしbotの方にDM送るなんてひどいな
なに考えてんだ
自分もbot作ろうとしてるのにそのbotに関係ないメール送られて気持ちとか考えないのかね
424:nobodyさん
09/12/05 21:49:15
自分も最初は初心者だったが…
ある程度は自分で調べないと何かあった時に対処できんから恐いわ
phaさんのしたらばのは初心者(笑)ホイホイにならないことを祈る
425:nobodyさん
09/12/05 22:45:17
>>424
それマジ心配してる。でも今もう既にそうなりつつあるような…。
phaさんのプログラム以外の質問とか、PHPと全然関係ない質問多い気がする。
あまりに初心者すぎな質問であふれかえってphaさんが
疲れてしまってサポート放棄されたり、
最悪配布を中止されたりしてしまうんじゃないかと不安だ……。