[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 03/26 21:14 / Filesize : 264 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Twitter】 BOT製作支援スレ



1 名前:nobodyさん [2009/09/27(日) 14:15:59 ID:Dz08qoo4]
見当たらなかったので立ててみた

[公式] twitter.com/
[Twitter 開発ブログ 日本語版] twitterjp.blogspot.com/

*どの言語でもOKですがソースを書く際は何の言語なのかも記載してください。
*初心者のために、なるべくぶつ切りのソースではなく全体的に載せてほしいです。


139 名前:nobodyさん mailto:sage [2009/10/22(木) 05:06:11 ID:???]
>>137
本当に有難う。

140 名前:nobodyさん mailto:sage [2009/10/22(木) 07:38:40 ID:???]
>>137
ありがとうございます!

141 名前:nobodyさん mailto:sage [2009/10/22(木) 08:23:56 ID:???]
>>137
いけました!
有難う御座います!!
しかし、中身に記載されてるバージョンが1.1のまんまでしたよー

142 名前:nobodyさん mailto:sage [2009/10/22(木) 14:33:42 ID:???]
リプライをもらうと@だけ発言する、うちのボット…

143 名前:nobodyさん mailto:sage [2009/10/22(木) 15:09:08 ID:???]
>>142
確実にソースが間違ってる。がんがれ

144 名前:nobodyさん mailto:sage [2009/10/22(木) 17:51:54 ID:???]
>>141
バージョン直しました

145 名前:nobodyさん mailto:sage [2009/10/22(木) 18:32:14 ID:???]
おつかれさまです!!!!


146 名前:nobodyさん mailto:sage [2009/10/22(木) 19:04:13 ID:???]
自分のbotが他のbotにフォローされてるんだけどフォロー返したら会話がループしそうなんだよな

147 名前:nobodyさん mailto:sage [2009/10/22(木) 19:14:00 ID:???]
この新しいreply_patternってやつをreply_randomに組み込めばいいんだよね?
なんかエラー吐くんだけどどこに置けば?



148 名前:nobodyさん mailto:sage [2009/10/22(木) 19:37:46 ID:???]
たまにリプライするとき@の前にドットつけてるbotいるけど何の意味があんの?

149 名前:nobodyさん mailto:sage [2009/10/22(木) 20:45:08 ID:???]
>>147
reply_pattern.php のファイルの場所を移動させなくてもそのまま置いておけばできたよ

150 名前:nobodyさん mailto:sage [2009/10/22(木) 21:26:28 ID:???]
>>143
だよねぇ。。
がんばるわ。

151 名前:nobodyさん mailto:sage [2009/10/22(木) 23:02:20 ID:???]
>>137
ありがとうございましたー!!
でも動かないー!

152 名前:nobodyさん mailto:sage [2009/10/23(金) 00:01:49 ID:???]
>>151
どんな状態で動かない?

153 名前:nobodyさん mailto:sage [2009/10/23(金) 00:20:42 ID:???]
>152
反応が全くない。TL上のワードを拾うわけじゃないんですよね?
普通に@無視される…
まぁ、@つけても無視されるんですが。おやすみ入れてもスルー。

154 名前:nobodyさん mailto:sage [2009/10/23(金) 01:31:51 ID:???]
>>137
本当にありがとうございますー!
今まで特定の語句への返信は、
phaさんのを参考にして作ったという某ブログのスクリプトを使っていたんですが
こちらの方がすっきりしていてサイズが小さく済む+追加しやすいのでこちらに変えました
定期ランダムポスト+特定の語句へのリプライはphaさんのスクリプト
TLから特定の語句を拾ってのリプライは某ブログのスクリプトという
合わせ技でもなんとか動いてます
こんなに使いやすいスクリプトを作って下さり、本当にありがとうございました

155 名前:nobodyさん mailto:sage [2009/10/23(金) 07:18:12 ID:???]
>>137
構文を追加したらRT対策が解除される、ということは不可能でしょうか?
.@での挨拶が多いので対応出来なくて…

156 名前:nobodyさん mailto:sage [2009/10/23(金) 12:22:52 ID:???]
リプライの応用で、特定のワードには反応しないってことはできるのかな?

157 名前:nobodyさん mailto:sage [2009/10/23(金) 12:44:10 ID:???]
phaさんのリプライ返すのを改変してTL中にキーワードがあったら返すのつくってるんだが
自分の発言にキーワードがあった場合やリプライ時でも返してしまう
if( $screen_name != $username){ //自分の発言時は反応しない
if(strpos($re["text"],"@".$username) === False){ //発言の中に@があった場合は反応しない
if(preg_match("/キーワード/",$re["text"])){ //特定のキーワードがあった場合反応する
$replies[] = $re;
}
}
}
こう改変してるんだけどどこがへんなのかな?
条件分岐がうまく動いてないみたいなんだけど



158 名前:nobodyさん mailto:sage [2009/10/23(金) 13:59:49 ID:???]
スクリプト自体は一切手を加えてないのに実際に投稿されるときとされないときがある。
txtファイルに登録してる発言内容が少ないので同じ発言がたまたま選択されて連投規制に引っかかったのか、
一度に投稿スクリプトを動かし過ぎてAPI規制に引っかかったのか…

同じ内容を続けて投稿してしまわないようなチェック機能とかあったらいいなあ。
適当なtxtファイルを用意して発言内容をそこに書き込む→発言前にそのファイルの内容をチェック、
選択した発言が同じなら発言選択をやりなおすとかだったら実現できるかな。
作ってみようかなあ。

cron-job.orgも登録してみたけどうまくいかないのでcygwin入れてみたけどさっぱりわかんないやorz

159 名前:nobodyさん mailto:sage [2009/10/23(金) 14:12:26 ID:???]
>>157
datファイルをつくってそこに最新のTLを蓄積
$host = "twitter.com/statuses/friends_timeline.xml";

ってやったほうがいいかも

160 名前:nobodyさん mailto:sage [2009/10/23(金) 14:26:03 ID:???]
>>158
全然投稿で着てないわけじゃないんでしょ?
だったらやっぱり重複制限に引っ掛かってるのかもしれないから
適当にtxtファイルの中身増やしてテストしてみたら?

161 名前:nobodyさん mailto:sage [2009/10/23(金) 16:46:40 ID:???]
cron-job.org落ちた?

162 名前:nobodyさん mailto:sage [2009/10/23(金) 16:49:29 ID:???]
落ちてるね

163 名前:nobodyさん mailto:sage [2009/10/23(金) 17:44:36 ID:???]
そういえば、rubyの本で人工無脳をつくる本があったけなぁー
アレどっかにつんであるはずだからさがして
twitterのbotで発言できるようにしてみるか



164 名前:nobodyさん mailto:sage [2009/10/23(金) 20:39:31 ID:???]
>>137のスクリプトでおはようをPOSTすると「おはよう」の返事+普通の@返しされるんだけど
他にもこういうひといない?

165 名前:nobodyさん mailto:sage [2009/10/23(金) 22:33:51 ID:???]
bot同士が会話してるせいでTL流れるのがハンパねえ
これって連投すると規制されるのか?

166 名前:nobodyさん mailto:sage [2009/10/23(金) 23:13:23 ID:???]
・直前の10ポストと同じ内容の投稿は受け付けない。>>68
・2時間で125以上ポスト出来ない(というメッセージが出たことある)

投稿規制はこの二つだったはず。後者はちょっと曖昧かも。

167 名前:nobodyさん mailto:sage [2009/10/24(土) 00:40:33 ID:???]
後者のpost規制の基準は曖昧だからな…変動してるらしいし
定期postの間隔がよっぽど短いとか
リプライ反応する間隔が2分とかで
毎度数十件のpostでもしなきゃされないんじゃね



168 名前:nobodyさん mailto:sage [2009/10/24(土) 00:53:48 ID:???]
レンタルサーバーでcronが安定してるのってどこがある?
cron-job安定しないんだよなー
それとも2分じゃなくて4〜6分間隔くらいにしたらまだましかね?

169 名前:nobodyさん mailto:sage [2009/10/24(土) 01:14:32 ID:???]
>>168
80code.com安定してるよー。現在は新規受付停止中だけど。
さくらのスタンダードとエックスサーバーもcron可だったと思うが、使った事無いので動作については分からん

170 名前:nobodyさん mailto:sage [2009/10/24(土) 01:54:14 ID:???]
>>169
調べてみるわー、ありがと
リプライ返しやTLから拾ってくるタイプだから分おきに
動かないときついわ

171 名前:nobodyさん mailto:sage [2009/10/24(土) 03:16:09 ID:???]
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さん mailto:sage [2009/10/24(土) 03:24:11 ID:???]
cronいつの間にかneinなってた…
上でググるアプ使ってる人はどうやってるの?


173 名前:nobodyさん mailto:sage [2009/10/24(土) 03:29:14 ID:???]
>>171
$c = "-1";

174 名前:nobodyさん mailto:sage [2009/10/24(土) 10:28:47 ID:???]
>>173
ありがとう
出来た気がする。もうちょっとテストしてみるわ

175 名前:nobodyさん mailto:sage [2009/10/24(土) 10:47:44 ID:???]
「いつ・どこで・なにをする」をランダムに組み替えて発言するとか
相手の発言を引用する(○○だよ→○○なんだね)みたいなやり方教えて

176 名前:nobodyさん mailto:sage [2009/10/24(土) 11:24:30 ID:???]
指定した時間に、指定したアイコンに
自動的に複数回変更できるスクリプトないですか…ね?

ttp://ameblo.jp/liam7/entry-10363726388.html
ここ参考にしようと思ったらcurl使えなくて

177 名前:nobodyさん mailto:sage [2009/10/24(土) 11:33:14 ID:???]
>>172
上の人じゃないけどGAEでcronできたよ。

builder.japan.zdnet.com/sp/google-app-engine/story/0,3800086196,20371257,00.htm
code.google.com/intl/ja/appengine/docs/python/config/cron.html
code.google.com/intl/ja/appengine/docs/python/urlfetch/overview.html

↑ここ参考にした



178 名前:nobodyさん mailto:sage [2009/10/24(土) 11:58:22 ID:???]
お願いだー!
誰か、TL上のワード拾って反応するBOTのソースくれー!
バカなのは承知してるし勉強もしてるんだー

179 名前:nobodyさん mailto:sage [2009/10/24(土) 12:24:52 ID:???]
>>137のスクリプトって○分までは吐かないのか…

180 名前:nobodyさん mailto:sage [2009/10/24(土) 12:34:34 ID:???]
>>178
ググればいくらでもでてくる

181 名前:nobodyさん mailto:sage [2009/10/24(土) 14:40:42 ID:???]
>>137のスクリプトを置いて、試しに動かしたら運勢の結果がランダムではなくひとつずつ発言として全部出てきたんですが…。
IDとパス以外変更してないのになにこれ?

182 名前:nobodyさん mailto:sage [2009/10/24(土) 15:01:23 ID:???]
cronあってねーんじゃねーの

183 名前:nobodyさん mailto:sage [2009/10/24(土) 15:04:22 ID:???]
>>179
時間の奴はちょっと調べれば簡単に改変できるよ
date()あたりググればいいんじゃない

184 名前:nobodyさん mailto:sage [2009/10/24(土) 16:31:39 ID:???]
replyで何度試しても「〜分以内に受け取った@はないようです」と表示されます。
1〜2回うまく行ったけどあとはさっぱり
何か考えられる原因があったらご教授願います

185 名前:184 mailto:sage [2009/10/24(土) 16:56:22 ID:???]
解決しました。
@ユーザー名の後のスペースが全角になっていました…orz
お恥ずかしい限りですがご報告だけ。


186 名前:nobodyさん mailto:sage [2009/10/24(土) 23:17:12 ID:???]
>>177
ありがとう!やってみる!

187 名前:nobodyさん mailto:sage [2009/10/25(日) 00:51:07 ID:???]
昆虫みたいなbotをつくりたい
あれすごい



188 名前:nobodyさん mailto:sage [2009/10/25(日) 11:11:20 ID:???]
ttp://twitter.com/ooishi_bot
これみたいに一部分だけをランダムに組み替えて発言させるにはどうしたらいいの?

189 名前:nobodyさん [2009/10/25(日) 11:22:48 ID:QovXst2Y]
ttp://twitter.com/syoutengai
上記のように、特定の言葉(この場合「商店街」)がつぶやかれたものを検索して
自動的にRTするようなBOTの作り方をご存じの方、ご教示願います。

190 名前:nobodyさん mailto:sage [2009/10/25(日) 11:53:18 ID:???]
>>188
簡単な人工知能プログラムが必要。
bot技術とはちょっとかんけいない。

191 名前:nobodyさん mailto:sage [2009/10/25(日) 17:18:48 ID:???]
>>190
そんな高度な技術でもないだろ、
とりあえずphaさんのスクリプト例に取るとpost_random.phpのテキストファイルの内容を一行ずつ読み込んでランダムに一つ選択するところと
reply_random.phpのテキストファイル中の{name}を置き換えるところを応用してくっつければ出来る。スクリプト長くなるけど。

192 名前:nobodyさん mailto:sage [2009/10/25(日) 17:45:15 ID:???]
phaさんのだとPostに対してリプライ送るんじゃなくて「@ユーザーID」を
文頭においてPostしてるだけになるんだけど
ちゃんとしたリプライ送るようにするにはどうすればいい?

193 名前:nobodyさん mailto:sage [2009/10/25(日) 18:05:57 ID:???]
phaさんのscriptの、特定の単語を返すってやつで
"おはよ"と"オハヨ"のどちらにも対応させる(1セットで)には
どうすればいいのでしょうか?

↓な感じにしたいんですが
"おはよ|オハヨ"=> array(
 "おはよう",
 "おはよ!",
),

194 名前:nobodyさん mailto:sage [2009/10/25(日) 19:39:46 ID:???]
>>193
今のところそういう機能はないね。バージョンアップでつけるって言ってたけど

195 名前:nobodyさん mailto:sage [2009/10/25(日) 20:20:59 ID:???]
>>181
FTPでアスキーモードで転送できてなくて改行が変になってるのかも
FTPでアスキーモードを指定、とやってみたらどうかなあ
わかんないけど

196 名前:nobodyさん mailto:sage [2009/10/25(日) 21:19:37 ID:???]
セーフモードのPHPでcurl_opt設定を出来ないのは回避策はありますか?
DSOで。

197 名前:nobodyさん mailto:sage [2009/10/25(日) 21:22:31 ID:???]
>>194
ありがとう。バージョンアップ…待ちます。



198 名前:nobodyさん mailto:sage [2009/10/26(月) 02:00:49 ID:???]
自動フォロー返しやDM返しってどうやる?

199 名前:nobodyさん mailto:sage [2009/10/26(月) 03:07:52 ID:???]
>>192
@付きステータスのアップデート時に、in_reply_to_status_id を付ける。
詳しくはAPI仕様書を読んでね。

>>198
適当な間隔でフォロワーやDMのリストを取得して処理すればいい。
API制限もあるし、1度処理したらファイルに記録しておく必要があると思う。
メール通知を利用するって手もありそうだけど、
メールが来ないことが結構あるような・・・・。

200 名前:nobodyさん mailto:sage [2009/10/26(月) 18:23:57 ID:???]
>>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さん mailto:sage [2009/10/26(月) 18:25:16 ID:???]
>>189
特定のつぶやきを検索するのには検索用APIが用意されているし、
RTの仕方についてはPOST時に適当な書式に沿ってRTを付けるだけ。
(retweet関係のAPIって正式に公開された?)
それらを適度に組み合わせれば清むので、
別段特殊な技術が必要な訳ではないから何も難しいことはないかと。


ところで、twitter.com/syoutengai で検索したら
なにやらひどいコメントが。
ttp://www.google.co.jp/search?pws=0&q=twitter.com/syoutengai

202 名前:nobodyさん mailto:sage [2009/10/26(月) 18:29:46 ID:???]
>>198
自動リムーブだけど1日に1回、friends/idsとfollowers/idsの差分とって処理してる。
フォローも似たような案配でいけるんじゃない?

>199
in_reply_to_status_idって返信先ステータスのIDを指定するでいいんだよね?
送出前のヘッダを出力してみるとin_reply_to_status_idの指定がちゃんとしてあるんだけど、
レスポンスみると無視されてるみたいでハマってるんだ

203 名前:200 mailto:sage [2009/10/26(月) 18:36:56 ID:???]
>>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さん mailto:sage [2009/10/26(月) 18:53:10 ID:???]
botに好感度みたいなのを実装するのは無理?
あいさつをちゃんとしている人(Replyでおはようとか)にはやさしくなっていくとか…

205 名前:nobodyさん mailto:sage [2009/10/26(月) 19:47:55 ID:???]
可能です

206 名前:nobodyさん mailto:sage [2009/10/26(月) 20:33:51 ID:???]
>>203
おお、助かった!ちょっとやってみ…たらできんかった
エラー起こってないから単にin_reply_to_status_idが取得できてないだけなんかな

207 名前:nobodyさん mailto:sage [2009/10/26(月) 20:39:34 ID:???]
Basicでぼっとつくりたいんですけど・・・




208 名前:nobodyさん mailto:sage [2009/10/26(月) 22:11:17 ID:???]
>>204
たまごっちみたいなもんか

209 名前:nobodyさん mailto:sage [2009/10/26(月) 22:31:38 ID:???]
>>208
うんこながしたりプロテインのませたりするんだな

210 名前:nobodyさん mailto:sage [2009/10/27(火) 00:08:03 ID:???]
necotterってそんな感じじゃなかったっけ

211 名前:nobodyさん mailto:sage [2009/10/27(火) 00:34:10 ID:???]
そのうち育てたbot同士で対決させるんだろ

212 名前:nobodyさん mailto:sage [2009/10/27(火) 00:36:04 ID:???]
>>203
これの場合
$in_reply_to_status_id = $replies2[$i]["in_reply_to_status_id"];
$status = "@".$replies2[$i]["screen_name"]." ".$text;
でいいのか?

213 名前:nobodyさん mailto:sage [2009/10/27(火) 02:46:16 ID:???]
銀さんとこのソースで、寝る時間が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さん mailto:sage [2009/10/27(火) 13:25:06 ID:???]
>>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さん mailto:sage [2009/10/27(火) 15:03:13 ID:???]
毎月の決まった日時に決まった台詞を吐くbotはつくれないでしょうか

216 名前:nobodyさん mailto:a [2009/10/27(火) 15:13:33 ID:???]
phaさんの所でBOT作らせてもらったんだけど、特定の単語にしか反応しないようにって出来ないかな。
通常のリプライなしにしたいんだけどできる?例えば「おはよう」にしか反応しないとか。

217 名前:nobodyさん mailto:sage [2009/10/27(火) 15:16:13 ID:???]
>>215
毎月の決まった日時にだけ起動させればいいんじゃないの?



218 名前:nobodyさん mailto:sage [2009/10/27(火) 17:29:00 ID:???]
>>213
214氏が指摘している通り、わざわざpreg_matchを使う必要が元々無いよ。

翻訳機能のソース以前に、自前で自然言語の辞書を持つ事に結構な
リソースが必要なので、大抵は他を呼び出してると思うんだけど。
「翻訳 API」とかで検索すれば結構あるので、それを使うのが手っ取り早い。
特定の単語しか翻訳しない仕様なら、それこそ鸚鵡返しbotで十分だろうし。

219 名前:nobodyさん mailto:sage [2009/10/27(火) 18:42:15 ID:???]
>>216
できるよ

220 名前:nobodyさん mailto:sage [2009/10/27(火) 19:28:32 ID:???]
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さん mailto:sage [2009/10/27(火) 19:52:06 ID:???]
>>220
行末の;が抜けてるとか
それよりスクリプト置いてるURL晒さないほうがいい、早く変えれ

222 名前:nobodyさん mailto:sage [2009/10/27(火) 20:07:10 ID:???]
>>221
ありがとう!解決した
URL変えてくる。すみません

223 名前:nobodyさん mailto:sage [2009/10/27(火) 22:49:08 ID:???]
in_reply_to_status_idの付加方法がわからん
誰か教えてくれ

224 名前:nobodyさん mailto:sage [2009/10/27(火) 23:25:26 ID:???]
in_reply_to_status_idを付加したバージョン作った
pha22.net/text/twitterbot.html

225 名前:224=@pha mailto:sage [2009/10/27(火) 23:29:15 ID:???]
>>203の方法でいけるはずなのになんでできないんだろう、って思ってソースをよく読んでみたら、
Services/Twitter/Connector.phpの95行目でリクエストを組み立てるときに
$body .= '&';
ってやってるのが原因だった
$body .= '&';
に変えたらできるようになった。
他にも特定の単語に反応するときに正規表現を使えるようにもしました。

226 名前:nobodyさん mailto:sage [2009/10/27(火) 23:32:40 ID:???]
>>224
生きるのに疲れたのでbotになりたいんですけどどうーすれば良いですか?


227 名前:nobodyさん mailto:sage [2009/10/28(水) 00:02:18 ID:???]
>>224
おつかれさまです。
1つお伺いしたいのですが、バージョンアップをする場合は
tw.txt以外の全てのファイル(Servicesフォルダも)を
入れ替えればいいのでしょうか?



228 名前:nobodyさん mailto:sage [2009/10/28(水) 00:03:51 ID:???]
>>224
乙です、やろうとしてたことがかなり出来るようになってて嬉しい!

229 名前:nobodyさん mailto:sage [2009/10/28(水) 00:54:09 ID:???]
>>227
そうですそうです

230 名前:nobodyさん mailto:sage [2009/10/28(水) 13:07:25 ID:???]
正規表現面倒くさい…
単純に|で区切るやつにして欲しいです

231 名前:nobodyさん mailto:sage [2009/10/28(水) 13:53:35 ID:???]
え…?

232 名前:nobodyさん mailto:sage [2009/10/28(水) 14:06:33 ID:???]
>>230
|が正規表現…だよね?

233 名前:nobodyさん mailto:sage [2009/10/28(水) 15:50:24 ID:???]
phaさんの新しいやつの事でしょ

234 名前:nobodyさん mailto:sage [2009/10/28(水) 17:58:20 ID:???]
>>224=225
うへえ、どうりでヘッダ見てても分からないはずだーありがとうございました!

235 名前:nobodyさん mailto:sage [2009/10/28(水) 19:41:20 ID:???]
>>225
$body .= '&amp;';

$body .= '&';
に変えたということです。
2chって実体参照通るのね。

236 名前:nobodyさん mailto:sage [2009/10/28(水) 19:59:24 ID:???]
>>224のスクリプトをDLして弄ってます。
正規表現っていうのを初めて使うのですが

『おーい』『おーーーーーい』等の『ー』の数が決まっていない単語の
どちらにも対応させるにはどう書けばいいのでしょうか?

おー*い、おー+い、おー?い、おー(ー)?い ではスルーされて行き詰まってます…

237 名前:nobodyさん mailto:sage [2009/10/28(水) 20:37:29 ID:???]
>>236
「おー」でいいんじゃね



238 名前:nobodyさん mailto:sage [2009/10/28(水) 20:38:23 ID:???]
>>236
お(ー)+い

でどうかな

239 名前:236 mailto:sage [2009/10/28(水) 20:42:37 ID:???]
>>237
すみません、『えーーん』や『うーーん』にも応用したくて…
>>237さんの方法で、『えーーん』→『えー』と指定しまうと
『えーー!』等が引っかかってしまいます。

…ので、>>236の正規表現で煮詰まってます;

240 名前:236 mailto:sage [2009/10/28(水) 20:47:27 ID:???]
>>238
ありがとうございます。
『お(ー)+い』を試してきましたが、スルーされました…。


スクリプト毎に、使える正規表現というのは
限定されているものなのでしょうか?

241 名前:nobodyさん mailto:sage [2009/10/28(水) 20:50:14 ID:???]
>>240
いま自分でPHPで試してみたけど、
 お(ー)+い
でいけたよ。

242 名前:240 mailto:sage [2009/10/28(水) 20:53:40 ID:???]
>>241
マジですか…余計にわからなくなってきた。
御手数おかけしました。

243 名前:nobodyさん mailto:sage [2009/10/29(木) 04:23:33 ID:???]
>>230
>>233
対応してるよ

244 名前:nobodyさん mailto:sage [2009/10/29(木) 05:48:07 ID:???]
正規表現がまったく反応してくれなくて困ってます…
phaさんのサンプルのこん(に)?ち[はわ]すらスルーされる始末

正規表現使わなければ普通に動きます
どこに問題あるんでしょうか…

245 名前:nobodyさん mailto:sage [2009/10/29(木) 11:58:27 ID:???]
Webcronの「30sec・time-out」ってどういう意味なんだろ
有料だけどここ使ってる人いる?

246 名前:nobodyさん mailto:a [2009/10/29(木) 12:21:28 ID:???]
>>245

30秒でタイムアウトするって事だろ。
俺ここ使ってるけどたまにタイムアウトするよ。180秒にした方が無難なんだけど一回に? 0,0004はちょっとイタイ。

247 名前:nobodyさん mailto:sage [2009/10/29(木) 16:55:26 ID:???]
>>246
なにがタイムアウトしてそれがどう影響するのか
わからない程度の素人だけど180秒にしたほうが
いいとわかっただけでありがたい
一度試用してみるよーありがとう



248 名前:nobodyさん mailto:sage [2009/10/29(木) 20:29:41 ID:???]
>>244
自己解決しました。普通にver1.2つかってたよ、ごめんなさい。

正規表現難しいね
 聞(こえ|いて)[んる](の)??
に反応してくんないんだけど、どっか間違ってるかな


249 名前:nobodyさん mailto:sage [2009/10/30(金) 19:30:09 ID:???]
相手の発言の一部だけを引用ってできないの?
「」の中だけとか

250 名前:nobodyさん mailto:sage [2009/10/30(金) 19:44:57 ID:???]
できるよ

251 名前:nobodyさん mailto:sage [2009/10/30(金) 20:46:18 ID:???]
konchuuの開発者って誰なの、気になる

252 名前:nobodyさん mailto:sage [2009/10/31(土) 02:12:59 ID:???]
TLの特定の言葉に反応してリプライをするってやつ難しいな
ソースほぼ丸々コピーでやってるのにエラー出てお手上げ状態だよ…
ソース公開してる記事のコメント見るに同じような状況の人もいるっぽいけど
解決してなくてどうしようもねえ

253 名前:nobodyさん mailto:sage [2009/10/31(土) 02:15:45 ID:???]
難しいって自分でコード書くのが難しいんじゃなくて
コピーした他人の奴をぐぐって動くように編集するのが難しいのかよ
まぁそれも力になるさ

254 名前:nobodyさん mailto:sage [2009/10/31(土) 02:40:01 ID:???]
>>253
恥ずかしながらそういうことだ!
でもやってみたいから色々調べて勉強してみるよ

255 名前:nobodyさん mailto:sage [2009/11/01(日) 00:14:13 ID:???]
twitter検索使ったbot作ってるけど最近検索が止まってるみたい。
公式の検索使った方がいいのかなぁ…。

256 名前:nobodyさん mailto:sage [2009/11/01(日) 20:41:15 ID:???]
昆虫すげぇ、もうListsを駆使してる

257 名前:nobodyさん mailto:sage [2009/11/02(月) 14:39:36 ID:???]
phaさん、単純なやつでもいいのでマルコフ連鎖を…



258 名前:nobodyさん mailto:sage [2009/11/02(月) 22:50:28 ID:???]
最近BOTからBOTへのフォローがくるんだけど
無限ループに陥る可能性ある…よな?これ。
APIの回数制限とかあるけども。

259 名前:nobodyさん mailto:sage [2009/11/03(火) 01:01:47 ID:???]
>>258
キャラクター系botだとあるある。自分もそれが怖いのでおはようやおやすみのような日常会話系単語にリプライさせられないでいる。
リプライした相手を記録しておいて、投稿前に照合するくらいの対策しか思いつかない。(記録は一日一回クリアするってことで)

botとメッセージをやり取りしないbotなら気にしなくてもいいんだろうけど、自分が作ってるのがキャラ系botなんで、同じキャラbot同士での会話もさせたいんだ。
いろいろやってるうちに好きなだけcron回したくて自分専用のサーバ欲しくなるw 

260 名前:nobodyさん mailto:sage [2009/11/03(火) 02:51:05 ID:???]
無限ループはよく陥ってるbot見るけど
botからのpostは無視するようにすればいいんじゃないかなぁ
sourceがAPIとかなら無視させるとか botじゃなくてもAPIからの投稿だとスルーしちゃうけど
もしくはbotによくあるスクリーンネーム語尾が〜botなら無視させるとか… これも普通の人が〜botってスクリーンネームだとスルーしちゃうのが難点だな

261 名前:nobodyさん mailto:sage [2009/11/03(火) 05:40:38 ID:???]
時間別に違う言葉を返すのってできないかな
昼過ぎにおはようって言うと、「寝坊?」って返すみたいなの

262 名前:nobodyさん mailto:sage [2009/11/03(火) 08:19:52 ID:???]
>>261
PHPだったらdate("H")とかで現在の時間を取ってifとかswitchとかで場合分けだな

263 名前:nobodyさん mailto:sage [2009/11/03(火) 14:32:48 ID:???]
>sourceがAPIとかなら無視させる
これって可能?

264 名前:nobodyさん mailto:sage [2009/11/03(火) 16:11:13 ID:???]
>>263
可能

265 名前:sage [2009/11/04(水) 00:25:58 ID:oJ2uxGZI]
cron-jobでfehlerhaftって出るのは何でだ・・・
URLコピペで貼ってるから間違いないのに不完全なURLって出る。


時間あけて設定画面開いたら次は重すぎるって出ました。

ファイルが重いのは理解できるがステータス変わるの何でですか?

調べてみたけど分からなかったので分かる人いたら教えてください

266 名前:nobodyさん mailto:sage [2009/11/04(水) 01:01:25 ID:???]
>>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さん mailto:sage [2009/11/04(水) 01:02:46 ID:???]
if($plist = $mes['night']){
なにこれ?



268 名前:nobodyさん mailto:sage [2009/11/04(水) 01:08:25 ID:???]
>>267
case ($now_g > '16') && ($now_g < '20') :
$plist = $mes['night'];
swichで時間帯設定したんだけど、発言の部分に「その時間だったら」って内容つけるのに四苦八苦した結果がこれです。

もしかして全然違う?

269 名前:nobodyさん mailto:sage [2009/11/04(水) 01:09:07 ID:???]
ごめんなさい、投稿早まった。
上のはswichで設定した分です。

270 名前:nobodyさん mailto:sage [2009/11/04(水) 01:15:13 ID:???]
>>209
そういう感じにフォロワーが色々いじってパラメータ変動させられるbotは面白いかもね。
ただしいたずらで無茶苦茶機嫌悪くさせたり病気にもできそうなのと
何よりその手の育成システムはアイデアとプログラムが割りと手間だな。

271 名前:nobodyさん mailto:sage [2009/11/04(水) 01:36:06 ID:???]
>>268
意味がわかりません

272 名前:nobodyさん mailto:sage [2009/11/04(水) 01:44:35 ID:???]
>>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さん mailto:sage [2009/11/04(水) 02:58:30 ID:???]
やりたいことは
if($plist == $mes['night']){
なんじゃない?

274 名前:nobodyさん mailto:sage [2009/11/04(水) 03:59:33 ID:???]
>>273
ありがとうございます!正解は==なんですね…
早速=の数を直してみたんですが、やっぱり時間設定に反応してくれません。
if($plist == $mes['night']){はもちろん、if (($now_g == '3') or ($now_g == '4') ){ でも試してみたりしたのですが、完全にスルーです。

$now_g = date('G');も埋め込んであるんですが…なんで反応してくれないのかさっぱりです…

275 名前:nobodyさん mailto:sage [2009/11/04(水) 04:55:42 ID:???]
とりあえずどの段階で変数が想定外の値になってるか確認してみたら?

276 名前:274 mailto:sage [2009/11/04(水) 07:17:07 ID:???]
>>275
swichはどうやっても反応しないので、諦めていろいろ試行錯誤してたらやっと反応してくれた!!
if($plist == $mes['night']){ の代わりに if(($now_g >= '10') && ($now_g <= '17')){ を個別に指定してみたらできましたー!
結局反応しなかった理由はよくわかんないけど、<= じゃなくて < になってたのも原因のひとつみたたいでした。

アドバイスがなかったら絶対途中でめげてた。聞いてくれた方ありがとうございました!

277 名前:nobodyさん mailto:sage [2009/11/04(水) 07:54:05 ID:???]
botはシステム自体はそんな難しくはないけど
多様性とか面白さとかのアイデア方面がなかなかいいのが思いつかないな。



278 名前:nobodyさん mailto:sage [2009/11/06(金) 18:16:08 ID:???]
>>277
そうなんだよなあ。ヘタに@に対して定型文返してくるbotより、
単なるRSS垂れ流しの方がずっと有用だったりする現実。

279 名前:nobodyさん mailto:sage [2009/11/06(金) 22:29:14 ID:???]
銀さんのところのをコピペしてやってみてるんですが、
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さん mailto:sage [2009/11/07(土) 00:47:57 ID:???]
コメントアウトのつもりが先頭に/1つしかないとかじゃないの。
正規表現でエラー出るってことはそーゆーことじゃないの。

ていうかああしたとかこうしたとか素人が言うよりは
そのいじった行をそのままコピペしたほうがわかる。

281 名前:nobodyさん mailto:sage [2009/11/07(土) 05:04:43 ID:???]
>>279
ちゃんとコピペできていないか、実行側にちゃんと送信できていないに1票。

>何がおかしいのかわからないです
まず検索すれば分かると思うけど、Modifierってのは修飾子のこと。
↓マニュアルのURLにも出てくる。
ttp://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php
でもって「Unknown modifier '['」ってのは「知らない修飾子'['がある」と、
親切に教えてくれてるわけだ。教えられた側が理解できているかは別として。
つまりこの場合、PHPが「(構文に沿えば)修飾子があるはずの場所に、
修飾子でない文字があるのはおかしい」と指摘しているので、
まず最初にその付近を見直すのが定石。

282 名前:nobodyさん mailto:sage [2009/11/07(土) 16:49:41 ID:???]
なんも反応ないってことは大体あってたのかな。

283 名前:nobodyさん mailto:sage [2009/11/07(土) 16:50:06 ID:???]
サーバーがsafe_modeだとなんでダメなの?

284 名前:nobodyさん mailto:sage [2009/11/07(土) 18:37:38 ID:???]
279です。

>>280,281
ご指摘頂いた箇所を見てみたんですが、コメントアウトの//もあってたし
エラーの出てた行はいじってないしで??となっていたんですが
@PAGEのファイルの編集画面で見てみるとUTF-8で転送されてなかったみたいで
何ヵ所か文字化けしてしまっていたのが原因だった様です…すみません
その辺設定出来るエディタ使ってたのに何故という感じですが
(miで編集、Fetchで転送)
とりあえず、なんとかなりそうです
ありがとうございました!

規制中でケータイからなので読み辛かったら申し訳ないです

285 名前:nobodyさん mailto:sage [2009/11/08(日) 19:21:21 ID:???]
「○○って言って」ってリプライされた時に○○の部分だけ返すのってどうやるの
phaさんのスクリプト使って出来る?

286 名前:nobodyさん mailto:sage [2009/11/08(日) 22:28:42 ID:???]
>>285
reply_pattern.phpに

"○○って言って"=> array(
"○○"
),

でよくね?

287 名前:nobodyさん mailto:sage [2009/11/08(日) 23:02:46 ID:???]
いや、そういうことではなくて○○の部分は相手が言った言葉によって変えたいんだ
一部分だけ相手の発言を引用するというか



288 名前:nobodyさん mailto:sage [2009/11/08(日) 23:07:58 ID:???]
できるけど処理がややこしくなるから別物になっちまうな。


289 名前:nobodyさん mailto:sage [2009/11/08(日) 23:08:01 ID:???]
@aaaの発言:
@bot AAAって言って

@botの発言:
@aaa AAA

ってこと?

290 名前:nobodyさん mailto:sage [2009/11/08(日) 23:30:52 ID:???]
reply_pattern.phpに

"復唱"=> array(
"{echo}"
),

って入れといて、reply_random.php側で
reply_pattern.phpから返答文字列を取得してからtwitterに投稿するまでの間の処理にswitch〜case(綴り合ってる?)か何か仕込んで、
もし返答文が{echo}だったらという条件判断をさせて、
そこで相手からのリプライの「から」までの間を抜き出してその前後に「復唱します、(抜き出した言葉)ですね」みたいに体裁整えて@とかidとかくっつけて返信、になるかなー

ややこしいかもしれないけどできなくはないはず
携帯からなんでコレが限界

291 名前:nobodyさん mailto:sage [2009/11/08(日) 23:35:44 ID:???]
>>290
ごめん忘れてた
「○○」を復唱して ←こんな形式でリプしてもらうとして、ね
鍵括弧でくくってる事と復唱って言葉がポイントってことで

292 名前:nobodyさん mailto:sage [2009/11/08(日) 23:42:11 ID:???]
>>289
そうそう

>>290
なるほど…なんとなく理屈は分かった
問題は投稿するまでの処理か…

293 名前:nobodyさん mailto:sage [2009/11/09(月) 00:52:01 ID:???]
ある程度の早さで返事することになるとその頻度でTL取得することになるからAPI制限との勝負になるとこもネック

294 名前:nobodyさん mailto:sage [2009/11/09(月) 17:18:21 ID:???]
8bitさんの好感度スクリプトを見つけたんだがいまいち分からない。
調べてみても、使い方のヒントになるものは何も…
携帯からなのでURL貼れなくて申し訳ない。

295 名前:nobodyさん mailto:sage [2009/11/09(月) 17:25:06 ID:???]
何が分からないのか言ってくれないとニントモカントモ

296 名前:nobodyさん mailto:sage [2009/11/09(月) 18:29:28 ID:???]
>>294
なんでそこの作者さんがサポートをやめたのか書いてあるだろ。もう一回読んで来い。
phaさんとこ見てても思うけどマジで初心者多いな。
ほぼ全レスのphaさんすげえ。

297 名前:nobodyさん mailto:sage [2009/11/09(月) 19:43:14 ID:???]
>>296
サポやめたくなるのもわかるんだけど
キレてる事をblogに書くのはどうかとも思ったw



298 名前:nobodyさん mailto:sage [2009/11/09(月) 19:54:17 ID:???]
あそこのリプライから発言を引用するスクリプト、
ユーザIDとパスワード以外弄ってないのに動作しないんだけど
質問受け付けてないからどうにもならんかった

299 名前:nobodyさん mailto:sage [2009/11/09(月) 20:41:52 ID:???]
はじめて見たけど、中身かなり親切に書いてあるじゃん…

>>298
出たエラーでググったりすればなんとなく見えてくるんじゃないか?

300 名前:nobodyさん mailto:sage [2009/11/09(月) 20:48:26 ID:???]
>>298
それって
ttp://8bitnote.sblo.jp/article/32680372.html
で配布されてるnanoka.phpのことか?
ざっと読んでみたけどServices_Twitterも入れないと動かないよこれ

301 名前:nobodyさん mailto:sage [2009/11/09(月) 21:26:11 ID:???]
294ですが好感度スクリプトについては説明がないんですよ。
txtには何を入れたらいいのかとか…
試しにサーバーに上げてPHPの方に書いたキーワードをpostしてから、サーバーにアクセスしてみたんだけど空リプライが来るだけ。
サーバーにアクセスしなければ何も動きはないです。

302 名前:nobodyさん mailto:sage [2009/11/09(月) 22:20:34 ID:???]
大した量じゃないんだからコードくらい追えよ

303 名前:nobodyさん mailto:sage [2009/11/09(月) 22:32:19 ID:???]
>>300
入れてるよ
そのエントリで同じ質問してる人がいたけど結局解決できなかった

304 名前:nobodyさん mailto:sage [2009/11/09(月) 23:37:37 ID:???]
スレチかもしれないがWebcronって月額いくらくらいかかる?
フォロワー300で、最低でも5分毎に実行させたいんだが…

305 名前:nobodyさん mailto:sage [2009/11/10(火) 00:03:35 ID:???]
>>304
どうせ金払うならちょっといいレンタルサーバーでも借りた方が良くないか。
月500〜1000円代からでもcronやPHP5やMySQLが使えるところはあるわけだし。

とはいえサイト持ってないなら宝の持ち腐れだろうし、やっぱ人によるかも。
逆に言えばサイト運営してて、尚且つ何か高度なもん設置したいものがあるのなら、
ちょっといいサーバー借りた方がトータルで見ればいい気はする。

306 名前:nobodyさん mailto:sage [2009/11/10(火) 00:24:51 ID:???]
>>304
自宅に24時間起動&ネット接続させられるマシンがあるならそれでスクリプトを動かしてもいいかも
自分はcygwin+cron+w3mでbot動かしてる

307 名前:304 mailto:sage [2009/11/10(火) 00:56:46 ID:???]
アドバイスありがとう
まさにサイト持ってない持ち腐れする人種なんで、レンタルサーバーは悩んでたんだ
自宅PCも不安定だし、コーヒー代我慢してWebcronのお世話になることにするよ
月額が不安だが…



308 名前:nobodyさん mailto:sage [2009/11/10(火) 00:59:51 ID:???]
ソース読めないし全然わかんないって人はBOT作る前に最低限、
PHPスレなりその初心者質問スレなり見たほうがいいと思うんだ。
サポセンとは違うんだし。

309 名前:nobodyさん mailto:sage [2009/11/10(火) 01:07:13 ID:???]
>>301
わからんかったらtxtはそのまま上げろと書いてなかったっけ?
うちは普通に動いてるよ

310 名前:nobodyさん mailto:sage [2009/11/10(火) 03:05:08 ID:???]
309
ありがとう。
上げなおしたら普通に動きました。

311 名前:nobodyさん mailto:sage [2009/11/10(火) 14:50:36 ID:???]
>>304
お試し期間で様子見してみたら?
お試し中でも使用量出るし、一週間で消費したクレジット*4すれば大体の目安はつくと思う


312 名前:nobodyさん mailto:sage [2009/11/10(火) 17:45:46 ID:???]
>>304
5分に一回なら月に150円くらいだった記憶。確信は無いが。

313 名前:304 mailto:sage [2009/11/11(水) 20:56:33 ID:???]
ありがとう。お試し始めてみた
150ならサーバー借りるより全然お得だな

314 名前:nobodyさん mailto:sage [2009/11/11(水) 23:48:17 ID:???]
特定の語句を含む発言をRTするBOTのRTが、フォロワーのタイムラインに表示されなくなった・・・

315 名前:nobodyさん mailto:sage [2009/11/12(木) 07:18:55 ID:???]
>>313
同じ事気になってた。
こっちはお試し期間中に色々試す暇がなくてどうせ安いからとクレカで購入してみたが
消費量チェックする度にチマチマ増えてるんで何か焦るw
五分に一回でもフォロワ300人は怖いよね、リプライの量が。

cron-jobが使えたらな。
ファイル大きいとか失敗ミャハ☆とかばかりでまともに動いてくれないんだ。俺の日頃の行いが悪いんかな。

316 名前:nobodyさん mailto:sage [2009/11/14(土) 12:06:15 ID:???]
ばずったーから単語を持ってくるのってどうやんの?

317 名前:nobodyさん mailto:sage [2009/11/15(日) 07:57:14 ID:???]
スクレイピングしろ



318 名前:nobodyさん mailto:sage [2009/11/15(日) 09:02:34 ID:???]
ttp://www.sukechan.net/archives/62/
これってソース丸コピペしてIDとパスワード変えるだけじゃだめ?
あとできればキーワード全部じゃなくて1番目だけを取得してポストしたい

319 名前:nobodyさん mailto:sage [2009/11/15(日) 10:40:05 ID:???]
>>318
・HTTP_Clientが必要
・for文消して$iを固定で1にする

てか聞きたいならやってみて出たエラーくらい書きなさいな

320 名前:nobodyさん mailto:sage [2009/11/15(日) 20:17:39 ID:???]
phaさんのスクリプトを使っています。

reply_random.php+reply_random.phpを利用、で
誰かに@を貰い、反応する単語がある場合に限り
2分後にreply_random.phpから文章をランダムに返し…

さらに8分後(=計10分後)にreply_random.phpから文章を
ランダムに返す事ようにしたい(1回のpostに対して、時間差で2回replyさせる)、
のですが、ヒントを頂けないでしょうか?

やはりスクリプトと根本から弄らないと無理でしょうか?

321 名前:nobodyさん mailto:sage [2009/11/15(日) 22:01:01 ID:???]
a

322 名前:nobodyさん mailto:sage [2009/11/15(日) 22:01:53 ID:???]
>>320
PHPの書き方の問題なの?それともアルゴリズムの問題?

323 名前:nobodyさん mailto:sage [2009/11/15(日) 23:56:13 ID:???]
>>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さん mailto:sage [2009/11/15(日) 23:57:19 ID:???]
続き

--------
そんで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さん mailto:sage [2009/11/15(日) 23:57:21 ID:???]
2個モジュールをおいて各の自動実行間隔を2分と8分にすればいいだけ

326 名前:nobodyさん mailto:sage [2009/11/16(月) 11:34:55 ID:???]
もうちょっと汎用的に作ろうよ

327 名前:320 mailto:sage [2009/11/16(月) 18:31:33 ID:???]
>>323さん、>>325さん、ありがとうございます。
自分のやりたい事は>>325の方法で出来そうなので、
試してみたいと思います。有り難うございました!



328 名前:nobodyさん mailto:sage [2009/11/16(月) 19:25:29 ID:???]
>>319
とりあえずHTTP_ClientっていうのをDLしてServices_Twitterと同じ要領でbotのサーバーに入れてみた
で、>>318をコピペして動かそうとしたがエラー出ないしpostもされなかった

329 名前:nobodyさん mailto:sage [2009/11/16(月) 20:22:18 ID:???]
エラー出せ

330 名前:nobodyさん mailto:sage [2009/11/16(月) 21:00:56 ID:???]
>>329
<丶`Д´>呼んだニカ?

331 名前:nobodyさん mailto:sage [2009/11/17(火) 10:06:08 ID:???]
いつもいつもエラーが出るって言う初心者なんでそのエラーメッセ書かないかな。

332 名前:nobodyさん mailto:sage [2009/11/17(火) 10:24:17 ID:???]
自分がわからない文章に意味があるとは思えないからだろうねえ

333 名前:nobodyさん mailto:sage [2009/11/17(火) 17:07:00 ID:???]
半自動フォローでbotがフォロー返す時に「フォローしました」のメッセージをつけたいんですが、
どう書き変えたらいいんでしょうか?

ソースはこちらを使わせて頂こうと思っています
tp://dream-aquarium.net/twitter/sample/source.php?twetterFollow.php

よろしくお願いします

334 名前:nobodyさん mailto:sage [2009/11/17(火) 19:50:15 ID:???]
>>333
apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0update

335 名前:nobodyさん mailto:sage [2009/11/19(木) 21:13:08 ID:???]
Postごとにアイコンを変えるってのをしたいんだけどどうすればいい?
例えば喜のPostのときは喜んだアイコン、怒のPostのときは怒ったアイコンって感じで

336 名前:nobodyさん mailto:sage [2009/11/19(木) 21:37:00 ID:???]
Twitterにそんな機能あんの?
変えるのはやってできないことはないと思うけど、それだと喜のあとに怒のpostしたら結局怒アイコンになるんじゃ

337 名前:nobodyさん mailto:sage [2009/11/19(木) 21:56:10 ID:???]
>>336
仕様書見る限りupdate_profile_image使えばいいっぽいんだけどどうすればいいのかわからなくて
喜怒哀楽は例であって作りたいのはある作品のキャラごったにbotを作りたいんだ
その台詞を言ったキャラのアイコンでPostやリプライを送る。どんなキャラが出てくるのかはランダムで



338 名前:nobodyさん mailto:sage [2009/11/19(木) 22:07:55 ID:???]
いやだから最後に送ったアイコンが全ての発言に付加されるのでは?

339 名前:nobodyさん mailto:sage [2009/11/19(木) 22:13:57 ID:???]
ああ、過去の発言も全部その瞬間にアイコンが変わっちゃうんだな
Post間隔長いのならわざわざ過去の見ないだろうがリプライとかは無理か

340 名前:nobodyさん mailto:sage [2009/11/19(木) 23:54:38 ID:???]
発言ごとにアイコンを保持はできんから>>336だし
クライアントによってはアイコンをキャッシュするから変えてもすぐには反映されんかもしれん。

341 名前:nobodyさん mailto:sage [2009/11/20(金) 15:58:52 ID:???]
こないだ携帯の白いお父さんが毎回アイコン変えてたけど
同じキャラがキョロキョロするとかならかわいいと思った

342 名前:nobodyさん mailto:sage [2009/11/20(金) 23:48:02 ID:???]
>>336
喜怒哀楽の感情ごとにアカウントとってリストで読ませる

343 名前:nobodyさん mailto:sage [2009/11/21(土) 00:07:11 ID:???]
これをやってみようと思うんだけどcURLってのがわかんね
ttp://d.hatena.ne.jp/bardothodol/20090801/p1

344 名前:nobodyさん mailto:sage [2009/11/21(土) 00:08:06 ID:???]
php勉強しれ。

345 名前:nobodyさん mailto:sage [2009/11/23(月) 20:10:45 ID:???]
OAuth認証(参考:ttp://wolf.silk.to/labo/oauth.html)でbot動かしてる人いる?
in_reply_to_status_idつけてpostするようにしても、付与されないんだけど・・・

346 名前:nobodyさん [2009/11/23(月) 22:22:45 ID:???]
phaさんのプログラム使わせてもらってるんだけど、
ランダムリプライと、指定した単語にリプライの両方使ってて、
片方のBOTは反応単語以外のリプライを受け取ると
ちゃんとランダムリプライしてくれるんだが、
片方は反応単語以外のリプライを受け取ると
必ず空リプライしてしまうんだがなんでだろう?

ちなみに、おかしいと思って、きちんと動作する方の
プログラムまるまるコピペしてユーザー名書き換えて
アップロードしてみたり、Services等その他諸々の
フォルダも全部アップロードし直したりしたけどだめだった…


347 名前:nobodyさん mailto:sage [2009/11/23(月) 22:28:39 ID:???]
何を言っているのか分からない



348 名前:346 [2009/11/23(月) 22:41:32 ID:???]
ごめん、つまり空リプライの原因は何なのかって事が聞きたかった。

今自分で読み返してもなに言ってるか分からなかった

349 名前:nobodyさん mailto:sage [2009/11/23(月) 22:50:38 ID:???]
変数の中身でも出力させてみたら?

350 名前:nobodyさん mailto:sage [2009/11/24(火) 01:09:13 ID:???]
>>345
そっちがどういう風に送ってるのか知らんけど
先頭に@名前 ついてないと無効って仕様はあるみたいだが。


351 名前:nobodyさん mailto:sage [2009/11/24(火) 04:54:49 ID:???]
>>348
自分のフォロワーに同じことで悩んでる人がいたなw
その人もbotを複数作ってて、ある一つのbotが空リプライするって、同じこと呟いてたけど、まさか…?w

それはともかく、自分のbotも反応ワード以外のリプライを貰うと空のリプライしてたんだけど、textのデータを弄ったら直ったよ。
サーバにアップしてあるtextのファイルがあるでしょ?
どうやらphaさんのは、反応ワード以外のリプライを貰うと、そのtextファイルに書いてあることをリプライするプログラムらしいので、そのtextファイルに、分からなかった場合のセリフを書き込めば良いってわけ。
そうすれば空のリプライしなくなると思う。

352 名前:345 mailto:sage [2009/11/24(火) 09:40:53 ID:???]
>>350
「@名前 」つけて名前とIDが違うと付与されない的なのは把握してるつもりなんだけどね、なんかうまくいかなくて・・・
やり方が間違ってるのかなぁ
ちなみにpost部分はこんな感じにしてます

$req = $to->OAuthRequest("https://twitter.com/statuses/update.xml",array("status"=>$aaa, "in_reply_to_status_id"=>$bbb), "POST");
$aaaは「@名前 返信内容」
$bbbはステータスID

俺恥ずかしいこと聞いてそうだな・・・

353 名前:nobodyさん mailto:sage [2009/11/24(火) 12:25:40 ID:???]
>>348
tw.txtの中身が空であるか、改行して空白の行がありませんか?
またサーバーの方で確認して文字コードはUTF-8、改行コードはLFになっていますか?

354 名前:nobodyさん mailto:sage [2009/11/24(火) 21:18:07 ID:???]
BOT作ってどうすんの?
作る価値ねーしwwwwwwwwwwwww

355 名前:nobodyさん mailto:sage [2009/11/25(水) 02:02:43 ID:???]
>>354
そう思うんならそうなんだろう。
お前ん中ではな。

AA略

356 名前:nobodyさん [2009/11/25(水) 03:17:51 ID:6oiYyRxa]
cron-job.orgで「cronファイルが大きい」って言われた。
ググっても解決策ゼロ。
誰か助けてください。。。

357 名前:nobodyさん mailto:sage [2009/11/25(水) 03:21:26 ID:???]
cronファイルを小さくしろ



358 名前:nobodyさん [2009/11/25(水) 03:27:51 ID:6oiYyRxa]
>>357
どうやって?
もう削るとこないです・・・

359 名前:nobodyさん mailto:sage [2009/11/25(水) 03:28:38 ID:???]
バックスペースキー

360 名前:nobodyさん [2009/11/25(水) 03:31:21 ID:6oiYyRxa]
>>359
それってどういう意味ですか?
もう消す場所ないです;;;

361 名前:nobodyさん [2009/11/25(水) 03:35:18 ID:6oiYyRxa]
こんどはURLが違うって言われた・・・あってるのに…

362 名前:nobodyさん mailto:sage [2009/11/25(水) 08:01:11 ID:???]
GoogleAppEngineでcron動かしてる人いたら教えて

2分間隔でリプライ返すbot
動かしてるんだけど、
cron-job不安定だったからGAEに移行。
java使ってGAEでcron(2分おきに設定)
動かすまではうまくいったんだが、
プロジェクトをデプロイして
しばらくたつとリプライを拾わなくなる。
デプロイ直後は普通に拾うんだが…
AppEngine経由でPHPのページにアクセスすると
直前にリプライ飛ばしてても
「2分以内の@はありません」ってでる。
直接アクセスするかcronjob経由でPHP叩けば、
ちゃんとリプライ拾うんだけど…。

バージョン変えてデプロイし直してもうまくいかない。
何がおかしいんだろうか…

363 名前:nobodyさん mailto:sage [2009/11/25(水) 08:08:35 ID:???]
もうちょっと要点をまとめてくれ。

364 名前:362 mailto:sage [2009/11/25(水) 08:26:52 ID:???]
わかりづらくてすまん。
botにリプライ飛ばしたとき

・直接PHPページにアクセスするとリプライ拾える
・GAE経由だとリプライ拾えない。(デプロイ直後は拾えるがそのうちダメになる)
・GAEのcronjobにはエラーなし
ってことなんだ…

365 名前:nobodyさん [2009/11/25(水) 14:21:04 ID:w36IBMdL]
これ動かなくない?ただコピペしただけじゃ駄目なの?

d.hatena.ne.jp/rdcs/20090619/p1

「PHPでtwitterに投稿する」の時点で躓いた。

366 名前:nobodyさん mailto:sage [2009/11/25(水) 14:22:07 ID:???]
エラーメッセージくらい見れよ。はぁ・・・。

367 名前:nobodyさん mailto:sage [2009/11/25(水) 14:22:47 ID:???]
大方全角スペースが入ってるとかだろ



368 名前:nobodyさん [2009/11/25(水) 14:24:12 ID:w36IBMdL]
どうやって見るの?

369 名前:nobodyさん mailto:sage [2009/11/25(水) 14:35:02 ID:???]
エラーの見方も分からんでプログラムやってんの?

370 名前:nobodyさん mailto:sage [2009/11/25(水) 14:39:11 ID:???]
まずはそれを設定したhttpdのエラーログ見ろよ

371 名前:nobodyさん mailto:sage [2009/11/25(水) 21:34:37 ID:???]
cron-job.org使ってつまずいてる人が多いけど、cron-job.orgはマトモに使えるレベルの安定性じゃないと思う。
確かに無料だけどcron-job.orgの設定で毎日毎日苦労してるんなら
月100円くらい出してwebcron.orgを使うことを個人的にはお勧めしたい。動作は安定してるよ。

372 名前:nobodyさん mailto:sage [2009/11/26(木) 07:22:56 ID:???]
クレカの審査落ちるから使えないんだよ!!

373 名前:nobodyさん mailto:sage [2009/11/26(木) 10:32:51 ID:???]
まず働けよ

374 名前:nobodyさん mailto:sage [2009/11/26(木) 12:12:55 ID:???]
webcronが新しくなったとたん全然動かなくなったんだけど
同じ症状の人います?

375 名前:nobodyさん mailto:sage [2009/11/27(金) 19:39:09 ID:???]
>>356
ファイル大きいって言われてもちゃんと動くぞ。
動かないならソースがおかしいかも。エラーは出なくてもどっかしら
汚いソースの部分があるんじゃないかと。

それより勝手にNeinになる仕様どうにかしてくれ。

376 名前:nobodyさん [2009/11/28(土) 07:10:32 ID: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さん mailto:sage [2009/11/28(土) 08:45:14 ID:???]
全部確認してくださいじゃなくて具体的に分からないとこを聞け
正規表現を特に聞きたいんでしょ?



378 名前:nobodyさん mailto:sage [2009/11/28(土) 09:21:58 ID:???]
//メッセージ用の変数を宣言
というか初期化だな。

//$patternの中に"@?@@"が有ったら"?@"に変換??
なんで@なんて使ってるのか知らんけど左右の@は区切りのはず。
大抵/@/や#@#あたりじゃないんかな。だから@を@に置き換えてる。
他の部分知らんがなんでだろ。

379 名前:nobodyさん mailto:sage [2009/11/28(土) 19:52:45 ID:???]
phaさんのスクリプトの1.41使ってるんですが

リプライの無限ループを制御する
$replyLoopLimit = 3; //何回連続でreplyを返されるとループを中断するかを設定します。

が、効いてないような?
サーバーやPHPのバージョンとかに関係あったりするんでしょうか?

380 名前:nobodyさん [2009/11/28(土) 20:18:57 ID:tYVMHZ37]
>376
なんか急にreplay_random.phpが動かなくなったよね…
サーバー入れ替えしただけ(中身同じ)なのに、リプ返さなくなった。
ファイルマネージャからアクセスすると「送られたメッセージはない」って出るのに、Twitterから送ると真っ白。
自分だけかと思ったけれど何人もいるらしいから、クライアントとか関わるのかな。

>379
自分もそう。4で入れてるのに1回しか返さないわ…

381 名前:nobodyさん mailto:sage [2009/11/28(土) 21:06:37 ID:???]
ここのスレの人はみんなphaさんとこの使ってんの?

382 名前:nobodyさん mailto:sage [2009/11/28(土) 21:12:58 ID:???]
え?

383 名前:nobodyさん mailto:sage [2009/11/29(日) 00:24:12 ID:???]
ランダムポスト・@もらったあとのランダム&パターンリプライ→phaさんのとこの
TL上の単語に反応させてリプライ→プログラミングを始める10の理由からコピペ
↑のに加えてどのポストに反応したかの紐付け→銀さんのBOTのin_reply_to_status_idの記事から

今のとここんな感じ

384 名前:nobodyさん mailto:sage [2009/11/29(日) 01:37:43 ID:???]
>>381
私はあそこのは使ってない。
確かにphaさんのはカスタマイズしやすくて良いんだけど、自分は「プログラミングを始める〜」のとこで公開されてるソースを改造して使ってる。
TLに反応するプログラムも、リプライも定時発言のも全てそこので事足りる気がする。

385 名前:nobodyさん mailto:sage [2009/11/29(日) 02:26:40 ID:???]
一からコード書いてる俺は異端なのか?
全部自分で書いた方が楽しいじゃん

まぁServices_Twitterは使わせてもらってるがなー

386 名前:nobodyさん mailto:sage [2009/11/29(日) 04:49:52 ID:???]
自分はまだ始めたばっかりだからメインでphaさんの使わせてもらってるよ
どういう流れなのかコメントがわかりやすく付けられてるし

サブで時間帯別のと好感度のものを組み合わせてるが
そっちはどこ改造したらいいのかもまだわからんw

387 名前:nobodyさん mailto:l [2009/11/29(日) 14:37:06 ID:???]
>>274 の、時間別に返事が違うっていうソースを入れたいんですけど、
自分は今phaさんの配布しているリプライソースを使っています。
phaさんの配布ソースのどの部分に入れたらいいでしょうか!
リプライパターンphpとも組み合わせたい。

//リプライパターンと照合する
if($useReplyPattern === TRUE){
require_once($replyPatternFile); 〜(略)

の前?それとも後?全然場所が違いますか。
それとも↑のソースも色々変えないと出来ないですか?
プログラミングも何もかも初心者なので色々と試したのですがうまくいきません。
改変箇所等教えていただきたいです!
参考にしたのは
ttp://d.hatena.ne.jp/ouixxx/20091006
の「時間帯によって反応を変える」って記事

>>362
GAEはサーバーと距離が短くなくちゃタイムアウトしてしまうらしい?
オススメは@pages。1分間隔でまわせるみたいです。
自分はまだ使ってませんがいずれ入れたい!



388 名前:nobodyさん mailto:sage [2009/11/29(日) 14:41:19 ID:???]
>>387
PHPの書き方学ぶことをオススメする

389 名前:nobodyさん mailto:sage [2009/11/29(日) 20:59:32 ID:???]
有料でもいいけど一番安定してBOTが動く鯖ってどこだろう?

390 名前:nobodyさん mailto:sage [2009/11/29(日) 21:51:04 ID:???]
>>387
どこに入れればいいかじゃなくて、入れて動かしてみて、うまくいかなかったときに聞いたほうが
答えをもらえる確率は上がると思うよ
ここはphaさんソースの改造方法について教える場所ではないからね

391 名前:nobodyさん mailto:sage [2009/11/29(日) 23:21:39 ID:???]
>>381
自作でちょびちょびいじりながらやってる。
ていうかここってBOT製作支援スレであって、配布BOT利用支援スレじゃないと思うのよね。
まあわかる範囲では質問にも答えるけど。
しかしなるべくメンテフリーで面白いBOTってのはなかなかうまいこといかんね。

392 名前:nobodyさん mailto:sage [2009/11/30(月) 07:43:42 ID:???]
botが全て沈黙しているのは自分だけでいいよ…

昨日まではちゃんと動いてたのにいきなり無言になりおった

393 名前:nobodyさん mailto:sage [2009/11/30(月) 21:09:26 ID:???]
>>392
サーバーの仕様が変わったとかcronファイルが壊れた…とか?

394 名前:392 mailto:sage [2009/11/30(月) 21:46:49 ID:???]
>>393
ありがとう。
とりあえずphaさんの使用してて、ファイル全入れ替え+別鯖(さくらから@pages)に移動して実行してるのに、同じ状況。
ほんとにいきなりリプライしなくなったので原因がさっぱりわからない。
もし同じ症状のひとがいたらと思ったけれど、いないのかな?

395 名前:nobodyさん mailto:sage [2009/11/30(月) 22:10:29 ID:???]
>>394
API規制じゃないの

396 名前:nobodyさん mailto:sage [2009/12/01(火) 00:22:49 ID:???]
API規制ってアカウントごと?それともIP?

397 名前:nobodyさん mailto:sage [2009/12/01(火) 00:40:46 ID:???]
@pagesは反応にぶいよ
cronが動いててもすぐ接続がタイムアウトしちゃうらしい
さくらのBOTに比べて格段に反応が鈍い



398 名前:nobodyさん mailto:sage [2009/12/02(水) 13:36:20 ID:???]
無料だからなぁ文句はいえんだろ

399 名前:nobodyさん mailto:sage [2009/12/03(木) 09:37:10 ID:???]
cron-job.orgが不安定すぎるのでGoogleのAppEngine試してる
大体は安定して叩いてくれてるけど、
実行時間が毎日1分〜2分ずつくらい遅れてきてるのが気になる

400 名前:nobodyさん mailto:sage [2009/12/03(木) 12:35:16 ID:???]
プログラム自体を変えたら、cron-jobでも全然気にならなくなったなぁ。
cronが度々アクセスに失敗しても、貰ったリプライには全レスするし、もうこれでいいやってなってる。

401 名前:nobodyさん mailto:sage [2009/12/03(木) 18:06:44 ID:???]
>>400
プログラムは自作?

402 名前:nobodyさん mailto:sage [2009/12/04(金) 02:13:13 ID:???]
自分もAppEngine試してるけど半日で止まるわー
8つ回してるけど1つだけ何度上げても止まる
鯖はさくらで中身全部同じなのにわけわからん…
GAE使ってる人はJAVAとPythonどっちでやってる?

403 名前:399 mailto:sage [2009/12/04(金) 11:17:32 ID:???]
>>402
遅れはするが止まるまではいかないぞ?
実行自体はほぼ安定してるし…ちなみにJAVA

404 名前:nobodyさん mailto:sage [2009/12/04(金) 12:39:33 ID:???]
cron-job.orgを使ってるんだが、ドイツの日付が変わった瞬間から設定が勝手にNeinになる
このスレ見てると同じような不具合多いみたいだし、
webcronとやらに移ったほうがよさそうだね
ただ、自分のクレジットカード作れる年じゃないから
またカーチャンに個人情報洩れるんじゃないのって渋られそうだw

405 名前:nobodyさん mailto:sage [2009/12/04(金) 12:58:49 ID:???]
ドイツの日付が今日になったあたりからcron-job.orgに繋がらなくなった(DNSエラー)んだけど…ドメインの期限切れか何かかな。

406 名前:nobodyさん mailto:sage [2009/12/04(金) 13:09:03 ID:???]
俺もGoogleAppEngin使ってるけど安定してるよ
止まることも遅れることも、今のところない
ちなみにPHP

407 名前:nobodyさん mailto:sage [2009/12/04(金) 14:03:06 ID:???]
Googleのって、Macだと無理っぽい?
botのためにブートでWindowsを立ち上げるのもなんだかな…。



408 名前:nobodyさん mailto:sage [2009/12/04(金) 14:47:20 ID:???]
GoogleAppEngine bot twitter phpでぐぐったら
一から十までcronの動かし方を説明してくれてるページをみつけて歓喜したんだが
肝心のソース説明画像がキャッシュに残っていなかった…orz

409 名前:nobodyさん mailto:sage [2009/12/04(金) 15:05:25 ID:???]
さくら使ってる人ってcronもさくらで動かしてる?
安定させたくて@pagesからさくらに移ったんだけど負荷がかかるからってcron止められてしまった
結局cron-job.org使ってる

410 名前:nobodyさん mailto:sage [2009/12/04(金) 16:23:12 ID:???]
>>408
画像じゃなくてテキストで説明書いてくれてるところがあるだろ
もうちっとググれ

411 名前:nobodyさん mailto:sage [2009/12/04(金) 17:36:16 ID:???]
GAEに関してはモノクロ二階調ってところがわかりやすかったらしいが今は見れなくなってるな
どうして消したんだろう

412 名前:nobodyさん mailto:sage [2009/12/04(金) 17:50:57 ID:???]
ホントだ、記事消えてるね…
たしか消えた記事内で参考にしたと書かれていたブログ記事の方は
まだ残っているから、そっちを探せば出来るとは思うけど

413 名前:402 mailto:sage [2009/12/04(金) 20:39:49 ID:???]
>402だが
今日見直したら止まってると思われた奴はまた動いていた
GAEはタイムアウトのタイミングがシビアなのかもしれん…
>411のサイト見て作ったのでJAVAで動かしてたが
何か問題でもあったのかな

414 名前:nobodyさん mailto:sage [2009/12/04(金) 22:54:07 ID:???]
噂の参考サイトがなくなってGAEの動かし方が分からないぞ

>>413
GAEって30秒でタイムアウトじゃなかったっけ、それにひっかかってるとか?

415 名前:nobodyさん mailto:sage [2009/12/04(金) 23:09:13 ID:???]
質問厨に疲弊して消したらしいぞ。>モノクロ二階調

今日の記事に書いてあった。

416 名前:nobodyさん mailto:sage [2009/12/04(金) 23:09:32 ID:???]
モノクロ2階調さんとこが記事消したのは「サポートしないよ」って書いてるのに
botのDMとコメント欄に問い合わせ多かったからだってさ。
再掲載する予定も今のところ無いみたいね

>先日までこちらのブログでGoogleAppEngineのcronjobを使ったbot管理の方法を
>記事にしていましたが、私自身のtwitterアカウントが非公開の為
>当方が管理しているbotにDMを送ってこられる方、サポートをしていないと
>申し上げているにも関わらずコメント(承認制にしてありました)でのお問い合わせが多く

>なんかもうバッタンしてしまいました…
>仕事で忙しいせいもあるので、自分に余裕がないのが悪いとは思いますが…

>現状記事の再掲載は未定です。良い解説記事が見つかるのを祈ってます。
>その際はそちらを管理されている方の負担にならないよう、
>「人事を尽くす」努力をお願いします。(私が言う事ではありませんが…)

417 名前:nobodyさん mailto:sage [2009/12/04(金) 23:17:09 ID:???]
質問厨はどこにいっても害しか産まないのか
地道にやるしかないかなぁ
>>415-416情報ありがとう



418 名前:nobodyさん mailto:sage [2009/12/04(金) 23:17:31 ID:???]
cron-job.orgが勝手にneinになるのってやっぱ向こうが日付変わる頃だよね…
ところで勝手にneinになるのとjaのままのとがあるんだけど何か条件あるのかな

今9個job設定しててそのうちの2個はいつもjaのままなんだけど
post内容が違うだけでほぼ同じソースなんだよね…
ファイルサイズもそんなに重くない…というかneinになっちゃうやつのほうが軽い奴もある
あと勝手にneinなるのはfehlerhaftも出やすいみたい…

419 名前:nobodyさん mailto:sage [2009/12/05(土) 00:08:03 ID:???]
botの作り方系のブログは、どこも
「○○行目でエラーが出るんですけどどこがおかしいのか分かりません」
↑どんなエラーとも書いていない。結局全角スペースが入っていたとかそういう問題
「○○を書き換えて、って書いてありますが場所がわかりません」
↑その記述は一箇所しかないから探せば見つかる

とかそういう質問山盛りだからな…モノクロ二階調さんのところは本当にお疲れ様です、としか…

420 名前:nobodyさん mailto:sage [2009/12/05(土) 00:27:12 ID:???]
ツリー型の質問掲示板のタイトルに「教えてください」ってのが10年前からあったしな。
あとよくわかってないのに自分の解釈をやたら書く質問者も。
相手はエスパーじゃないんだから教えて欲しいことを伝える努力は必要だわな。

421 名前:nobodyさん mailto:sage [2009/12/05(土) 00:38:08 ID:???]
とりあえずGAEでcron動かすのやってみよう。。。

>>418
基準はよくわからんが、やっぱり無料だし文句は言えないところか。
ただ、neinになるとかの条件はヒントだけでも載せてくれると助かるね

>>419-420
質問するにも初心者(笑)なのが多いのか。
ググり方も分からないやつなのかな
てかたまに偉そうなやついるよね、上から目線の。

422 名前:nobodyさん mailto:sage [2009/12/05(土) 00:47:40 ID:???]
教わらないとわからないって人はそれなりの割合いる。
エラーメッセージでぐぐれば問題を絞れるはずだが、
ぐーぐる先生の資料集めとしての使い方が思いつかない人はそれなりの数いる。
WikiPediaみたいにまとまってたり聞いたらすぐ答えてくれるようなとこしか行かないのだろうし。

423 名前:nobodyさん mailto:sage [2009/12/05(土) 21:07:44 ID:???]
>>416
しかしbotの方にDM送るなんてひどいな
なに考えてんだ
自分もbot作ろうとしてるのにそのbotに関係ないメール送られて気持ちとか考えないのかね

424 名前:nobodyさん mailto:sage [2009/12/05(土) 21:49:15 ID:???]
自分も最初は初心者だったが…
ある程度は自分で調べないと何かあった時に対処できんから恐いわ
phaさんのしたらばのは初心者(笑)ホイホイにならないことを祈る

425 名前:nobodyさん mailto:sage [2009/12/05(土) 22:45:17 ID:???]
>>424
それマジ心配してる。でも今もう既にそうなりつつあるような…。
phaさんのプログラム以外の質問とか、PHPと全然関係ない質問多い気がする。
あまりに初心者すぎな質問であふれかえってphaさんが
疲れてしまってサポート放棄されたり、
最悪配布を中止されたりしてしまうんじゃないかと不安だ……。

426 名前:nobodyさん mailto:sage [2009/12/06(日) 01:00:27 ID:???]
d.hatena.ne.jp/genhou/20090201/1233499182
↑ここを参考にしてbotを作ってみたのですが、エラーが出て上手くいきません。

参考にして書いた(と言うかほぼ全てコピペです)のが下記のphpです。
opmet.s332.xrea.com/twitter_bot.html
(この内容を twitter_bot.php に保存して、下記のサーバにアップ)
Apache 1.3.37
PHP 5.2.5

このPHPを実行したところ、下記のエラーが出ます。
Warning: simplexml_load_file(pcod.no-ip.org/yats/search?query=****&rss) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.1 500 INTERNAL SERVER ERROR in /xxxx/twitter_bot.php on line 22
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "pcod.no-ip.org/yats/search?query=****&rss" in /xxxx/twitter_bot.php on line 22

このスレも読みましたが、「調べりゃわかる」という事しか書いておらず、
色々ググってみたのですが、解決方法が見つけられませんでした。

どのように修正すれば解決するでしょうか?

427 名前:nobodyさん mailto:sage [2009/12/06(日) 01:07:16 ID:???]
external entityのロードに失敗してる



428 名前:nobodyさん mailto:sage [2009/12/06(日) 01:54:58 ID:???]
>>427
そうですね、failed to load external entity とありますからね。
これは、どのように修正すれば解決するでしょうか?

429 名前:nobodyさん mailto:sage [2009/12/06(日) 02:05:31 ID:???]
22行目の処理でなんか失敗してるんでしょ?
サイトから情報引っ張ってくるんだったら、サイトの読み込みに失敗したとか、searchの条件に合わないとか
そんな感じなんじゃ

430 名前:nobodyさん mailto:sage [2009/12/06(日) 02:13:57 ID:???]
>>429
では、例えば検索語を "hogehoge" にするとします。

pcod.no-ip.org/yats/search?query=hogehoge&rss

これをRSSリーダーで取得すると、xmlファイルが正常に取得できています。
つまり、サイトからは読み込みができているわけです。

これが上記のPHPになると必ずエラーが出ます。この点が何故かわからないのです。
xmlファイル自体は正常に取得できていますので、PHPの記述に何らかの問題が
あるのだろう、と推測しているのですが…

くどくて申し訳ありません。

431 名前:nobodyさん mailto:sage [2009/12/06(日) 02:27:44 ID:???]
ぐぐれよ

432 名前:nobodyさん mailto:sage [2009/12/06(日) 03:13:19 ID:???]
googleのcronがうまく動かない\(^o^)/
某サイト様のをまんまコピペしたんですけど、jobをみると404エラーになるんです

<cronentries>
<cron>
<url>/crontest</url>
<description>crontest the run every 2 minutes</description>
<schedule>every 2 minutes</schedule>
<timezone>Asia/Tokyo</timezone>
</cron>
</cronentries>
のurlエリアはphpのアドレスではないんですよね?

433 名前:nobodyさん mailto:sage [2009/12/06(日) 04:51:05 ID:???]
>>432
お前さんがGAEで作った領域のアドレス入れるべし

434 名前:nobodyさん mailto:sage [2009/12/06(日) 09:26:28 ID:???]
>>431
ぐぐってわからなかったのでここに書きました。

435 名前:nobodyさん mailto:sage [2009/12/06(日) 11:25:19 ID:???]
設定ファイルから反応する語句リストを読み込んで正規表現でマッチングさせて指定した関数を呼び出すか対応するセリフリストを呼び出してランダムに一つ発言させるコードならさっき出来上がった(バグ取りなう)けど、必要なら公開しても良いよ。@PHP

436 名前:nobodyさん mailto:sage [2009/12/06(日) 11:40:41 ID:???]
>>435
よろしくお願いします!

437 名前:nobodyさん mailto:sage [2009/12/06(日) 11:44:11 ID:???]
>>430
22行目だけ動かしてみたんだけど、うちの環境でも同じエラーになった
なんだろうなぁ

>>435
そういうときは「必要じゃないかもしれないけどうpする」のが2ちゃんのしきたりだろ
しきたり守れよ



438 名前:nobodyさん mailto:sage [2009/12/06(日) 12:58:19 ID:???]
>>437
ちょっと別の検索サービスを試してみました。

$xml = simplexml_load_file('twiple.jp/status/search.atom?s=1&q='.$search_word.'&lang=ja');

これで例のエラーは出なくなりました。>>429 さんの回答で正解のようです。

が、今度は何のエラーも表示されないのですが、ちゃんと動いているわけでも
ないようなのです。まだ他におかしいところがあるのか…

$followed と $now_time が定義されていないので、

$followed = array();
$now_time = time();

を定義してみましたが、状況は変わらず… 的外れだったようです。

439 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg [2009/12/06(日) 13:17:05 ID:I4htWoWi]
>>437
ご指摘ありがとうございます。
申し訳ないのですが、まだ公開できるほどバグ取りが進んでいません。
今日中には公開できるようにしますのでしばしお待ちください。
セリフリストの文法ですが、
@.*バルス!.*=バルス
とした場合は正規表現で.*バルス!.*に反応しセリフファイル「バルス」を読み込みランダム一行をリプライします。
~.*爆発しろ=bakuhatsu
の場合は関数「bakuhatsu」を呼び出し発言を第一引数とします。
関数は個別にプラグインファイルで対応しますので根幹のシステムへの変更は行われません。
=が入る発言に対してバグがあるので=が入る発言への対応を検討中です。
それだけですが現在公開できるように早急にバグ取り、公開用の(既存の)設定クリーン中です。本当に申し訳御座いません。
トリップも付けていませんでした。すみません。
元来自分用に開発していたもので…

440 名前:nobodyさん mailto:sage [2009/12/06(日) 18:03:07 ID:???]
>>433 作った領域ってことは
http://あいでぃー.appspot.com/ の http://あいでぃー.appspot.com/なんかつくったやつ
をhからお尻まで全部ってことですよね?
上のも下の「なんかつくったやつ」のアドレスもどっちもいれてうpしてみたんですが、
やっぱり404エラー…
javaの方の
package testcron;
import java.net.MalformedURLException;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import javax.servlet.http.*;
@SuppressWarnings("serial")
public class TestcronServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
try {
URL url = new URL("phpのあどれす");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = reader.readLine()) != null) {
resp.getWriter().println(line);
}
reader.close();
} catch (MalformedURLException e) {
resp.getWriter().println("URL faild : " + e);
} catch (IOException e) {
resp.getWriter().println("URL faild : " + e);
} } }
が間違ってるんでしょうか。

441 名前:nobodyさん mailto:sage [2009/12/06(日) 19:25:38 ID:???]
>>437
XMLの取得自体はできてるみたいだけどね
print $xml->entry[1]->summary;
みたいなので一応見れるし…

>>439
そこは「しきたり(笑)」ですませて欲しかったよ!
必要としてる人もいると思うので、公開できるときに公開してくれればいいと思うお( ^ω^)

>>440
○○○Servlet.javaって作ってるよね?
それの ○○○ を書くはず。↓
<cronentries>
<cron>
<url>/○○○</url>
<description>crontest the run every 2 minutes</description>
<schedule>every 2 minutes</schedule>
<timezone>Asia/Tokyo</timezone>
</cron>
</cronentries>

442 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/06(日) 19:53:33 ID:???]
関数呼び出し手順に変更です。
reply.listに~<正規表現>と記述した場合、関数に渡される文字列は@IDを除いた単純発言部分となります。
プラグインファイルを作りたい香具師は準備願います。
おまけにどう読むのプラグインを添付します。(requires nkf,kakasi)ご活用くだしあ。
補足として$prof[]でボットのプロフィールにアクセスします。(別途ファイルを用意してあります)
$conf[]でついった関連設定ファイル(以下同)

公開用ぺーじの設計に手間食ったりしてます。しばしお待ちを。

443 名前:nobodyさん mailto:sage [2009/12/06(日) 20:07:15 ID:???]
>>442
期待!

444 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/06(日) 20:19:49 ID:???]
何度も申し訳ないですが、プラグインファイル(作ってくれそうにないが)の使用を規定します。
1. <?php で始まり ?> で終了すること。
2.呼び出される関数を保持すること。呼び出される関数が主処理関数であること。
3.受け取った文字列を処理する場合(特に外部ファイル、プログラムへの受け渡しをする場合)h(文字列);でエスケープすること。
4.$debugはデバッグスイッチです。d(変数);でダンプ可能ですので積極的なデータ表示をお願いします。
だいたいこのくらいでしょうか。呼び出し元の@IDは$idで取得可能です。
その他、プラグインファイルは/AI/に保存願います。利用の際は/conf/plugins.listに
loadplugin('hogehogewaros.plg');のように拡張子込みで登録お願いします。
人格?の利用を前提としているので初期設定スクリプトを書いています。お待ちください。

445 名前:nobodyさん mailto:sage [2009/12/06(日) 20:24:06 ID:???]
>>441うおおおおできました!ありがとうございました!
プログラム開くと○○○が先頭大文字になってて
大文字のままいれたらだめでしたが
小文字にしたら動きました!
って前にこれ一度もう試したんですがその時は404エラーでたんですよね…なんでエラーだったんでしょうか
まあとにかく動いて嬉しいです!
441さまも433さまもありがとうございました!

ついでにもう一つおたずねしてもいいでしょうか
一つのプログラムで複数のphpを動かす場合
try {
URL url = new URL("phpアド");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;

while ((line = reader.readLine()) != null) {
resp.getWriter().println(line);
}
の後ろに同じ文を重ねていけばいいんでしょうか

446 名前:nobodyさん mailto:sage [2009/12/06(日) 23:42:18 ID:???]
>>440
自分もそのコードが載ってるブログを参考に作ってるんだが、
ウェブ上で動いてるのを確認する方法として紹介されている
http://設定したApplication id.appspot.com/設定したプロジェクト名
にアクセスするとxmlコードが剥き出しで表示されてしまう
これは何らかのミスがあるということなのかな…?
成功した場合はどのように表示されるのだろうか

447 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/07(月) 00:16:02 ID:???]
遅れています。
圧縮に手間を食っているようです。でき次第公開します。



448 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg [2009/12/07(月) 01:30:55 ID:MdLiWJgY]
knowledge.ddo.jp/meltan000.tar.gz
一応こっそり公開します。
使い方、インスコ方法はウィキに乗せていくのでそれの完成を待ってください。
とりあえず公開するだけです。

449 名前:nobodyさん mailto:sage [2009/12/07(月) 06:37:19 ID:???]
GAEにデプロイしてcronで定期実行、結果もon time Successなんだけどツイッターには投稿されない
ローカルで開くと404エラー:The requested URL /自分のサイトアドレス/post_random.php was not found on this server.
って出るんだけどphpは他のサーバーにアップしてるんだからthis serverでnot foundなのは当たり前じゃないの?
http://から指定してるのになんでフォルダから開こうとしてるんだろう
ソースは>>440さんと一緒で>>440さんが動いたということはつまりどういうことなのかわからなくなって…きた…
自分でphpのページ開くとちゃんと投稿されるので悪いのはソースなんだと思うけどいくらいじってもさっぱり投稿されず
eclipseで実行すると
com.google.appengine.tools.development.LocalResourceFileServlet doGet
WARNING: No file found for: /favicon.ico
何が悪いのかわかるひと教えてください…ファビコンてURLの横に出るアイコンじゃん…関係あるの…


450 名前:nobodyさん mailto:sage [2009/12/07(月) 09:57:08 ID:???]
形態素解析ってみんな何使ってる?
Mecab使ってみてるけど他のがよさげならそっちも試してみたいんだけど。

451 名前:nobodyさん mailto:sage [2009/12/07(月) 11:05:01 ID:???]
>>448
うぽつ

>>449
よくわからんが、GAEでのcronは某サイト見ながらJAVAでやってるの?
それとも自前?

452 名前:nobodyさん mailto:sage [2009/12/07(月) 15:47:55 ID:???]
>>449
GAEでの”/自分のアドレス”ってappengine.google.comで見たときのTitle=eclipseのpackageの名前じゃないか?
eclipseでも同じ名前にしてる?
あとローカルで開くってのがブラウザで開いてるということならブラウザがfaviconを探しにいく
当然favicon見つからず404になる

>>450
Yahoo APIの使ってる。

453 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg [2009/12/07(月) 19:31:13 ID:MdLiWJgY]
開発が一段落したので公開中のwikiを載せます。
ttp://knowledge.ddo.jp/
発展途上なので機能は貧弱ですがプラグインファイルの開発を手伝っていただければ良いソフトになると思います。
次スレがあればテンプレに組み込んでいただけると嬉しいです。

454 名前:nobodyさん mailto:sage [2009/12/07(月) 20:18:17 ID:???]
>>453
ごめん全然関係ないけど…土壇場って独壇場じゃね?

455 名前:nobodyさん mailto:sage [2009/12/07(月) 20:54:23 ID:???]
phaさんとこちょっと見てて前から不思議だったんだけど
あのスクリプトってそんなに環境によって動かないものなのか?
自分もプログラミングなんて全くの素人だがphaさんの使って
無料のサーバーでCron-jobから某サイトを参考にGAEで動かして
エラーになったりしても調べてなんとか解決できたし自分で変更もした
自分がたまたま運がよかったのか?

456 名前:nobodyさん mailto:sage [2009/12/07(月) 21:27:13 ID:???]
運の問題にしないで原因調べたら?

457 名前:nobodyさん mailto:sage [2009/12/07(月) 21:31:58 ID:???]
>>455
>エラーになったりしても調べて
が出来ないんだろう。
環境はIE6です!みたいなこと言ってた人も居たし…。
エラー文読む気ないから丸投げ。

あと本家の鯖の不調と設置の問題の切り分けが難しいのかも。
本体不安定で動かないのかスクリプトかcronか
どれが問題かわからないから丸投げ。

しかし今朝から本家不安定でうちのも不調だわ。



458 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/07(月) 21:35:20 ID:???]
>>454
あれ?変換間違えました?

459 名前:nobodyさん mailto:sage [2009/12/08(火) 01:05:41 ID:???]
好きに書きゃいんじゃね。
相手が求めてるような楽屋裏話なんてないんだからそういうのがわかりゃ勝手に離れてくさ。

460 名前:nobodyさん mailto:sage [2009/12/08(火) 01:06:21 ID:???]
間違えたごめん。

461 名前:nobodyさん mailto:sage [2009/12/08(火) 05:26:14 ID:???]
某サイト参考にGAEで動かそうと作っていたんですがtestcronの中にTestcronServlet.javaが何回プロジェクト作り直しても出てこないんですがどうすればいいですか?
ファイル作成しようにも調べ方が悪いのか参考になりそうなページ出てこなくて息詰まってますorz

462 名前:nobodyさん mailto:sage [2009/12/08(火) 06:35:04 ID:???]
>>461
自分もそれなったけど、
プロジェクト作成時に「Google Web ツールキットを使用」の
チェックを外さなかった、に30ペソで。

463 名前:461 mailto:sage [2009/12/08(火) 06:41:40 ID:???]
>>462
ありがとうございます!!!
チェック外して作り直したらちゃんと出てきてくれました!!!

464 名前:nobodyさん mailto:sage [2009/12/08(火) 09:13:00 ID:???]
チェックを外す、とかの記載ないから忘れやすいは忘れやすいところだな

>>450
何それおいしいの?
ごり押しおいしいれす(^q^)

465 名前:nobodyさん mailto:sage [2009/12/08(火) 15:14:16 ID:???]
土壇場(どたんば)
独擅場(どくせんじょう)

真ん中の字は違う。

466 名前:nobodyさん mailto:sage [2009/12/08(火) 15:57:36 ID:???]
土壇場(どたんば)
独擅場(どくせんじょう)
独壇場(どくだんじょう)

日本語って難しい

467 名前:nobodyさん mailto:sage [2009/12/08(火) 16:19:53 ID:???]
独壇場と独擅場の違い
tp://www.nhk.or.jp/bunken/research/kotoba/kotoba_qq_03070101.html
へえーAA略

GAEでcronがちゃんと動いてるのにリプライ拾わない事が多々ある
@で話しかけてから
Cron Jobsをチェック→on time successだがリプライ返さない・Logs見ても200
hogehoge.appspot.com/hogehogeにアクセスすると
指定時間内のリプライないよと言われる
でもブラウザでphpにアクセスするとリプライをちゃんと返す
だが放置してるとちゃんと拾う時もある
もう自分では原因が分からん…

GAEはモノクロ2階調さんのを参考にJAVAで動かしてる
同じソースで作った他の定期ポストは絶好調なんだが
こうしたらいいんではとかあれば教えて下さい



468 名前:nobodyさん mailto:sage [2009/12/08(火) 17:03:32 ID:???]
>>467
自分も同じ状況だ
GAEはタイムアウトの判定がシビアだから、
自分の鯖とGAEの距離が長すぎると駄目なのかもって意見をどこかで見た
ちなみに自分はロリポにPHPを置いたときは全くリプライが返ってこず、
@pagesに変えたら五割ぐらい返すようになった
あと、24時間以内に同じ内容は投稿できないからそれに引っ掛かってる可能性もなくはないか?

469 名前:467 mailto:sage [2009/12/08(火) 17:39:13 ID:???]
>>468
うーん同じ内容の投稿制限は引っ掛かってない筈。リプライの数は割と多めだし
それに同じ内容でも@Aさんと@Bさんに返すのは別投稿扱いだし

リプライ数がスクリプトを重くしてるからか?とも思ったんだが
30分定期ポストの方が長いくらいなのにそっちは成功してる
リプライ回す時間は5分だからそこまで無茶してるとも思えない
この差がわからないんだよなー
どっちも動きが悪かったら鯖が悪いんだと思えるんだけど…
たまにちゃんと返しまくる事もあるからphpも悪くない…筈w

以前cron-jobでやってた時に@pagesが重くてさくらに変更して
今はそのままさくらで使ってるんだが…一度動かない奴だけでも鯖変えてみるよ
ありがとう

470 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/08(火) 20:06:19 ID:???]
>>450
使うとしたらchasen + nkf

471 名前:nobodyさん mailto:sage [2009/12/08(火) 23:27:44 ID:???]
今日の午前中くらいまでは正常に動いていたのに
夕方くらいから急にGAEで失敗続きになってしまった・・・

Twitter本家も無関係の人のTLが流れたりしてるみたいだし
何かサーバーの調子が悪いんかな?
他にもGAE使ってて同じような人居る??

472 名前:nobodyさん mailto:sage [2009/12/09(水) 00:06:04 ID:???]
ノシ
もう全無視よりいいやとcronjobも並行してみたが
結局どっちも動き悪い
閲覧はクライアント使ってるけど昨日くらいからAPIエラーも多発してるし
細かい鯖落ちも頻発してるみたい

473 名前:nobodyさん mailto:sage [2009/12/09(水) 02:56:14 ID:???]
GAEでやってる人Dashboardのグラフどうなってる?
30分定期ポストのは0から0.004の間でvvvvvvvvvて感じなんだが
動きの悪い5分のリプライの方は0.004あたりでずっとまっすぐなんだ
時間の幅が大きいからかと思ったが以前テスト用に作った2分定期のはvvvvだった
まっすぐなのはずっと処理が終わってないってことなのかね…
でもリプも返す時は返すしその時もグラフはまっすぐなんだがw

474 名前:nobodyさん mailto:sage [2009/12/09(水) 09:31:03 ID:???]
同じく0〜0.04くらいでVVVVVVだな
昨日はいきなり0.013くらいまでハネ上がった時間帯があったが

475 名前:nobodyさん mailto:sage [2009/12/09(水) 12:48:01 ID:???]
cronjob本当に動き悪いな
1時間1回にセットして10時間経過見てたけど1回しか動かない

476 名前:nobodyさん mailto:sage [2009/12/09(水) 15:10:48 ID:???]
cron-jobの動きが悪いからWebCron.orgに移行考えてるんだけど
支払いとかではトラブルになった事はない?
海外サービスはその辺りがどうも不安

477 名前:nobodyさん mailto:sage [2009/12/09(水) 15:39:23 ID:???]
話を切って悪いんだけど相談させてください。
botが完成してあとはIDを取るだけなんだけど既に他の人が自分と全く同
じbotを作ってた。
でも、その人はIDだけ取っておいてbotは全く動かしていない状態なんだ
けど、こういう場合はどうしたらいいんだろう。
気にせず自分のbotを上げていいのかな・・・



478 名前:nobodyさん mailto:sage [2009/12/09(水) 15:48:28 ID:???]
>>477
微妙にスレ違いだと思うけど
同人板にTwitterスレあるからそっちで聞いたほうがいいかも
そっちでもたまにbotの話題になってるから。

他の、例えば天気予報や占い等の否キャラbotなら気にしないでいいと思う

479 名前:nobodyさん mailto:sage [2009/12/09(水) 16:09:54 ID:???]
ごめん、478の最初のほうは「キャラbotなら」という前提の話しです

480 名前:nobodyさん mailto:sage [2009/12/09(水) 17:26:34 ID:???]
>>477
別にいいんじゃないの?
俺もキャラbot作っててその状況なったことあるけど(しかも後者)
別にそのまま気にせずやってるなぁ
キャラbotでも複数あるキャラとかあるし
それぞれに面白みがあればいいんでないかな

481 名前:nobodyさん mailto:sage [2009/12/09(水) 17:38:38 ID:???]
>>477
内容ダダ被りとかでなければいいんじゃないの?
自分も某キャラのbot作ってるけど、友人も同じキャラのbot作ってる
性格がだいぶ違う設定になっているのでフォロワーさんは自分の好みの方を
選んでフォローしてる感じ
実際に「○○のbot見つけたけど下ネタが多くて無理、
もうひとつ違うのがあったからこっちフォローした!」っていう呟きも見たしさ

482 名前:nobodyさん mailto:sage [2009/12/09(水) 20:10:44 ID:???]
>○○○Servlet.javaって作ってるよね?
それの ○○○ を書くはず。↓
<cronentries>
<cron>
<url>/○○○</url>
<description>crontest the run every 2 minutes</description>
<schedule>every 2 minutes</schedule>
<timezone>Asia/Tokyo</timezone>
</cron>
</cronentries>

<url>/○○○</url> のとこに○○○Servlet.javaの○○○入れて
デプロイしてみたらon time Successになるもののツイートできない。
文字化けしてるからコードも見てみたけどUTF-8になってる。
かれこれ5時間ぐらい弄ってるけど何がなんだかさっぱりわからないorz

483 名前:nobodyさん mailto:sage [2009/12/10(木) 01:10:25 ID:???]
自鯖の人は少数なのかな

484 名前:nobodyさん mailto:sage [2009/12/10(木) 02:10:48 ID:???]
鯖は立ててないけど自前のPCでやってるよ
PHPさえインストールしてりゃWSHかなんかで自動実行できるしね

485 名前:nobodyさん mailto:sage [2009/12/10(木) 03:22:04 ID:???]
GAEで30分に1回呟くcronを動かしてて、
慣れてきたからリプライにも反応するように新しくphpを用意したんです。
んでもって新しいアプリケーションと2分間隔で回るファイルを作りました。
いざデプロイしたら元の30分の方まで2分間隔で回るようになって、
しかもリプライの方がひとっことも話しません。
何がいけないのか自分にはさっぱりわからないので知恵をお貸しくださいorz

486 名前:nobodyさん mailto:sage [2009/12/10(木) 03:23:40 ID:???]
GAEを使わない

487 名前:nobodyさん mailto:sage [2009/12/10(木) 05:14:39 ID:???]
動かないって人は本体が最近バグ出てるしよく落ちるし
今は様子見の方がよくないか?
明らかなエラーとかでない限り

今まで動いてたやつも動かなくなったりしてる中で
原因特定するのは難しいと思う



488 名前:nobodyさん mailto:sage [2009/12/10(木) 06:43:46 ID:???]
コナミキャラってやばいの?今作ってるのそれなんだが…

489 名前:nobodyさん mailto:sage [2009/12/10(木) 11:25:00 ID:???]
そなの?俺コナミキャライパーイフォローしてるが

490 名前:nobodyさん mailto:sage [2009/12/10(木) 12:04:00 ID:???]
姉ヶ崎作ってた人がサイトに誘導の上寄付を募ってた?らしい
そのコンテンツとかは消された
自分も言われて見にいった口なのでよく知ってる人フォローよろ
でもまだbotは消されてないから大丈夫じゃね?

491 名前:nobodyさん mailto:sage [2009/12/10(木) 14:59:50 ID:???]
すみません、質問させてください。
Phaさんのサイトを見てbotを作ったんですが、反応しません。
鯖はロリポ、cronはGoogleのエンジンを使ってます。

質問を箇条書きにしてみました。
色々ググってみたけど、途方にくれたのでお知恵を拝借できると助かります。

・Eclipseを使ってアップロードしたんですが、左側のprojectexplorerにある
作ったcronアイコンにバツが付いている。これはどこかで記述ミスをしたものかどうか。

・Google App engineでfavicon.icoがどうのと書かれてます。そのアイコンをまず
どこに設置すればいいのか、そしてapp.yamlは何処に設置するものなのか。
自分で作るのか、作成した元のcronの中に突っ込むのか。そのファイル自体はcronの中には
ありません。

・EclipseでcronServlet.javaの編集の際、プログラムを指定するURLを書くんですが
これは複数のphpファイルを,で区切ってhttp://から指定して書くものなのか。

以上です。
よろしくお願いします。どうにも動いてくれないので…

492 名前:nobodyさん mailto:sage [2009/12/10(木) 15:47:36 ID:???]
basic auth廃止とな(´・ω・`)

493 名前:nobodyさん mailto:sage [2009/12/10(木) 16:36:58 ID:???]
TwitBot Clubってどうなんだろう
手軽でいいとは思うけどGAEからBAN喰らったら閉鎖とか書いてあるから怖い

494 名前:nobodyさん mailto:sage [2009/12/10(木) 16:46:59 ID:???]
TwitBot Clubでぐぐってみたら自動bot作成サービスみたいな感じ?
こんなんでライトユーザのbot乱発したら最近ただでさえ鯖不調なのにサーバの負担厳しくないかな。

495 名前:nobodyさん mailto:sage [2009/12/10(木) 16:49:39 ID:???]
自分がGAEでcron動かすとき参考にした記事にも、
このやり方はBANされるかもって書いてたなあ
botのフォロワーが増えてからBANされたら途方に暮れそうだgkbr

496 名前:nobodyさん mailto:sage [2009/12/10(木) 18:50:25 ID:???]
ちょっと勉強して自分でプログラム組んだら?
cron jobでも全然問題ないぞ。

phaさんとこのに頼ってる人は有料cronに手を出したりGAEでBANされたり大変そうだな。

497 名前:nobodyさん mailto:sage [2009/12/10(木) 19:07:35 ID:???]
cron-job、10分ぐらい時間ずれてない?今朝から。
0分にpostさせてるBOTが10〜15分辺りに反応してて。
設定し直したけど直らないんだよなー。



498 名前:nobodyさん mailto:sage [2009/12/11(金) 06:19:55 ID:???]
>496
少しずつphp勉強してるんだけどphaさんのスクリプトよりbardothodolさんのcurl使うやり方のが軽いのかな?
自分で一から作る力はまだ全然ないからそれならセリフの生成のところだけ入れ替えて書きかえたい
496は全部自作してるん? phaさんのスクリプトの何が問題なん?

499 名前:nobodyさん mailto:sage [2009/12/11(金) 09:06:57 ID:???]
cron job問題ないか?
ここ3日ほど経過見てるけど1回しかまともに動いてない
勝手に切られてたりするし駄目だろこれ…

500 名前:nobodyさん mailto:sage [2009/12/11(金) 09:44:28 ID:???]
cron-job確かに10分くらいズレてる
昨日なんかは一応稼働するにはしてたみたいだけど
今日はまた失敗続きだ…

501 名前:nobodyさん mailto:sage [2009/12/11(金) 12:29:55 ID:???]
>>498
まあ軽いっちゃ軽い。最低限の処理だしな。
でもphaさんとこで使ってるNet_Twitter自体もやってることはそんな大差ないから
今のサーバマシンでわかるほどの差はでんと思う。
496じゃないけど俺は自作してる。Net_Twitterも最低限のAPIしかないし。

502 名前:nobodyさん mailto:sage [2009/12/11(金) 14:15:56 ID:???]
自分はbotの発言でTLが埋まってしまうのを考慮して(いろんなキャラbotをフォローしてるだろうし)、定期発言3時間に1回で設定してる。
cronはcron jobだけど、一度も失敗したことないし、勝手にオフになることもない。

リプライとTLに反応するプログラムは、2分おきにアクセスするようにcron jobで設定してるけど、こっちはたまに勝手にオフになる。
けどPhaさんとこのスクリプトじゃないから、多少遅れても全レスするし問題ないかなと思ってる。

503 名前:nobodyさん mailto:sage [2009/12/11(金) 14:31:45 ID:???]
cron jobで登録日からずっと1時間に1回でリプ無の定期ツイット試運転してるけど、
今のところ60回中1回しか動いてないし勝手にオフにもなる。
もちろんBOTが手動で動くのは確認済。

cron jobってどうやったらちゃんと動くの?
Phaさんとこのスクリプトだから駄目なのかな
一応今PHP勉強して自分でも組んでるけど今ちゃんと動いてる人に聞きたい

504 名前:nobodyさん mailto:sage [2009/12/11(金) 16:51:50 ID:???]
主な原因としては
・Cron-jobが重い
・twitterが重い
・BOTのスクリプトが重い
・BOTのスクリプトの出力サイズが大きい(大きいと送受信に時間がかかる)
・BOT鯖が重い(無料や激安な鯖は顕著)
・タイムアウトにひっかかる

505 名前:nobodyさん mailto:sage [2009/12/11(金) 17:07:21 ID:???]
いくらなんでも60回に1回とか動かなさ過ぎだろ
スクリプトが無駄に大きくってるんじゃないか?
>>504の指摘点をもっかい見直せ

506 名前:nobodyさん mailto:sage [2009/12/11(金) 17:27:22 ID:???]
今30分に1回定期postするプログラムと
0時、6時、12時、18時に指定した日付までのカウントダウンをpostするプログラムの2つ登録してるけど
前者は一度も失敗してないし勝手にneinになったこともない
後者だけ毎回8時(向こうの鯖が日付変わる時間)になるとneinになりやすい、あと失敗もしやすいみたい
プログラム自体はどっちもbardothodolさんとこの参考にcurlで使うやり方なんだけど…

507 名前:nobodyさん mailto:sage [2009/12/11(金) 19:34:47 ID:???]
cronjob.de使ってる人いますか?
最多でも5分間隔しか設定できないけど勝手に止まることはないみたい
ただ、今借りてる鯖じゃ設定できなさそうでした
翻訳サイトにかけて日本語でおkな文章を解読するにサーバー直下にcronjob_*****.html(*****は指定された数字)ってファイルが必要なのかなと思ったんですが
アドレスが向こうの希望通りには設置できないんです



508 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg [2009/12/11(金) 19:50:35 ID:lt7fGhiK]
サイトのメンテナンスでwikiの位置が変更になりました。
ttp://knowledge.ddo.jp/wiki/
に変更です。手間くって申し訳ないです。
ポータルサイトも立ち上げる予定なので、それなりに生暖かく見守ってやってください。


509 名前:nobodyさん mailto:sage [2009/12/11(金) 19:57:16 ID:???]
うちは2分に一回、自作スクリプトを自鯖(窓)のcronNTで叩いてるけど、
getもpostも問題なさげ
Services_Twitter使用

510 名前:nobodyさん mailto:sage [2009/12/12(土) 01:20:53 ID:???]
マルコフはやくー

511 名前:nobodyさん mailto:sage [2009/12/12(土) 01:31:28 ID:???]
そこまで他人に頼るとどれもこれも似たようなことしか言わないBOTにしかなんないぞ。

512 名前:nobodyさん mailto:sage [2009/12/12(土) 10:36:34 ID:???]
PHPとPECL OAuthライブラリを使ってAPIを叩いています。

APIの仕様書を見ていると、アクセストークンを設定した時に、レスポンスとしてユーザIDとスクリーン名が返ってくるとのことでした。
それらを使用したいと考えているのですが、どうにも取得が出来ません。(setTokenしたあとに、getLashResponseを呼んでみたり)

どうにかそのレスポンスを得る方法は無いのでしょうか。もしくは、そのレスポンスを取得出来るPHPで使用可能なOAuthライブラリは無いでしょうか。

513 名前:nobodyさん mailto:sage [2009/12/12(土) 22:01:18 ID:???]
@のない呟きに反応するbotって作れるのかな
つかれたー!って人におつかれって言ってあげるようなことなんだけど
@がないとどうにもわからん・・・。

514 名前:nobodyさん mailto:sage [2009/12/12(土) 22:16:59 ID:???]
登録した人のタイムラインを参照して同じことすればいいのでは?

515 名前:nobodyさん mailto:sage [2009/12/12(土) 22:36:56 ID:???]
やってみた たぶんいける
でもあれなんだよね、他の人への@も読みこんじゃうと思うんだよね

516 名前:nobodyさん mailto:sage [2009/12/12(土) 22:50:50 ID:???]
他の人への@があったら処理しないようにすればいいのでは?

517 名前:nobodyさん mailto:sage [2009/12/13(日) 01:34:10 ID:???]
>>516
かまってくれてありがとうw
他人への@に、てかすべての@に反応しないように書いてたんだけど
\@があったら弾くようにしたはずなのにうまく回らない
細かいミスでHP削られたので今日はもう寝ます、ありがとう



518 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg [2009/12/13(日) 02:14:06 ID:B1fOU/ii]
>>517
@ってエスケープ必須でしたっけ?(in PHP

519 名前:503 mailto:sage [2009/12/13(日) 09:41:31 ID:???]
いろいろ検証したけど鯖の問題かもしれない…

・Cron-jobが重い
 他の人は動いてるから重くは無いんだと思う
・twitterが重い
 少し前は変だったけど今は変な挙動もしてない
・BOTのスクリプトが重い
 phaさんのpost_random.phpのスクリプトそのままだから大丈夫なはず
・BOTのスクリプトの出力サイズが大きい(大きいと送受信に時間がかかる)
 最大全角35文字だから大きくないと思う
・BOT鯖が重い(無料や激安な鯖は顕著)
 @pagesだから分からない ただ手動でアクセスした時は必ず動く
・タイムアウトにひっかかる
 検証の仕方が分からない

@pagesにアクセス解析付のHTML置いて、そこで呼び出したけどCron-jobのアクセスは無かった
どこか有料だけど安いレン鯖でも借りた方がいいのかな…
オススメはロリポ?

520 名前:nobodyさん mailto:sage [2009/12/13(日) 09:56:28 ID:???]
流れぶった切って申し訳ないけど、発言などをさせるphpファイルが
投稿出来ずにエラーになるのは何でだろう?
ブラウザ上で確認しただけなんだが、ただ一言ERRORって出るだけなんだ…
service_twitterの本体プログラム自体はエラー出てない
勿論パスワードもIDも間違ってないんだ…何でだ…orz

521 名前:nobodyさん mailto:sage [2009/12/13(日) 10:10:26 ID:???]
どのphpファイル使ってて何をしてどういうエラーが出たのかさっぱりわからん。

522 名前:nobodyさん mailto:sage [2009/12/13(日) 10:12:25 ID:???]
あと間違ってない、って主観の判断はどうでもいい(そう思ってて間違ってることもよくある)から
やったことや、ソースをそのまま貼ったほうが原因は特定しやすい。

523 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg [2009/12/13(日) 10:20:09 ID:B1fOU/ii]
>>520
ソースうpきぼん

524 名前:nobodyさん mailto:sage [2009/12/13(日) 11:03:50 ID:???]
最近よくいる糞コテはなんなの

525 名前:nobodyさん mailto:sage [2009/12/13(日) 11:41:51 ID:???]
何もしてない奴よりなんぼか形にしてる奴のがましよ。
NG登録は簡単なんだし気になるならあぼーんしときゃいいさ。


526 名前:520 mailto:sage [2009/12/13(日) 14:04:45 ID:???]
言い捨てるような形になってしまってごめん
ソース元は銀さんのとこで、ご本人が説明されている環境をそのまま使用してる
設置サーバーもやり方も全く同じ
Twitter.phpにアクセスすると真っ白な画面にになり、ランダムに呟かせるphpファイル
(例えばbot.php)にアクセスすると、白い画面に一文字「ERROR」の文字が出る

↓ソース

527 名前:520 mailto:sage [2009/12/13(日) 14:10:31 ID:???]
ソース載せると規制に引っかかってしまうんだorz

//d.hatena.ne.jp/silverbot/20090829#c1260572663

ここのページのソース丸コピペ、フルパス、ID、パス、台詞だけ違う状態




528 名前:nobodyさん mailto:sage [2009/12/13(日) 15:03:18 ID:???]
>520
試してないが
if(! $st->setUpdate($post) ){
die('ERROR');
辺りを消したらちゃんとしたエラー吐かないかな?

529 名前:nobodyさん mailto:sage [2009/12/13(日) 15:46:35 ID:???]
定期postのBOTに過去10回分と同じポストかどうかを判断して
違ったらポストって機能を加えたいんだけど、ログの書き込みがうまくいかない。

log.txtをfgetsで配列aに読み込み→変数bと違うか判断→違ったら変数bポスト→
配列aの[1]〜[9]と今ポストした変数bをfor文でlog.txtにfputsしてるだけなのに。
読み込みパターンをw、a、r+どれにしたらいいんだろう?

色々試したけど追加書き込みされたりポストしたばかりのだけになったりする。
rで配列Aに読み込み→wで全消し→aで書き込みするしかないのかな?
そもそもこんな機能いらない?

530 名前:nobodyさん mailto:sage [2009/12/13(日) 16:33:37 ID:???]
ついにできた^0^/
GoogleにでもUPするかな

531 名前:nobodyさん mailto:sage [2009/12/13(日) 18:15:45 ID:???]
>>529
まず言語は?

532 名前:nobodyさん mailto:sage [2009/12/13(日) 18:34:07 ID:???]
>>531
PHPです
今一応出来たけどログとの比較の部分で審査でタイムアウトする時があるから見てください

<?php
include_once 'フルパス';

//ポストリストとログ読み込み
$filename = "plist.txt";
$plist = file($filename);

$filename2 = "log.txt";
$fp2 = fopen($filename2,'r+');
flock($fp2, LOCK_EX);
for($i = 0;!feof($fp2);$i++){
$log[$i] = fgets($fp2);
}
fclose($fp2);

533 名前:nobodyさん mailto:sage [2009/12/13(日) 18:37:38 ID:???]
//ポスト選定と審査
$key = array_rand($plist);
$ok = 2;

while($ok >= 1){
$key = array_rand($plist);
for($a = 0; $a < $i; $a++){
if($plist[$key] == $log[$a]){
$ok = 1;
}
}
if($ok <> 1){
$ok = 0;
}
}

$post = $plist[$key];

//ログ書き込み
$fp2 = fopen($filename2,'w');
flock($fp2, LOCK_EX);
fputs($fp2,$plist[$key]);
for($i = 0;$i <= 8;$i++){
fputs($fp2,$log[$i]);
}
fclose($fp2);

534 名前:nobodyさん mailto:sage [2009/12/13(日) 18:40:36 ID:???]
Service_Twitter設定は銀さんのここと一緒
d.hatena.ne.jp/silverbot/20090829/1251532471

タイムアウトするのはこの部分 $plist[$key] == $log[$a]
ログはツイッター本家と同じく上が新しいものになるようにしてる
最近勉強始めたばかりなので見難いかもしれないけどお願いします

535 名前:520 mailto:sage [2009/12/13(日) 19:44:53 ID:???]
>>528
反応ありがとう!
試しに


if(! $st->setUpdate($post) ){

die('ERROR');

}
を抜いてやってみたら、ただの白いページが出た…
そんでもって投稿はされてない
あるとERRORになってないとシカトって一体どういう…???

536 名前:nobodyさん mailto:sage [2009/12/13(日) 23:02:07 ID:???]
>>532
ログの保存の仕方はわからないけど改行コードは入れてる?
少なくとも末尾に \n 加えないとPOSTがつながって見えるぞ。書き込みモードはwでいい。

$fp2 = fopen($filename2,'w');
flock($fp2, LOCK_EX);
fputs($fp2,$plist[$key] . "\n");
for($i = 0;$i < 9;$i++){//8になってたけど9だよね?
fputs($fp2,$log[$i] . "\n");
}
fclose($fp2);


以下おせっかい

常識的に考えたら面倒なwhileじゃなくてforeach使うだろ
あとif($ok <> 1)の処理がよくわからん。
1じゃなかったら0にするんだったら最初から0にしておけばいいと思うが

$key = array_rand($plist);
$ok = 0;//最初から0にしておく

foreach($log as $logs){//$logの配列が$logsに入ってforeachループ内では$logsに配列の添え字([2]とか)がいらなくなる
if($logs == $plist[$key]){
$ok = 1
break;//同じPOSTが1つでもあったらPOSTしないと勝手に解釈
}
}

2chに書きこむ用のコードだと思うがいろいろなとこ抜けてて心配だ

537 名前:nobodyさん mailto:sage [2009/12/13(日) 23:35:20 ID:???]
>>534
の銀さんのBOTの作り方見てたけど結構ひどいな。
Services_Twitterを今後使うと見せかけて、リプライとかは全く関係ない別のソースを使ってる。
PHP触ったばかりかもしれないから仕方ないけど。



538 名前:nobodyさん mailto:sage [2009/12/14(月) 00:25:34 ID:???]
>537
銀さんとこのは全部他のとこの記事のコピペだよ
リプライと定時のソースはそれぞれ違う人から持ってきてるんだから
関係なくて当たり前

539 名前:nobodyさん mailto:sage [2009/12/14(月) 00:29:22 ID:???]
>>536
すみません、書き忘れてました。
plist.txtに\nが入ってるのでfile()の処理で改行コードまで配列に入れているようです。
そのためlog.txtはちゃんと改行されて見えてました。ありがとうございます。

foreach文を知らなかったので後でググってみます。
while以下の処理は、同じ文があったらもう一度array_rand()してfor文で回して再審査、
同じ文が無かったらwhileから抜けるとしたかったのでこうしました。

初期値が$ok = 0だとwhileにすら入らず抜けてしまい、
whileの条件を$ok == 0にすると、今度は同じ文があった時にwhileから抜けてしまうため、
初期値は$ok = 2、同じ文章があれば$ok = 1にしてwhileからやりなおし、
同じ文がなかったら$ok = 0 にしてwhile抜けてポストにしました。

貼り付けたソースは定期ポストほぼ全文ママです。
foreach文なら大丈夫でしょうか?いいやり方があれば教えていただきたいです。

540 名前:nobodyさん mailto:sage [2009/12/14(月) 01:04:19 ID:???]
>>539
タイムアウトするのはtwitterの鯖なのか、botを動かしている鯖なのか、どっちですか?
twitterだったら鯖が重いかtwitterにPOSTするスクリプト(botとしての機能じゃない方)が悪い。
botを動かしている鯖なら鯖変えるとか。


と、ここまで書いてから気づいたけど

if($plist[$key] == $log[$a])

文字列で==はちゃんとした判定はできないから

if($plist[$key] === $log[$a])

===じゃないとだめだよ。

541 名前:nobodyさん mailto:sage [2009/12/14(月) 08:12:41 ID:???]
>>540
ごめん俺よくわかってないかもしれんが
同じ文字列型同士で == じゃ問題ある場合ってあったっけ?

542 名前:nobodyさん mailto:sage [2009/12/14(月) 10:38:45 ID:???]
>>541
同じ文字列型でも数値型で比較される場合があるから、
文字列で比較する場合はなるべく===を使った方がいいってことじゃない?

543 名前:nobodyさん mailto:sage [2009/12/14(月) 11:10:23 ID:???]
>>542
文字列型同士の比較なら==でも===でも値は一緒な気はしたんだけどそういうことあるの?
例えばどういう場合だろ。

544 名前:nobodyさん mailto:sage [2009/12/14(月) 11:55:04 ID:???]
銀さんのbotを参考に製作中だけど、
cronがうまく動かない。
「zu groß」って容量大きすぎってこと?どうすればいいの?

545 名前:nobodyさん mailto:sage [2009/12/14(月) 12:11:03 ID:???]
>>544
状況の情報が少なすぎる
kwsk

546 名前:nobodyさん mailto:sage [2009/12/14(月) 13:07:35 ID:???]
>>544
cron-job.orgなら「zu gro?」になってても
botの動き的には正常稼働されてるはずだから気にすんな

547 名前:nobodyさん [2009/12/14(月) 15:22:27 ID:h7BWhtMh]
自動フォロー返しだけやりたいんだけどbotとか初心者なんです。
どうやってやるんですか?



548 名前:nobodyさん mailto:sage [2009/12/14(月) 15:28:22 ID:???]
BOTというかプログラム初心者?
それだとまずPHPスレとか見て基本覚えたほうがいいんじゃないかな。

549 名前:nobodyさん [2009/12/14(月) 15:49:04 ID:h7BWhtMh]
>>548 そうですか・・・初心者なんですけど、やりたいのはフォロー返しだけなんで言われるようにすればできるとは思うんだけど、
そういう紹介サイト的なのがあったらいいんだけど。ってそんな簡単じゃないですよね。
PHPスレものぞいてみます。

550 名前:nobodyさん mailto:sage [2009/12/14(月) 16:25:45 ID:???]
びっくりするほど他力本願だな。

551 名前:nobodyさん [2009/12/14(月) 16:27:31 ID:h7BWhtMh]
>>550 そうなんです〜。。。昔twitterには自動フォロー機能ついててよかったけど・・・今はフォロワー管理が大変。
プログラムとか難しいことはさけてフォロー返しだけできたらいいと考えてる愚か者ですw

552 名前:nobodyさん mailto:sage [2009/12/14(月) 16:32:36 ID:???]
>>551
そんなに面倒臭がってるならフォロー返しなんかやらなきゃいいだけのこと

553 名前:nobodyさん [2009/12/14(月) 17:10:33 ID:h7BWhtMh]
>>552 いやいや、めんどくさくは無いんですよ。ただプログラムの根本からまともに勉強始めたら数ヶ月かかるでしょ!?
何ヶ月もPC画面に縛り付けられるほどの時間がないだけ。
3日程度ならいいけど。

554 名前:nobodyさん mailto:sage [2009/12/14(月) 17:11:57 ID:???]
・・・それをめんどくさいって言うんだよ


555 名前:nobodyさん mailto:sage [2009/12/14(月) 17:16:59 ID:???]
>>543
ググったら見つかったけど
logic.stepserver.jp/memo.cgi/archive/506/

とりあえず試してみたのがこれ
codepad.org/7VTuvTdy

上3つはちゃんと動いてるけど下3つはちゃんと動いてないね

556 名前:nobodyさん mailto:sage [2009/12/14(月) 17:27:12 ID:???]
jp.php.net/manual/ja/types.comparisons.php
公式マニュアルに全部書いてある

557 名前:nobodyさん mailto:sage [2009/12/14(月) 17:29:44 ID:???]
>>553
いいサイト教えてやるよ
www.google.co.jp/

このサイトで検索すればtwitterAPIの仕様から各言語の利用方法まで詳細に載ってるサイトを検索できるよ。
自動フォロー機能ってのも検索してみれば出てくるんじゃないかな?



558 名前:nobodyさん [2009/12/14(月) 17:49:50 ID:h7BWhtMh]
>>555 ありがとう。この文字をコピーしてどこに貼り付けたらいいのかな?・・・


559 名前:nobodyさん mailto:sage [2009/12/14(月) 17:53:07 ID:???]
おいお前ら、もう構ってやるなよ…真性だぜ

560 名前:nobodyさん mailto:sage [2009/12/14(月) 17:54:48 ID:???]
>>558
おでこ

561 名前:nobodyさん [2009/12/14(月) 17:58:01 ID:h7BWhtMh]
>>560 おでことは?

562 名前:nobodyさん [2009/12/14(月) 17:59:54 ID:h7BWhtMh]
lil.la/technology/autofollow/ これ、インストールしてさっきの文字を貼り付けてみたけどダメだった・・・

563 名前:nobodyさん [2009/12/14(月) 18:01:48 ID:h7BWhtMh]
あとd.hatena.ne.jp/shibason/20091018/1255866012 この人が1番まとも書いてくれてるようなんだけど、
この文字を結局どこへ貼り付けたらいいか書いてないからよく分からん。

564 名前:nobodyさん [2009/12/14(月) 18:07:01 ID:h7BWhtMh]
www.tweetmanager.com/ ←これにも登録してオートフォローとかを有効にしたつもりではいるんだけど、変化なしです。 

565 名前:nobodyさん mailto:sage [2009/12/14(月) 18:09:35 ID:???]
初心者の人は銀さんのbotを参考にするといいと思う。

昨日からbot作りはじめたけど
postさせるところまではできたよ。


>>546ありがとう。気にしないことにして次の手順頑張る。

566 名前:nobodyさん mailto:sage [2009/12/14(月) 18:16:20 ID:???]
がんばれ><

567 名前:nobodyさん [2009/12/14(月) 18:17:31 ID:h7BWhtMh]
銀さんのbotはどこから読めば?一番初めはただのガタガタの文字しかのってないし・・・



568 名前:nobodyさん [2009/12/14(月) 18:18:25 ID:h7BWhtMh]
www.tweetmanager.com/ ←ってかこれって違うの?

569 名前:nobodyさん mailto:sage [2009/12/14(月) 18:25:19 ID:???]
もう死ねよ

570 名前:nobodyさん mailto:sage [2009/12/14(月) 18:27:26 ID:???]
d.hatena.ne.jp/silverbot/20090809/1249807557

↑銀次さんのやつ。
リンク貼るくらいしかできないけど頑張れー!
サーバの用意とかpostさせる手順1とか、トラックバックのとこに色々あるから。

571 名前:nobodyさん mailto:sage [2009/12/14(月) 18:30:34 ID:???]
>>569
da ma re


572 名前:nobodyさん mailto:sage [2009/12/14(月) 18:30:54 ID:???]
あ、やりたいのはフォロー返しなのか・・・
お役に立てなかったかも。。ごめん

573 名前:nobodyさん [2009/12/14(月) 18:55:50 ID:h7BWhtMh]
いえいえ、教えてくれた方ありがとう!!ゆっくり銀さんのを読んでみますね。参考になります。

574 名前:nobodyさん mailto:sage [2009/12/14(月) 19:05:13 ID:???]
PHPでキャラbotのソース書いてるんだが、いまいち分からないところが出てきた

リプライで「A」に反応して「Bをつくりますか?」とか「B入りますか?」 みたいに返したい
つまり「BC」という2つの変わる部分が欲しいといえばいいのだろうか
B=食べ物名
C=つくりますか?、入りますか? のような文
というふうにしたい
今のところのソースが下の状態
//前略////
$mesi=array("ごはん",
"パン",);
//中略/////
if(preg_match("/はらぺ|はらへ|腹減/u",$com) > 0){
$key = array_rand($mesi);
$post = $mesi[$key];
$return =$reply_name." おなかすいたんですか? じゃ、".$post."はどうですか?";
}
//後略////

もうどこをどういじればいいのかわからなくなってきた/(^o^)\
$return =〜以降を増やせばいいのかもしれないが、どうやって追加すればいいのか分からないんだ
だれか助けてくれ

575 名前:nobodyさん mailto:sage [2009/12/14(月) 19:18:30 ID:???]
>>574
はい。
returnは予約語なはずだから使わないようにね


<?php
$reply_name = "@screen_name ";

//前略////

$mesi=array("ごはん","パン");

//中略/////

$com = "はらへった";

if(preg_match("/(はらぺ|はらへ|腹減)/u",$com,$m) > 0){
$key = array_rand($mesi);
$post = $mesi[$key];
$returns =$reply_name . " おなかすいたんですか? じゃ、" . $post . "はどうですか?<br>";
echo $returns;
}


?>

576 名前:nobodyさん mailto:sage [2009/12/14(月) 19:34:18 ID:???]
UZEEEEEEEEEEEEEEEEE

577 名前:529 mailto:sage [2009/12/14(月) 20:21:19 ID:???]
>>540
ありがとうございます!とりあえず===にしました

エラーはFatal error: Maximum execution time of 8 seconds exceeded in…というエラーが時々出ます。
鯖とツイッターどちらでタイムアウトしているかは分かりません。
とりあえず今set_time_limitで指定しましたが今は結果待ちです。

cron-jobが全く動いてくれないのもこのせいでしょうか?
今日の昼に毎日毎時0分に叩くよう設定しましたが1回も動いてくれません…。
@pagesとcron-jobで動いている人は沢山いるようなのでコツがあるのでしょうか?
Aktiv?はちゃんとjaにしています。




578 名前:529 mailto:sage [2009/12/14(月) 20:28:28 ID:???]
577訂正
@pagesではset_time_limitが使えませんでした…

579 名前:543 mailto:sage [2009/12/14(月) 21:33:06 ID:???]
>>555
うーん。変数の型が違うと暗黙の型変換が行われるから===を使うべきってのはわかってるんだ。
また同じことを言っちゃうけど、「同じ型の場合」に == と === で何が違うの?て話なんだ。

もちろん、値が保障されない場合も考えて===を使う「べき」ってのはわかるし
コーディングするときはもちろんそうするだろうけど
型が同一の場合にも==だとなんか問題あるのかなって確認したかったんだ。
特になさげかな。

580 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/14(月) 22:07:50 ID:???]
経験上言わせていただきますが、`の処理には気をつけてくださいね…冷や汗をかきました。

今現在@windymeltanにmaximaプラグインを積んでいます。数式処理のテスト中です。
@windymeltan maxima:2+4;
のように書いてテストしていただいて結構です。
乱筆しました。失礼。

581 名前:nobodyさん mailto:sage [2009/12/14(月) 22:59:49 ID:???]
うん、はしょりすぎて何を言いたいのかわからない。

582 名前:nobodyさん mailto:sage [2009/12/15(火) 00:07:48 ID:???]
>>577
毎時0分はたくさんの方が設定していると思われます。
処理内容にもよりますが、ジャストタイムが不要ならば13分とか、48分とかの
中途半端な時間に設定した方が良いかもしれませんね。
1分とかだとサーバーがまだ0分のヤツを処理してたりしてw

583 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/15(火) 00:43:48 ID:???]
>>581
PHPのバッククォートはきちんとエスケープしませう。というお話でした。

584 名前:nobodyさん mailto:sage [2009/12/15(火) 08:40:01 ID:???]
>>1

twitter
なぜナウやnawではなく「なう」なのか

d.hatena.ne.jp/RRD/20090727/1248682147



585 名前:nobodyさん mailto:sage [2009/12/15(火) 09:44:33 ID:???]
>>584
マルチ乙

586 名前:nobodyさん mailto:sage [2009/12/15(火) 10:00:25 ID:???]
>>584
なんでアチコチに貼ってんの?
記事の内容も、典型的な同属嫌悪だし。

587 名前:nobodyさん mailto:sage [2009/12/15(火) 11:12:56 ID:???]
ネガキャンしたきゃ愚痴スレででもやるべきだな。



588 名前:nobodyさん mailto:sage [2009/12/15(火) 14:13:06 ID:???]
CRONが叩きに来てないのか、叩きに来たけどタイムアウトしたのかどうやったら分かる?
PHP呼び出すHTML作ってアクセス解析付けたけど何もログが残ってない

589 名前:nobodyさん mailto:sage [2009/12/15(火) 14:15:37 ID:???]
>>588
CRONサーバー側のログを見る。

590 名前:nobodyさん mailto:sage [2009/12/15(火) 14:31:21 ID:???]
phaさんのスクリプトでランダムポストしてるんだけど、
10ツイート/day程度の頻度で、ポスト候補のテキストパターンは100近く仕込んであるのに
やたら同じのばかり選ばれるみたいで、ポストが飛んでしまうことがよくある。
cronも安定してるし他の挙動には問題ないので、この状態がすごく気になる…
どうにか回避する方法はないでしょうか。

591 名前:nobodyさん mailto:sage [2009/12/15(火) 15:41:37 ID:???]
ランダムで選ばれたテキストパターンが
自分の発言最新10件と一致しなければpostする様にするとか

592 名前:nobodyさん mailto:sage [2009/12/15(火) 15:49:39 ID:???]
GAEでCRONの某記事の人がPC上で動かすCRON?みたいなの作ったみたいだな

593 名前:nobodyさん mailto:sage [2009/12/15(火) 16:21:43 ID:???]
>>589
cron-jobにそんなログ見れるページあったっけ?

594 名前:nobodyさん mailto:sage [2009/12/15(火) 16:22:37 ID:???]
>>593
ない

595 名前:nobodyさん mailto:sage [2009/12/15(火) 16:23:26 ID:???]
>>591
529が作ってたから入れてみたけどタイムアウトになって駄目

596 名前:nobodyさん mailto:sage [2009/12/15(火) 16:24:36 ID:???]
>>594
だったら八方塞がりだな…
他の人は動かない原因どうやって突き止めてるんだ

597 名前:nobodyさん mailto:sage [2009/12/15(火) 18:10:54 ID:???]
>>595
//ポストリストとログ読み込み
$filename = "plist.txt";
$plist = file($filename);
$filename2 = "log.txt";
$log = file($filename2);

//キー生成
$key=array_rand($plist);
$results = 0;//重複判定用

//キーに該当するポストとログが同じか調べる
foreach($log as $logs){
if($logs === $plist[$key]){//ログと重複した場合
$results=1;//重複している
break;//重複しているのでforeachから抜ける
}
}

if($results==0){//$resultsが0すなわち過去10件と重複してない場合
$post=$plist[$key];//ポストする文にする
}

これでどうだ



598 名前:nobodyさん mailto:sage [2009/12/15(火) 18:37:19 ID:???]
芸能人の非公式botってどうなんだろう

599 名前:nobodyさん mailto:sage [2009/12/15(火) 19:31:57 ID:???]
>>598
それいったら、キャラクターの非公式botだって…

600 名前:nobodyさん mailto:sage [2009/12/15(火) 19:35:48 ID:???]
>>599
全然違うだろ…

601 名前:nobodyさん mailto:sage [2009/12/15(火) 20:07:07 ID:???]
>>597
被ってたらポストしないじゃなくて
>>529>>539で言ってたみたいにもう一度array_randしないと
結局ポストせず終わるから駄目じゃないか?

それするとタイムアウトするみたいだけど

602 名前:nobodyさん mailto:sage [2009/12/15(火) 20:15:04 ID:???]
・ポストリストとログ読み込み
・ポストリストからランダムにポストする文を選ぶ
・ログと被ってないか判断
・被ってたら選び直し
・最新ポスト追加した最新10ポストのログ再作成
・ポスト

>>529はこれだけ入れたソース作ったみたいだけど
確かに判定入れるならこれだけやらないと意味ないんだよね…

別プログラムでリプライとか入れてるならそっちも含めたログにすると理想的

603 名前:nobodyさん mailto:sage [2009/12/15(火) 20:33:24 ID:???]
選び直しを入れてるからタイムアウトになるんだろ


604 名前:nobodyさん mailto:sage [2009/12/15(火) 20:43:17 ID:???]
選び直し入れないと判定そのものの存在意義がなくなる
ちゃんとポストするために入れてるんじゃないの?
結局ポスト出来ないなら判定もログ保存もツイッターがしてくれるからいらないよ

605 名前:nobodyさん mailto:sage [2009/12/15(火) 23:59:15 ID:???]
cron-jobが動いてくれないよ〜;0;
botがまったく無反応になってしまった・・・

606 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg [2009/12/16(水) 00:14:04 ID:CexvtTFs]
maximaと連携させるプラグイン作りましたが誰も使わないですよね…¬
knowledge.ddo.jp/info/index.php?option=com_content&view=article&id=51:maximaplugin&catid=35:2009-12-12-10-21-55

607 名前:nobodyさん mailto:sage [2009/12/16(水) 00:59:49 ID:???]
>>601
//ポストリストとログ読み込み
$filename = "plist.txt";
$plist = file($filename);
$filename2 = "log.txt";
$log = file($filename2);

//キー生成
$key=array_rand($plist);

//キーに該当するポストとログが同じか調べる
foreach($log as $logs){
if($logs === $plist[$key]){//ログと重複した場合
$key=array_rand($plist);//もう一度探す
continue;//foreachに戻る
}
}

$post=$plist[$key];//ポストする文にする


こうか



608 名前:nobodyさん mailto:sage [2009/12/16(水) 01:08:08 ID:???]
foreach($log as $logs){
これは・・・ゴクリ

609 名前:nobodyさん mailto:sage [2009/12/16(水) 01:11:00 ID:???]
ちなみにそれ重複が判明した以降の$logsしか判定しないぞ

610 名前:nobodyさん mailto:sage [2009/12/16(水) 01:34:58 ID:???]
>>609
ばれなきゃいいと思ってたけど指摘されたか。

//ポストリストとログ読み込み
$filename = "plist.txt";
$plist = file($filename);
$filename2 = "log.txt";
$log = file($filename2);

//キー生成
$key=array_rand($plist);
$i=0

//キーに該当するポストとログが同じか調べる
while($i<10){
if($log[$i] === $plist[$key]){//ログと重複した場合
$key=array_rand($plist);//もう一度探す
$i = 0;//$logのキーを元に戻す
continue;//whileに戻る
}
$i++;//$logのキーを1つ進める
}

$post=$plist[$key];//ポストする文にする

何度もすまん。けっきょくwhileに戻ったな。
@pagesみたいな鯖じゃなくてもっといい鯖使えばいいのにとか思ったり。

611 名前:nobodyさん mailto:sage [2009/12/16(水) 01:54:02 ID:???]
俺だったら
$filename = "plist.txt";
$plist = file($filename);
$filename2 = "log.txt";
$log = file($filename2);

$key = array_rand($plist);
$log_slice = array_slice($log, 0, 10);

while (in_array($plist[$key], $log_slice)) {
$key = array_rand($plist);
}

$post = $plist[$key];

//do〜whileでもいいけど

612 名前:nobodyさん mailto:sage [2009/12/16(水) 10:29:53 ID:???]
foreach($log as $logs){
↑これって配列をつくって並べてる、であってる?
まずいの?
phaさんのこれじゃね?

613 名前:nobodyさん mailto:sage [2009/12/16(水) 10:44:25 ID:???]
こうじゃね?
あと改行削るべきだし、できたらファイル読み込みとかにエラーチェック入れたいが。

$filename = "plist.txt";
$filename2 = "log.txt";

$plist = @file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$log = @file($filename2, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

$plist_uniq = array_diff($plist, array_slice($log, 0, 10)); //重複しない候補

$post = $plist_uniq[array_rand($plist_uniq)];




614 名前:nobodyさん mailto:sage [2009/12/16(水) 10:45:55 ID:???]
あ、テスト用に追加してた@はなくてもいいやむしろ取ったほうがいい。
エラー出さなくするものだから。

615 名前:nobodyさん mailto:sage [2009/12/16(水) 11:02:27 ID:???]
ログが常に最新10件である事前提だな…
xmlで取って来れないものか
そうしたら最新10件のログを作成する部分だけはいらなくなる

616 名前:nobodyさん mailto:sage [2009/12/16(水) 11:06:29 ID:???]
え?どういうこと?

617 名前:nobodyさん mailto:sage [2009/12/16(水) 11:13:08 ID:???]
あー他の部分見てなかったけどこれAPIからのログは読んでないわけか。
まあいんじゃね。
ていうかxmlでもjsonでもAPI叩けば拾ってこれるし。



618 名前:nobodyさん [2009/12/16(水) 11:35:25 ID:GKFzjgHo]
タロット占いできるキャラbotを作りたいんですが、
botというかPHP初心者で取っ掛かりが分かりません。
スクリプトがあまり重くなると困るので、
タロットの結果を書いたxmlを作って「占って」とリプライされたら
そのつどタロットのxmlを読み込んで結果をランダムに出力するとか可能ですか?
それともみなさん、
$tarot=array("",""......);
とかでやってるんでしょうか・・・?

619 名前:nobodyさん mailto:sage [2009/12/16(水) 12:20:23 ID:???]
>>613
ログ生成を追記モードでやってる場合は下の方が最新ログになるから
ログ読み取りの部分と被ってない部分の抽出はこうじゃ駄目かな

//ログ読み取りの部分
$filename2 = "log.txt";
$fp2 = fopen($filename2,'r+');
flock($fp2, LOCK_EX);
for($i = 0;!feof($fp2);$i++){
  $log[$i] = fgets($fp2);
}
fclose($fp2);

//被ってない部分の抽出
$plist_uniq = array_diff($plist, array_slice($log, $i-10, $i));

上から10個が最新ってログ作成の時にやりにくいしタイムアウトの一因になると思う。
ただfgetsの時はどうやって空行と改行文字飛ばせばいいか分からないし
array_slice使ったこと無いから位置指定に変数が使えるかどうか試してない。

配列の最後のキーを簡単に取得できる方法があったらごめん

620 名前:nobodyさん mailto:sage [2009/12/16(水) 14:11:14 ID:???]
>>619
そこで行数カウントしなくても
$plist_uniq = array_diff($plist, reverse(array_slice($log,0,10)) );
reverseで逆転すればいいだけだし
要素数カウントするなら別に $i = count($log) ;みたいなこともできる。

621 名前:nobodyさん mailto:sage [2009/12/16(水) 14:14:05 ID:???]
あー、こっちのが楽か。
$plist_uniq = array_diff($plist, array_slice($log,-10) );


622 名前:nobodyさん [2009/12/16(水) 23:19:30 ID:j0jV78ZZ]
www.kc-c.biz./consulting/contents-business/twitter.html
ここにヒントが...

623 名前:nobodyさん mailto:sage [2009/12/17(木) 01:12:23 ID:???]
ただの宣伝じゃねーか。

624 名前:nobodyさん mailto:sage [2009/12/17(木) 21:45:44 ID:???]
自動フォロー返しのときにDM送ろうとしてるんだが
そのDMのメッセージ内容に相手のname(screen_nameじゃない方)を使いたいときどうすればいい?

625 名前:nobodyさん mailto:sage [2009/12/17(木) 22:32:36 ID:???]
TL取得すると一緒についてくると思うけど

626 名前:nobodyさん mailto:sage [2009/12/18(金) 00:57:26 ID:???]
そのものnameって値で入ってるっしょ。

627 名前:nobodyさん mailto:sage [2009/12/18(金) 19:37:19 ID:???]
フォローにTLは取得しない
フォローイングとフォロワーのAPIでname取得できなくね?



628 名前:nobodyさん mailto:sage [2009/12/18(金) 19:42:38 ID:???]
取得すればいいのでわ?

629 名前:nobodyさん mailto:sage [2009/12/18(金) 20:11:26 ID:???]
TL上で俄かにOAuthで認証するのが流行り出した。
クライアント名を変えられるのが人気らしいですね。
使ってますか?
私はまだベーシック認証ですが。

630 名前:nobodyさん mailto:sage [2009/12/18(金) 21:22:41 ID:???]
すみませんだれか知恵をお貸しください。
phaさんのプログラミングを利用させてもらっています。
本日botのパスワードを変更したらその後まったくbotがうごかなくなってしまいました。
普通投稿とリプライ投稿ともまったく別のエラーになります。

普通投稿の方は パスワードかユーザー名が違うとのことですが、
普通にこのIDとパスでtwitterにログインできるので間違っているはずがありません。
どこか別の記述が間違っているのかと別IDでpostしてみましたが通常通り動きました。
何故か一体のbotだけうまくいかない状況です。

もう一点、同botなのですがリプライの方は
Fatal error: Wrong parameters for Exception([string $exception [, long $code ]]) in /usr/local/www/htdocs/○○/public_html/Services/Twitter/Jsphon/Error.php on line 185
と出、185行目にエラーがあるそうですが、185行目は
$message = convert_text($message);
で何が問題あるのかさっぱりわかりません。
他の正常に動いているbotのソースを丸々コピーしてみましたが同じエラーになります。

自分ではこれ以上の原因究明ができませんでした。
twitterのアカウントに問題がある気がするのですが、
twitterのhome画面ではちゃんと書き込みができるのようでもう何が何やらさっぱりです。
申し訳ございませんが誰かご教授いただけると嬉しいです。

631 名前:630 mailto:sage [2009/12/18(金) 21:30:49 ID:???]
すみません630です。
何故か今、回復してしまいました
サーバーの調子が悪かったのでしょうか・・・
スレ汚してしまい本当にすみません


632 名前:nobodyさん mailto:sage [2009/12/18(金) 22:56:43 ID:???]
>>631
そういう時はできるだけ詳細を書いておけば後続者の役に立つと思うからまだ見ていたら覚えといてくれ。

633 名前:nobodyさん mailto:sage [2009/12/18(金) 23:08:00 ID:???]
自分もphaさんのを利用させてもらってるんだけど、
返すリプライによって画像を変えたい場合ってどうしたらいいんですかね?
他の方のプログラムだとみつけたんだけどphaさんのって発言はテキストファイルで他の人とちょっと勝手が違うからよくわからないです…

634 名前:nobodyさん mailto:sage [2009/12/19(土) 00:14:49 ID:???]
phpを勉強して折衷したプログラムを作ればいい

635 名前:nobodyさん mailto:sage [2009/12/19(土) 00:32:47 ID:???]
フォローしてない人の発言を特定のキーワードで検索、取得するにはどうすれば良いのでしょうか…

636 名前:nobodyさん mailto:sage [2009/12/19(土) 01:02:08 ID:???]
search.twitter.com/
pcod.no-ip.org/yats/
buzztter.com/

このあたりがRSS吐いてるから適当に解析するよろし。

637 名前:nobodyさん mailto:sage [2009/12/19(土) 02:33:57 ID:???]
>>636
Thanx a lot!



638 名前:nobodyさん mailto:sage [2009/12/19(土) 07:18:16 ID:???]
>>629
ベーシック認証が廃止になるから
twitter.com/tweeterjp/status/6522684422

639 名前:nobodyさん mailto:sage [2009/12/19(土) 11:42:19 ID:???]
>>638
ついーたーが言ってるだけじゃなあ。
URLもRT用の無駄URLだしソース元ないん?

640 名前:nobodyさん mailto:sage [2009/12/19(土) 14:52:54 ID:???]
jp.techcrunch.com/archives/20091209twitter-le-web-2009/
apiwiki.twitter.com/OAuth-FAQ

641 名前:nobodyさん mailto:sage [2009/12/19(土) 17:58:05 ID:???]
corn-job.orgの動作が不安定なため、GAEでcronを動かしたいと思っています
自分なりに色いろやってみたのですが、どうしてもうまくいかないので相談させてください。
ttp://d89.s41.xrea.com/twitter/howtomake_bot.html
こちらをを参考に、cron.yaml/app/yaml/task.pyを作成し
GAE launcherで読み込んだのですが、Runさせようとすると数秒でエラーのアイコンが出て先に進めません
ログはこんな感じになっています。URLがダメなんでしょうか…

Running command: "['C:\\Python25\\python.exe', 'C:\\Program Files\\google\\google_appengine\\dev_appserver.py', '--admin_console_server=', '--port=8089', 'C:\\bot']"
ERROR 2009-12-19 08:32:38,951 dev_appserver_main.py:363] Fatal error when loading application configuration:
Invalid object:
Unknown url handler type.
<URLMap
static_dir=None
secure=default
script=None
url=/.*
static_files=None
upload=None
mime_type=None
login=optional
require_matching_file=None
auth_fail_action=redirect
expiration=None
>
in "C:\bot\app.yaml", line 8, column 1
2009-12-19 17:32:39 (Process exited with code 1)


642 名前:nobodyさん mailto:sage [2009/12/19(土) 18:26:07 ID:???]
>>641
まず、ml115を買ってくる



643 名前:nobodyさん mailto:sage [2009/12/19(土) 18:42:27 ID:???]
>>642
自分で鯖を立てることができるならこんなことで悩んだりしません
意地悪ですね

644 名前:nobodyさん mailto:sage [2009/12/19(土) 19:51:19 ID:???]
できるようになればいいじゃん

645 名前:nobodyさん mailto:sage [2009/12/19(土) 19:52:17 ID:???]
鯖立てしなくても24時間PCつけっぱなしにしてブラウザ自動リロードにしておけばいいだけ

646 名前:nobodyさん mailto:sage [2009/12/19(土) 19:56:18 ID:???]
リロードなんかしなくてもJavaScriptじゃだめなのか

647 名前:nobodyさん mailto:sage [2009/12/19(土) 19:57:39 ID:???]
>>643
まぁ、やってみなよ、おもしろいから。
DDNSとかで
セキュリティ??知らんがな(´・ω・`)

メールとかいろいろ遊べるし



648 名前:nobodyさん mailto:sage [2009/12/20(日) 16:24:25 ID:???]
>>641
同じようなとこで躓いた経験があります。yamlファイルの記述に問題があったようです。
そこのサイトで紹介しているyamlファイルのテキストをブラウザからコピペしたもの
ではなく、そのサイトからリンクされているページで紹介されている
ソースコードをコピペしてやってみると幸せになれるかもしれません。
違っていましたらあしからず。

649 名前:nobodyさん mailto:sage [2009/12/20(日) 20:43:29 ID:???]
>>648
おおおおお仰る通りにしてみたら成功しました!幸せになれました
本当にありがとうございました

650 名前:nobodyさん mailto:sage [2009/12/20(日) 23:25:31 ID:???]
ベーシック認証が廃止になったら、phaさんのスクリプトとかも動かなくなんの

651 名前:nobodyさん mailto:sage [2009/12/21(月) 00:24:06 ID:???]
>>650
OAuthに対応しなきゃ動かなくなるわな

652 名前:nobodyさん mailto:sage [2009/12/21(月) 00:32:05 ID:???]
OAuthはまだいいよ。
できなくなったら対策考えればいい。

ググればいくらでも出てくるからな。
ググらないのは甘え

653 名前:nobodyさん mailto:sage [2009/12/21(月) 00:51:02 ID:???]
OAuth導入できたんだけどAPIが上手く使いこなせない
慣れるの大変だなまた

これで他人のソース丸コピペBot量産厨が減るといいけどwww

654 名前:nobodyさん mailto:sage [2009/12/21(月) 00:53:31 ID:???]
PHPでOAuth使おうと思ったがサンプルはcurlしか使えないんだな。
もっとましな方法はないのか…

655 名前:nobodyさん mailto:sage [2009/12/21(月) 00:58:00 ID:???]
ラッパーの自作ライブラリはさんでるから対応さえしときゃなんとでもなりそうだ。

656 名前:nobodyさん mailto:sage [2009/12/21(月) 10:45:51 ID:???]
ていうか今までもcurl使ってたと思ったがましな方法って例えば何だ。

657 名前:nobodyさん mailto:sage [2009/12/21(月) 12:58:32 ID:???]
phaさんので使われてる日本語版Services_Twitterはcurl使ってない
d.hatena.ne.jp/sotarok/20080807/1218114681



658 名前:nobodyさん mailto:sage [2009/12/21(月) 14:12:31 ID:???]
そこのURLでも言ってるがcurlそんなダメか?

659 名前:nobodyさん mailto:sage [2009/12/21(月) 21:17:30 ID:???]
curlは認知度が低い
わざわざ使わなくてもHttp_Requestがある
curlの仕様自体が変態

660 名前:nobodyさん mailto:sage [2009/12/21(月) 22:25:00 ID:???]
curlを使ってたとこはHttp_Requestが何故か使えないから仕方なく使ってたみたいだが

661 名前:nobodyさん mailto:sage [2009/12/22(火) 04:53:06 ID:???]
>>659
fsockopenなんて遅いしそれだったらcurlでいいやと思ってる

662 名前:nobodyさん mailto:sage [2009/12/23(水) 02:57:59 ID:???]
流れを読まずにcronの代わりを考えてみたんだけど、htmlの自動更新のタグ使って代わりにできないかな?
htmlのページにフレームかなんかでphp埋め込んで、そのページを延々更新し続けるとcron使わなくても動くんじゃない?
自分はめんどくさくてそんなことせずにcronくんでるんだけど誰かcronわからなくてhtmlの知識持ってる人は試してみてほしい
24時間ずっとブラウザ立ち上げてなきゃいけないけど

うーん、やっぱり駄目かな。アホなこと考えてごめん

663 名前:nobodyさん mailto:sage [2009/12/23(水) 03:35:15 ID:???]
別にいいんじゃない?
自分が起きる時間にBOTは起きて自分が寝る時間にBOTは寝る感じで

664 名前:nobodyさん mailto:sage [2009/12/23(水) 11:48:56 ID:???]
>>662
考えたことあった
ただ>>663が言うように常にPCを上げておかなきゃいけないからね
それが問題にならないbotなら出来ると思うよ

665 名前:nobodyさん mailto:sage [2009/12/23(水) 11:58:43 ID:???]
windowsならタスクでなんでだめなの?

666 名前:nobodyさん mailto:sage [2009/12/23(水) 11:59:24 ID:???]
てかMETAタグで自動更新するくらいならJavaScript使えばいいのでは?

667 名前:nobodyさん mailto:sage [2009/12/23(水) 12:32:05 ID:???]
>>666
前提が「cronは分からないけどhtmlならできる」だから
htmlのが敷居低いんでないの?



668 名前:nobodyさん mailto:sage [2009/12/23(水) 14:35:27 ID:???]
タグ一行で済むのをわざわざJavaScriptで書く必要はないわな。

669 名前:nobodyさん mailto:sage [2009/12/23(水) 16:50:10 ID:???]
htmlやJavaScriptでわざわざ書かなくてもOperaに自動更新ツールついてるし

670 名前:nobodyさん mailto:sage [2009/12/23(水) 21:40:03 ID:???]
ブラウザに依存してる方がめんどくさいだろ。

671 名前:nobodyさん mailto:sage [2009/12/24(木) 14:59:33 ID:???]
twittbot.net/

このボットジェネレーターが結構使えると思うんだがどう?

672 名前:nobodyさん mailto:sage [2009/12/24(木) 16:16:13 ID:???]
その手のは突然サービス終了したらと思うと怖くて使えない

673 名前:nobodyさん mailto:sage [2009/12/24(木) 16:32:20 ID:???]
別に終了してもいいじゃん。
どうせtwitterなんて流行り物だし、使い続けるようなものでもないでしょ

674 名前:nobodyさん mailto:sage [2009/12/24(木) 23:28:41 ID:???]
すいません、流れを読まずに質問。
reply_pattern.phpの中身の反応させる言葉なんですけど、
複数の単語がある場合に反応する方法はありますか?
たとえば、「ごちそうさま。おいしかった」と@貰ったら
「お粗末さま。おいしくて何より」といった返答をするように、
「ごちそうさま」と「おいしい」の2つの単語がある場合に、
用意した言葉を返答するという感じ。

「ごちそうさま」だけに反応させるものもあるので、二つの言葉がある
場合に、反応する正規表現を教えて下さい。

675 名前:nobodyさん mailto:sage [2009/12/24(木) 23:29:34 ID:???]
>>674
www.mnet.ne.jp/~nakama/

676 名前:nobodyさん mailto:sage [2009/12/24(木) 23:43:40 ID:???]
>>675
 明日(ぼく|わたし)は帰宅します
これか!これだな!ありがとう!!助かった。感謝します。

677 名前:674 mailto:sage [2009/12/24(木) 23:59:04 ID:???]
あれ、どうやら違うようでした…。自分の頭はサル以下なのか



678 名前:nobodyさん mailto:sage [2009/12/25(金) 01:06:33 ID:???]
ごちそうさま.*おいしかった

だけでいんじゃね

679 名前:nobodyさん mailto:sage [2009/12/25(金) 01:08:50 ID:???]
おいしかった。ごちそうさま。
だったら?

680 名前:674 mailto:sage [2009/12/25(金) 02:20:44 ID:???]
>>678
それだと「ごちそうさま」だけの@に反応しなくなる
また、 おいしかった.*ごちそうさま
だと、「おいしかった」に反応してしまうんだ…

>>679
「おいしかったーーー!うまい!ごちそうさま!」とか
「ごちそうさま!パスタおいしかった」にも反応させたいんだ

「おいしかった。ごちそうさま。」ってきっちり@もらって
反応させるしか方法はないのかな…

681 名前:nobodyさん mailto:sage [2009/12/25(金) 02:24:57 ID:???]
2つif使えば?

682 名前:nobodyさん mailto:sage [2009/12/25(金) 02:38:50 ID:???]
「おいしい」じゃ「おいしかった」は引っかからないのでは?


683 名前:674 mailto:sage [2009/12/25(金) 02:53:24 ID:???]
>>681
if?初心者なものですまんがわかるように解説してくれ…
ちなみに「プログラミングができなくても作れるTwitter botの作り方」を
参考にしてphpいじってる。 ttp://pha22.net/text/twitterbot.html
タグはこんなかんじで

"リア充(は)?爆発しろ"=> array(
"「爆発しない」",
"「爆発する」",
),

>>682
ああ!微妙に単語を変えればいいのか…? なるほど
2つの単語同時指定っていうのが無ければ、そうする。ありがとう

684 名前:nobodyさん mailto:sage [2009/12/25(金) 03:13:29 ID:???]
プログラム分からないでやる意味が分からん。分かるようになれよ

685 名前:nobodyさん mailto:sage [2009/12/25(金) 03:20:06 ID:???]
ていうか正規表現のURL貼ってくれてんだからそれ読もうよ。
すごい基本的なこと聞いてるからそれもわかんないんじゃ今後似たような質問だらけになるぞ。

686 名前:nobodyさん mailto:sage [2009/12/25(金) 08:40:21 ID:???]
phaさんのスクリプト使わせてもらってるが
反応する単語増やしたらタイムアウトしやすくなってきた
.*を多用しすぎたのが良くなかったのか?

ファイルサイズを小さくできる(タイムアウトしにくい)表記とか
あったら教えて欲しい

687 名前:nobodyさん mailto:sage [2009/12/25(金) 10:26:04 ID:???]
>>674
「ごちそうさま」だけでいいならそれだけ書いておけば「おいしかった」があってもなくても引っかかる
「おいしかった」の有無で反応を変えたいなら分けて書けばいい
PHP云々以前の問題だと思うよ



688 名前:nobodyさん mailto:sage [2009/12/25(金) 14:08:55 ID:???]
質問の時のテンプレあるといいのかね?

689 名前:nobodyさん [2009/12/25(金) 20:40:14 ID:yLGH+OzA]
phpでbot作ってて、APIのmentions.xmlを取得してるんだけど
curlで取得してsimplexml_load_stringで読むことはわかるけど
このままforeachでループすると同じものを何回も繰り返して
二重にも三重にも実行されることになってしまうがどうしたらそれを回避できる?

690 名前:nobodyさん mailto:sage [2009/12/25(金) 21:03:01 ID:???]
意味が分からん。ループすべき処理にはforeachをかけて、すべきでない処理にはかけなければいいのでは?

691 名前:689 [2009/12/25(金) 21:18:19 ID:yLGH+OzA]
>>690
いや、そこんとこの処理をどうするか考えてる
ループを実行するたびにファイルにでもidを記録して
ループを回す度にチェックして重複してたら実行しないようにすればいいんだろうけど
それだとすごく時間かかる

692 名前:nobodyさん mailto:sage [2009/12/25(金) 21:24:49 ID:???]
ランダム発言でもしてて発言が重複しないようにしたいわけ?
それなら上のほうで同じような話が出てるよ


693 名前:689 [2009/12/25(金) 21:55:28 ID:yLGH+OzA]
>>692
そうじゃない、xmlから拾うときに前拾ったのを拾わないようにするにはどうしたらいい?

694 名前:nobodyさん mailto:sage [2009/12/25(金) 22:01:38 ID:???]
>>693
なんらかの方法でマークしておけよ。
xml取得時に日時で絞っておくとか、IDを記録しておくとか、、、

695 名前:689 [2009/12/25(金) 22:07:51 ID:yLGH+OzA]
>>694
日時で絞るなんて機能あった?
IDを記録しておく方法だと
ファイルに記録すると読み込み時間かかるし、ファイルの中身を消すタイミングもめんどくさいし
データベースでも同じ

696 名前:689 [2009/12/25(金) 22:16:08 ID:yLGH+OzA]
ああ、取得した最新のidをファイルに記録しといて今度取得するときsince_idパラメータを指定すればいいのか

697 名前:nobodyさん mailto:sage [2009/12/25(金) 22:42:30 ID:???]
>>696
日時でもなんでもやり方はあるぞ
言っちゃ悪いがそれくらい分かれ

あとsageろ



698 名前:nobodyさん mailto:sage [2009/12/26(土) 00:09:15 ID:???]
なんか無駄に長くて要点わかりにくいんだけど
要するに重複しないステータスを取得したいってことでいいんかね。
まあ>>696でいいんだろうけどAPI叩いて連続で取得したんなら
ステータスIDをキーにした配列に格納しなおして重複避けたり
読み終わったIDを保存しといてそれは除外するなり手はあると思うが。

699 名前:nobodyさん mailto:sage [2009/12/26(土) 00:30:52 ID:???]
どうせ2分とかの間隔で取得するんだから、
00:26:01に起動 → 00:24:00〜00:25:59のステータスが有効
00:28:02に起動 → 00:26:00〜00:27:59のステータスが有効
という感じでやってる。
mentions取得できなかったら?そんなの無視。

700 名前:nobodyさん mailto:sage [2009/12/26(土) 00:36:35 ID:???]
時間で指定できるのもあったよね確か

701 名前:nobodyさん mailto:sage [2009/12/26(土) 02:55:24 ID:???]
sinceは廃止される引数だったと思う。
since_id max_id を使って欲しいんだろう。

702 名前:nobodyさん mailto:sage [2009/12/26(土) 14:39:10 ID:???]
BOTで投稿したときに「APIから」と表示されてしまうのですが、
これを偽装する手段ってありませんか?

703 名前:nobodyさん mailto:sage [2009/12/26(土) 14:40:46 ID:???]
OAuth認証にすれば自由にできる

704 名前:nobodyさん mailto:sage [2009/12/26(土) 14:49:04 ID:???]
>703
ありがとうございます。
調べてみます

705 名前:nobodyさん mailto:sage [2009/12/27(日) 05:06:54 ID:???]
GAEのcron.xmlで、「毎日○時〜○時の間のみ○分間隔で実行する」という設定は可能ですか?
<schedule>の書式とにらめっこしたけど調べた範囲では分からなかった…

706 名前:nobodyさん mailto:sage [2009/12/27(日) 08:49:06 ID:???]
>>705
○分間隔にしといてBOT側で時間の対応をする

707 名前:nobodyさん mailto:sage [2009/12/27(日) 11:31:22 ID:???]
>>705 その後、どうですか?



708 名前:nobodyさん mailto:sage [2009/12/27(日) 23:04:05 ID:???]
FileQっていう月99円のレン鯖はcron無制限だよ。実際に自分のbotで試したらちゃんと動いた。

709 名前:nobodyさん mailto:sage [2009/12/28(月) 05:11:09 ID:???]
皆さんbotのプログラミング言語は何を使っているんですか?

710 名前:nobodyさん mailto:sage [2009/12/28(月) 07:37:01 ID:???]
過去ログ読め



BOTの為だけに鯖借りるのはなんかなーとは思う

711 名前:nobodyさん mailto:sage [2009/12/28(月) 08:14:48 ID:???]
無料鯖借りればいいじゃん

712 名前:nobodyさん mailto:sage [2009/12/28(月) 11:10:23 ID:???]
自鯖立てればいいじゃん。

713 名前:nobodyさん mailto:sage [2009/12/28(月) 11:34:53 ID:???]
自分で書き込めばいいじゃん。

714 名前:nobodyさん mailto:sage [2009/12/28(月) 12:16:36 ID:???]
cron使える無料サーバーなんてあるのか?
FileQが多分一番安いし一分間隔でcron使えるし

715 名前:nobodyさん mailto:sage [2009/12/28(月) 12:28:27 ID:???]
>>713
それボットじゃねーwww

FileQ試してみたけどスゲーな
安定して1分間隔でcron動く
1年1180円だしこれでいいんじゃね?

716 名前:nobodyさん mailto:sage [2009/12/28(月) 19:59:23 ID:???]
rep2置いたらジエンにつかえるじゃん

717 名前:nobodyさん mailto:sage [2009/12/28(月) 21:38:58 ID:???]
名詞や動詞を組み合わせて発言するボットを作ってる人多いけど、文意がおかしな事になってるじゃん。
もっとちゃんと作ったらいいじゃん。



718 名前:nobodyさん mailto:sage [2009/12/28(月) 22:10:42 ID:???]
>>715
FileQは操作に慣れるのに時間がかかる。
慣れるまでが問題かな。


719 名前:nobodyさん mailto:sage [2009/12/29(火) 01:24:34 ID:???]
tp://d.hatena.ne.jp/bardothodol/20090930#p1
ここを参考にTL上の単語に反応させてるんですが、サーバーを@PAGESからFileQに移動したら
Fatal error: Call to undefined function curl_init() in /home/〜〜〜.php on line 27
というエラーが出るんですが、これってこのサーバーではcurlが使えないってことですよね?
curlを使わない方法でTL上の単語に反応させる方法とかありますか?
それともcurlが使えるサーバーを探すべきか…

720 名前:nobodyさん mailto:sage [2009/12/29(火) 01:34:48 ID:???]
>>717
マルコフ連鎖とかいうのを実装して作るんだけど、あくまで「文と文のつながり」を記憶できるだけであって、文意の解析までは辿りつけてないよ。
発言ごとに辞書引いて意味を覚えるとか面白いとは思うけど、労力が足りないんじゃないかな。

721 名前:nobodyさん mailto:sage [2009/12/29(火) 03:33:58 ID:???]
cronはwindowsでもできたはず・・・
ttp://www.bitfolge.de/pseudocron-en.html

722 名前:nobodyさん mailto:sage [2009/12/29(火) 05:41:41 ID:???]
>>717
>>720だし、マルコフじゃなく自分である程度の文章のつながりを作るのもできんこともないけど
すげーめんどくさいか、すげー少ないバリエーションになってしまう。
あれはああいうカオスな発言を楽しむもんだと思ってる。

伺かみたいな文章として成り立ってるのを作るにはあれみたいに
一文ごとにデータ作ってやんないといけないしな。
チャットのbotでそういうの作ろうとしたけど飽きて投げた。
品詞の分類だけじゃなく活用まで考えて作るのすげーめんどせーよ。

723 名前:nobodyさん mailto:sage [2009/12/29(火) 15:46:23 ID:???]
>>719
APIでタイムライン上の発言を配列に突っ込んでforeachで一つづつ検索していくとか

724 名前:nobodyさん mailto:sage [2009/12/29(火) 17:12:26 ID:???]
FileQでcron試してみた。
一分間隔で動くように設定して60分放置。
結果54回動いた。

725 名前:nobodyさん mailto:sage [2009/12/30(水) 00:13:07 ID:???]
>>722
たしかに、マトモなボット作るなら膨大な量の辞書データがいるね

726 名前:nobodyさん mailto:sage [2009/12/30(水) 01:23:09 ID:???]
もしかしてcron-jobおかしい?垢削除祭か?
今日の夜から突然動かなくなったんで確認したら綺麗に消されてた
他にも消された奴いる?

727 名前:nobodyさん mailto:sage [2009/12/30(水) 02:04:50 ID:???]
>726
消された

cron-job、jaになってても1日中botが沈黙とかここ何日かで急になったんだけど
他に同じひといないかな

上にあるFileQ試してみたいんだけどcronでわからなくなってる
Commandにhttp〜じゃだめなのか…



728 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/30(水) 02:49:38 ID:???]
Cron-job互換サービスを立ち上げてみたいのですが、結構高性能なサーバーでないと不可能でしょうか?
日本語で使えるサービスが有れば便利だと思うのですが。

729 名前:nobodyさん mailto:sage [2009/12/30(水) 03:51:14 ID:???]
毎分動かすとなると、それなりに負荷がかかることになるから安い共用鯖じゃ無理
海外の安いVPSを借りてみるとか

730 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/30(水) 05:48:21 ID:???]
>>729
自宅鯖です。
model name : Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz
memory:512MB

731 名前:nobodyさん mailto:sage [2009/12/30(水) 06:06:15 ID:???]
oauth使ってると思われるbotが止まったの、アプリのAPIがサスペンデッドになってると思われ。

732 名前:nobodyさん [2009/12/30(水) 09:30:58 ID:ScDpW0+E]
cron-job消された。
別のメールアドレスで再登録しようと思ったけどダメ。
FileQもよくわからないしめんどくさいなぁ。

733 名前:nobodyさん mailto:sage [2009/12/30(水) 11:11:49 ID:???]
垢BANされた人はとりあえず応急処置としてパソコン立ち上げっぱなしでブラウザ自動更新しておいたほうがいいね

734 名前:nobodyさん mailto:sage [2009/12/30(水) 11:25:59 ID:???]
>>726です
あの後別のメールアドレスで再登録して
URLも登録し直したけど大体大丈夫っぽい
たまに動かないけど一時間に一回のボットだからそんな問題ないって感じ
今日から帰省だからその間に止まってたら困るな
やっぱり有料のサーバ借りてやるしかないのか
単なる趣味にしか過ぎないしボットのためにお金注ぐのもなんだかねー。
GAEも検討したけど色々面倒だお
設定に何十時間も掛ったと聞くけど最新のOSでもそう?
あんまりパソコン立ち上げる時間無いからちょっと躊躇してるんだ

735 名前:nobodyさん mailto:sage [2009/12/30(水) 12:48:47 ID:???]
>>727
コマンドにはhttp://じゃなく
/home/******/public_html/*****.php

と、実行したいファイルのディレクトリを書けばいけるはず。


736 名前:nobodyさん mailto:sage [2009/12/30(水) 13:29:29 ID:???]
>>735
727です。ありがとう!やってみます

737 名前:nobodyさん mailto:sage [2009/12/30(水) 13:43:24 ID:???]
>>736
動かなかったら教えてちょ



738 名前:nobodyさん mailto:sage [2009/12/30(水) 13:50:50 ID:???]
cronを毎分使いたいならやっぱり有料鯖借りないとダメなのかな〜

739 名前:nobodyさん mailto:sage [2009/12/30(水) 13:53:47 ID:???]
俺の借りてる鯖のcron使って君タチのボット動かしてあげようか????

740 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2009/12/30(水) 14:20:02 ID:???]
>>739
それ、今からやるところですよwww
webからセットアップできるcronのフロントエンドをphpで自作しているので完成次第公開します。

741 名前:nobodyさん mailto:sage [2009/12/30(水) 15:37:46 ID:???]
わっふるわっふる

742 名前:nobodyさん mailto:sage [2009/12/30(水) 15:55:25 ID:???]
わっふるわっふる

743 名前:nobodyさん mailto:sage [2009/12/30(水) 16:14:07 ID:???]
わっふるわっふる

744 名前:nobodyさん [2009/12/30(水) 17:12:51 ID:tKJERMBp]
735です。
FileQでのcronの動かし方を間違えてレスしてました。
正しいコマンドはこうです。
これは僕の例ですが、index.phpにボットのプログラムを書きpublic_htmlフォルダにアップしました。
*****の部分はアカウント名です。

/usr/local/bin/php /home/*****/public_html/index.php

まず
/usr/local/bin/php
と入力し、半角スペースを入れてから動かしたいファイルの/home/から始まるパスを入力します。

745 名前:nobodyさん mailto:sage [2009/12/30(水) 21:48:07 ID:???]
FileQ使ってるけど
php /home/ユーザー名/public_html/PHPの入ってるディレクトリ名/ファイル名.php
cd /home/ユーザー名/www/PHPの入ってるディレクトリ名; /usr/local/bin/php ファイル名.php
の2通り試してみたらどっちも同じように動いてるよ

746 名前:nobodyさん mailto:sage [2009/12/30(水) 22:03:34 ID:???]
↑はコマンド欄に直で入力ね

747 名前:nobodyさん mailto:sage [2009/12/30(水) 23:40:14 ID:???]
>>744
>>745

取り合えずcron動くのならおk



748 名前:nobodyさん mailto:sage [2009/12/31(木) 00:57:09 ID:???]
ttp://www.youtube.com/watch?v=suGALKB3j6c
ttp://www.youtube.com/watch?v=ZQ5d14wLSZg
オリンピックフィギュアスケートのメダルを左右する重要なポイント
ttp://plaza.rakuten.co.jp/mizumizu4329/diary/200912300000/
wrong edgeに付いて
ttp://plaza.rakuten.co.jp/mizumizu4329/diary/200812060000/


749 名前:nobodyさん mailto:sage [2009/12/31(木) 06:14:13 ID:???]
FileQにPHPをアップしてもエラーが出る…。
他のサーバにアップしたPHP(FileQにアップしたものと中身は同じ)は問題なく動くのに。

750 名前:nobodyさん mailto:sage [2009/12/31(木) 09:04:58 ID:???]
>>749
どのフォルダにアップした?
FFFTPとかのアップローダー使った?

751 名前:nobodyさん mailto:sage [2010/01/01(金) 09:53:36 ID:???]
>>749
サイトからコピペしたときによくあたるんだけど、、文字エンコーディング関連でエラーが出る事がある。
¥がそのままの時はバックスラッシュに変換してみて。linux環境での実話。
SJISをviで読み込ませたら¥記号のままでエスケープできずに狂ったことがあった。
FedoraはUTF8だったので
:%s/¥/\\/g
:set fileencoding=utf8
で保存し直した。

752 名前:nobodyさん mailto:sage [2010/01/01(金) 11:29:43 ID:???]
>>750
アップローダー(CyberDuck)を使って、パブリック_htmlへアップロードした。


>>751
うーん見た感じ\とかエンコードとかは大丈夫みたいなんだが…。でも返信ありがとう。

753 名前:nobodyさん mailto:sage [2010/01/01(金) 15:27:24 ID:???]
>>752
エラーの文をコピペしてみれ
スクリプトの記述ミスがいけないのか、文字化けなのか、そもそもそこのサーバーのPHPで使えない関数が含まれてるのか

754 名前:nobodyさん mailto:sage [2010/01/01(金) 23:15:29 ID:???]
今のcronの主流は

・cron-job消された!手間かけるの面倒!
→FileQ

・cron-job消された!手間をかけるのは厭わない
→GAE

・そもそもcron-job使ってません^^
→自鯖とか各自の鯖のcron

・cron?なにそれこわい
→PC起動したまま延々とリロード

かな?

755 名前:nobodyさん mailto:sage [2010/01/02(土) 19:48:02 ID:???]
PC起動したまま延々リロードしたときの電気代と月々の鯖代はどっちがかかるんだろう…

756 名前:nobodyさん mailto:sage [2010/01/03(日) 00:06:15 ID:???]
cronjob.deがあるじゃん

757 名前:nobodyさん mailto:sage [2010/01/03(日) 05:35:49 ID:???]
GAEでいろいろやってみたがland.toと@pagesは安定してるね
zeroweb(happy888.net)だと、うまく時間内にキャッチできてない→反応しない
昔から借りてる某レンタル鯖は反応するけどその後2回ほどreplyしてしまうし
鯖によって本当にマチマチ…
ちなみにどの間隔も変わらない感じした



758 名前:nobodyさん mailto:sage [2010/01/03(日) 10:03:12 ID:???]
FileQにうpした際に出るエラー

Fatal error: Call to undefined function curl_init() in /home/tre666/public_html/***/***.php on line 46

46行目は $ch = curl_init();
やっぱcurlが使えないってことでおk?

759 名前:nobodyさん mailto:sage [2010/01/03(日) 10:04:31 ID:???]
アカウント名消し忘れたwww まいっか

760 名前:nobodyさん mailto:sage [2010/01/03(日) 10:11:34 ID:???]
そう
curl未対応だな。FileQは

761 名前:nobodyさん mailto:sage [2010/01/03(日) 13:37:31 ID:???]
twitter.com/tre666
トレ君か よろしく

762 名前:nobodyさん mailto:sage [2010/01/03(日) 15:48:44 ID:???]
cron job、アカウント云々じゃなくてサービスのサーバー自体がおかしいみたい
今朝、持ってる全てのアカウントが消されてて別のメアドでアカウント取ったんだが、新しいcronを設定する端から消されて行くw
アカウント取れたからには個人を特定されて弾かれてる訳ではないだろうし
BOT本体だけでなく、30分に一回フォロー用phpを回すだけのアカウントも消されていたのもそのせいかも

763 名前:nobodyさん mailto:sage [2010/01/03(日) 18:45:10 ID:???]
>>761
変な汗でた よろしくお願いします

FileQを諦めるかwebcronにするか自力で設定するか…
1日数回の定時postはwebcronにしてたんだけど、リプライはさすがに消費量が激しいので無理だな


764 名前:nobodyさん mailto:sage [2010/01/03(日) 21:45:57 ID:???]
TL反応のプログラムをcron(サーバーのを使用)で動かそうとしたらこんなエラーメールが届きました
Warning: simplexml_load_string(): Entity: line 1: parser error : Space required after the Public Identifier in /home/***/public_html/***/***.php on line 34

Warning: simplexml_load_string(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /home/***/public_html/***/***.php on line 34

Warning: simplexml_load_string(): ^ in /home/***/public_html/***/***.php on line 34

Warning: simplexml_load_string(): Entity: line 1: parser error : SystemLiteral " or ' expected in /home/***/public_html/***/***.php on line 34

34行目は
$XML = simplexml_load_string($result);
です。
cronjob.deを使ってみても動いている気配がありません。ブラウザでアクセスすると別に何もエラーは出ないのですが。
XMLの読み込みに問題があるのでしょうか?
どうしたらいいのかわからずお手上げ状態です

765 名前:nobodyさん mailto:sage [2010/01/03(日) 22:00:13 ID:???]
>>764
"または'のエスケープ処理を忘れていませんか?

766 名前:nobodyさん mailto:sage [2010/01/03(日) 22:13:34 ID:???]
>>765
" や ' を \" や \' にすればいいのでしょうか?

767 名前:nobodyさん mailto:sage [2010/01/03(日) 22:33:27 ID:???]
>>762
cron-jobは、日本のBotで負荷が異常に増えたのに対して、〜.jp規制をかけているようです。
phpなどの実行URLか、登録メールアドレスが日本のドメインの場合強制排除しているとか。

ソースはほかの開発者さんのツイートなので曖昧ですが、〜.jpを使っていない私が
全く規制されていないのも納得できました。



768 名前:nobodyさん mailto:sage [2010/01/03(日) 23:21:18 ID:???]
まあ頻繁に話題に出て皆一斉にそれ使ってりゃ規制されんのも当然か。

769 名前:nobodyさん mailto:sage [2010/01/04(月) 01:31:21 ID:???]
>>345>>352と全く同じ状況なんだが対処法がさっぱりわからない
出来てる人はどうやってるんだろうか…?

770 名前:nobodyさん mailto:sage [2010/01/04(月) 01:59:32 ID:???]
エラーはなんて出るの?

771 名前:769 mailto:sage [2010/01/04(月) 02:12:01 ID:???]
俺に聞いてると仮定して答えるけど
エラーは出てない、ポストも問題ない、ただin_reply_to_status_idが付与されないだけなんだ
Basic認証の時は出来てたんだけどなぁ

772 名前:nobodyさん mailto:sage [2010/01/04(月) 03:03:11 ID:???]
>>771
自分はこれで出来てるけどどうだろう
$req = $to->OAuthRequest($host,array("status"=>$aaa,"in_reply_to_status_id"=>"$bbb"));

773 名前:769 mailto:sage [2010/01/04(月) 07:01:43 ID:???]
"in_reply_to_status_id"=>$bbb を "in_reply_to_status_id"=>"$bbb" に変えたら出来た!
単純な話で情けないな…。>>772ありがとう

774 名前:nobodyさん mailto:sage [2010/01/04(月) 09:56:27 ID:???]
なんだそりゃ。型によって処理分けたりしてるんかね

775 名前:nobodyさん mailto:sage [2010/01/04(月) 10:13:46 ID:???]
sutatusは基本文字列だから通ってもidは基本数値型だから蹴るみたいな?
どっちにしろ送るときゃ文字列なのにおかしなことをしてるな。
しかも黙って蹴ってるってのがなんだかやな感じだな。

776 名前:nobodyさん mailto:sage [2010/01/04(月) 10:48:00 ID:???]
>>767
land.toとかだと〜.jpじゃないけど消されるよね
単純に〜.jpで弾いてるわけだもないのかな?

777 名前:nobodyさん mailto:sage [2010/01/04(月) 11:43:15 ID:???]
FileQでcron設定してみたんだがリプライしても沈黙したまんまだ。
手動なら動くということはファイル自体は問題ないんだよな…?
なにがあかんの……



778 名前:nobodyさん mailto:sage [2010/01/04(月) 13:20:42 ID:???]
cronjob.deって、登録申込したあとメール来るのにどれくらいかかる?
1日とか待たなきゃいけないのかな…
全然来ないのでちゃんと申込出来てるのかわかんなくなって来た

779 名前:nobodyさん mailto:sage [2010/01/04(月) 16:20:35 ID:???]
>>778
メールはすぐ来た。が、その後すぐアカウントロックされてしまった。
cron-jobでロックされた人が流れてるからかもしれん
>776
自分は.comドメインだけど鯖がロリポ
鯖IPかアクセスしたIPで日本かどうか判断してるのかも

780 名前:778 mailto:sage [2010/01/04(月) 17:00:18 ID:???]
>>779
違うメアドで登録してみたら今度はすぐに来た
今のところアカロックはされてないみたいだけど
cron-job.orgのときみたいにログイン出来なくなっちゃったの?

781 名前:nobodyさん mailto:sage [2010/01/04(月) 19:08:24 ID:???]
Gmailで登録してるけどcron-job.orgもcronjob.deも垢消されてないぞ
ただもうcron-job.orgは設定するそばから消えるけど

>>777
コマンド欄にURLそのまま打ち込んでないか?
ちょっと上の方見て来い

782 名前:nobodyさん mailto:sage [2010/01/04(月) 19:46:04 ID:???]
cron-job、ログインできないのにちゃんと回ってるみたいでTL反応とかし続けてる…
同じ状況の奴いる?

783 名前:nobodyさん mailto:sage [2010/01/04(月) 19:51:34 ID:???]
>>648
>>649
あなた方のやり取りなかったら、ゴール目前で諦めてた。ありがとう。

784 名前:nobodyさん mailto:sage [2010/01/04(月) 19:53:07 ID:???]
phpだけじゃマルコフ無理なん

785 名前:nobodyさん mailto:sage [2010/01/04(月) 20:57:33 ID:???]
FileQで外部サイトのphp回せる?
curl使えない?何のこと?とか思ってたらリプライ用のファイルも回せないってことなんだよな?
お金払っちゃったぜ/(^O^)\

786 名前:nobodyさん mailto:sage [2010/01/04(月) 22:02:45 ID:???]
>>782
うちのとこもそう。
まったくいじれないのにそのまま動いてるから移行もできない状態…
とりあえず自然にオフになるの待ってる。

787 名前:nobodyさん mailto:sage [2010/01/04(月) 22:06:20 ID:???]
cron-job.org設定ではerfolgreichってなっているけれど動いてない。
誰か助けて



788 名前:nobodyさん mailto:sage [2010/01/04(月) 22:24:40 ID:???]
>>345>>352は俺です。
>>769
掘り返してくれてありがとう

>>772
ありがとう出来たよ!
型が違うのかと思ってintvalかませたりとかは試してたんだけど単純な話は単純な話だったんだな…

789 名前:nobodyさん mailto:sage [2010/01/04(月) 22:27:08 ID:???]
botみかけたけれどcron-job.org今調子わるいのか?

790 名前:nobodyさん mailto:sage [2010/01/04(月) 22:29:00 ID:???]
むしろ今のcron-job.orgは絶好調

791 名前:nobodyさん mailto:sage [2010/01/04(月) 22:31:20 ID:???]
>>790
それはギャグで言っているのか? 

792 名前:nobodyさん mailto:sage [2010/01/04(月) 22:57:17 ID:???]
うちのは問題なしだけど、蹴られないうちにファイル名変えようかな…botていうフォルダだから
向こうに用途悟られて消されかねないし

793 名前:779 mailto:sage [2010/01/04(月) 23:07:46 ID:???]
自分はcron-jobはログインできるんだけど
2つ動かしてたのがどうしても1つしか設定できなくなった
それで.deでアカウント作ったけど速攻でロックされた
deで表示された文を翻訳すると再登録するな+問題あると訴えるみたいな感じだったから
それはねーおwと思いつつ再登録してない

他にもcronサービスあるから皆が上手く分散できるといいんだが…

794 名前:nobodyさん mailto:sage [2010/01/04(月) 23:27:24 ID:???]
cronも大事なんだが、リプライのOAuth化で躓いてる…
色々削ったり位置を変えてみたけどお手上げだ

795 名前:nobodyさん mailto:sage [2010/01/04(月) 23:30:47 ID:???]
>>794
あーおなじ
定時ポストのみ対応できてつまずいた

796 名前:nobodyさん mailto:sage [2010/01/04(月) 23:48:55 ID:???]
定時postとリプライはOAuth対応出来たけどTLに反応が上手くいかん
まあそれ以前にcron探しでbot止まってるから意味ないけどな…

797 名前:nobodyさん mailto:sage [2010/01/05(火) 00:18:46 ID:???]
あいまいでよくわからんが具体的にどの辺でつまってんだ?



798 名前:nobodyさん mailto:sage [2010/01/05(火) 00:25:47 ID:???]
webcron.orgからFileQにしてみたが、
ここは凄いな。1分間隔で動くし1年で1000円ぐらいだし
cronの使い方がよくわからなかったが、
>>744>>745の書き込みですんなりできた。

799 名前:nobodyさん mailto:sage [2010/01/05(火) 00:36:34 ID:???]
>>797
795だけど私は実行してもエラー出ないけどリプライをしてくれない状態
自分で組んだのですがAPIでは動いてくれているので、恐らく組み込みがうまくできていないのではないかと…

800 名前:nobodyさん mailto:sage [2010/01/05(火) 00:47:23 ID:???]
>>797
794です。自分も>>799と同じくエラーが出ずAPIの状態…
curlを削ってもいいと聞いたので少しずつ削ってその都度試してみたけど駄目だった

801 名前:nobodyさん mailto:sage [2010/01/05(火) 00:47:51 ID:???]
FileQいいなと思うけどcurlが駄目ってとこで引っかかるのが辛いな

802 名前:nobodyさん mailto:sage [2010/01/05(火) 01:37:59 ID:???]
curlだけじゃなく他にもダメなのありそうだしな。

803 名前:nobodyさん mailto:sage [2010/01/05(火) 01:38:48 ID:???]
OAuthは認証した後はbasic認証後と同じようにAPIに投げればいいのかな

804 名前:nobodyさん mailto:sage [2010/01/05(火) 03:15:16 ID:???]
リプライとかTLはポスト部分だけOAuthに投げてそれ以外は以前のままで使ってる

805 名前:nobodyさん mailto:sage [2010/01/05(火) 04:34:41 ID:???]
SDNさんのOAuthでのAPI偽装スクリプト使わせてもらおうと思ったんだけど
PHPでOAuthを使う準備の所で、test.php叩いても真っ白い画面でソースも何も出てこないエラーになる
使ってる鯖はステップサーバーでPHP5、対応してないスクリプトなのかと思ったけど
他の同じような環境の鯖で叩くと

・ソ
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /usr/home/akairin5/public_html/twitterOAuth.php on line 21

というエラーが帰ってくる
しかし特に閉じ忘れなども無い気がするんだけど……

誰か同じようなエラーで対応した人いませんですか
色々と考えたけど、自分の経験値では完全に詰みました……

806 名前:nobodyさん mailto:sage [2010/01/05(火) 04:35:41 ID:???]
ふああああああああああああああああああああああああorz
しくじったアカウント消し忘れたorz
うう、見なかったことにorz
でも助言お願いしますorz

807 名前:nobodyさん mailto:sage [2010/01/05(火) 04:50:40 ID:???]
ここはうっかりさんが多いインターネットですね



808 名前:nobodyさん mailto:sage [2010/01/05(火) 09:46:47 ID:???]
>>805
どんまいとしか言えないwww
けど自分も真っ白のページが出てくることがたまにある

809 名前:nobodyさん mailto:sage [2010/01/05(火) 10:34:19 ID:???]
>>805
文字コード違うとか?

810 名前:805 mailto:sage [2010/01/05(火) 11:35:24 ID:???]
どんまいありがとうございますorz

>>809
最初にDLしたものをそのままUPしたらだめだったので、
文字コードをUTF-8、改行コードも念のためLF固定にして再UPしたんだけどダメで、
更に.htaccess置いてサーバーの方で改行コードを固定してもダメでした。

SDNさんのHP注意書きの様に、スクリプトのバージョン違いかとも思って
2度ほど該当バージョンの物をDLし直したんですがダメでした。

白くなるエラーは私も何度か遭遇して、その度に閉じ忘れとかが原因な事が多かったので
今回もそうなのかなぁと思ったのですが……
配布されているものに間違いがあるとは見た限り思えなくて…

ステップサーバーのPHP注意に、白くなるエラーは、PHP5に対応してないスクリプトの可能性アリ
というのがあったので、疑っても見ましたが、それも無いと思いますし……

謎です

とりあえず、自分でも、OAuth調べ中ですが、お心当たりある方居ましたら
ご助言お願いしますorz

811 名前:nobodyさん mailto:sage [2010/01/05(火) 12:04:38 ID:???]
うちのOAuthはよくサスペンドにされるんだけど…なんか問題あんのかなあ

812 名前:nobodyさん mailto:sage [2010/01/05(火) 14:17:40 ID:???]
ウチはSDNさんのところを参考に
定期発言もリプライも全部OAuth認証に変えてみたけど、設置もその後も順調だ
やっぱりサーバーとかの環境によってだいぶ差があるんだな

813 名前:nobodyさん mailto:sage [2010/01/05(火) 19:05:30 ID:???]
>>782 ノシ

814 名前:nobodyさん mailto:sage [2010/01/05(火) 21:16:43 ID:???]
こんなとこ見つけたんだけど、使ってる人いる?

ttps://mywebcron-com.loopiasecure.com/

815 名前:nobodyさん mailto:sage [2010/01/05(火) 22:09:45 ID:???]
>>814
cron-job.orgがダメになってそこに移った
@ページだとほとんど動かなかったから、他の鯖に変えたら動きだした
たまに起動しないけど無料なら想定の範囲内だと思う

816 名前:nobodyさん mailto:sage [2010/01/05(火) 22:23:38 ID:???]
あんまり広まるとまた規制されそうだが…
SetCronJobでぐぐると幸せになれるかもしれない

ところで、bardothodolさんのスクリプトが元のリプライソースでcurl使わずにOAuth化できますか?
2つあるpost関数のうち下方にあるcurlは削れてちゃんとクライアント名が変わったんだけど、
上の関数と$usernameと$passwordを削ったらpostできなかったんで、OAuth化できたのかできてないのか分からない状態です

こんな状態だけどクライアント名変えるだけでいいっていうならソースとか晒すけど…
FileQを使いたいので curl使わずにOAuth化できればいいな
どなたかご助言願います

817 名前:nobodyさん mailto:sage [2010/01/05(火) 22:36:06 ID:???]
あと少しで完成なんだけどTLに反応するやつだけ上手くいかない…


$oyasumi = array("台詞1","台詞2","台詞3");
$tadaima = array("台詞1","台詞2","台詞3");

if($reply_name != $username){
if( !preg_match ( "/@[a-zA-Z0-9-_]{3,}/", $var ) ){
if(preg_match( "/おやすむ|おやすみなさい|おやすみます|寝る|寝ます/u", $var )){
$key = array_rand($oyasumi);
$post = $oyasumi[$key];
$message = "@".$reply_name." ".$post;
tweet($message ,$username,$password);
}

if(preg_match( "/ただいま|今.*帰ってき/u", $var )){
$key = array_rand($tadaima);
$post = $oyasumi[$key];
$message = "@".$reply_name." ".$post;
tweet($message ,$username,$password);
}

ここで下の反応語句いれても上ので反応してしまう
色々なところで調べたりいじったりしたんだけどちょっと症状が違うのか上手いこといかない
馬鹿らしいこと聞いているとは思うんですが手がつけれないので…
誰かわかる方いたらお願いします



818 名前:nobodyさん mailto:sage [2010/01/05(火) 22:56:20 ID:???]
>>817
中カッコが足りなくて閉じ切ってないのでなんともいえない。
しいていえばpreg_matchがおかしいんじゃない?
あとはちゃんとマッチしてるか確認するために
if($reply_name != $username){
if( !preg_match ( "/@[a-zA-Z0-9-_]{3,}/", $var ) ){
if(preg_match( "/おやすむ|おやすみなさい|おやすみます|寝る|寝ます/u", $var )){

echo "oyasumi <br>";
$key = array_rand($oyasumi);
$post = $oyasumi[$key];
$message = "@".$reply_name." ".$post;

echo "$post $message<br>";
tweet($message ,$username,$password);
}
if(preg_match( "/ただいま|今.*帰ってき/u", $var )){

echo "tadaima <br>";
$key = array_rand($tadaima);
$post = $oyasumi[$key];
$message = "@".$reply_name." ".$post;

echo "$post $message<br>";
tweet($message ,$username,$password);
}

こんな感じでecho入れてブラウザ上で動かしてちゃんと反応するか調べる。ちゃんと動いていれば
oyasumi
台詞1 @reply_name 台詞1
みたいに出力されるはず

819 名前:nobodyさん mailto:sage [2010/01/05(火) 22:56:35 ID:???]
twitterOAuth.php自体にcurlが使われてるからSDNさんのとこの方法でOAuthにするとFileQでは動かせなくなっちゃうのかな…
FileQにみんなでcurl使えるように嘆願するか?w

それとスレチだけどなんで日本には外国みたいなwebcronサービスがないんだろ
お金かかってもいいからあったら便利なのに

820 名前:nobodyさん mailto:sage [2010/01/05(火) 23:02:52 ID:???]
>>817
「ただいま」の $post = $oyasumi[$key];
「おやすみ(oyasumi)」になってるよ

あと、

$oyasumi = array("台詞1","台詞2","台詞3");
$tadaima = array("台詞1","台詞2","台詞3");

if($reply_name != $username){
if( !preg_match ( "/@[a-zA-Z0-9-_]{3,}/", $var ) ){
if(preg_match( "/おやすむ|おやすみ|おやすみます|寝る|寝ます/u", $var )){
$key = array_rand($oyasumi);
$post = $oyasumi[$key];
$message = "@".$reply_name." ".$post;
tweet($message ,$username,$password);
}
if(preg_match( "/ただいま|今.*帰ってき/u", $var )){
$key = array_rand($tadaima);
$post = $tadaima[$key];
$message = "@".$reply_name." ".$post;
tweet($message ,$username,$password);
}
}
}
$i--;
}

↑閉じ方をこうしてみた。
直るかどうかはこの前後のソース次第かもしれないけど…

821 名前:nobodyさん mailto:sage [2010/01/05(火) 23:06:38 ID:???]
>818
早速ありがとう!
ソース変なところからだった…ごめんなさい。
$i = count($XML)-1;
$j = 0;
while($i >= $j) {
$var = $XML->status[$i]->text;
$reply_name = $XML->status[$i]->user->screen_name;
$name = $XML->status[$i]->user->name;

省略(さっきのソース)

}
}
$i--;
}
長いから省略しました。
これで閉じ切ってるかな…?

とりあえず教えてもらった方法やってまた頑張ってみます!

822 名前:nobodyさん mailto:sage [2010/01/05(火) 23:11:35 ID:???]
>820
うわっ!本当だ…すっごい恥ずかしいこれ
そこ直したら戻った気がする。一応返してきたからこれで様子見ます!
本当ありがとう…

823 名前:nobodyさん mailto:sage [2010/01/05(火) 23:18:50 ID:???]
>>819
リプライソースからcurlを消せばいいと思ってた…
そうか twitterOAuth.php自体にcurlがあったorz

5分間隔でいいならSet〜とかでいけるけど、やっぱ5分だと取得漏れが多い気がする
そしてwebcronでリプライ動かしたら破産する
自分で設定するしかないか

824 名前:nobodyさん mailto:sage [2010/01/05(火) 23:22:23 ID:???]
>>728あたりが安定した国内のcronサービスを作ってくれる とかいう夢を一瞬見た
無料は申し訳ないからできればカンパとかしたい

825 名前:nobodyさん mailto:sage [2010/01/05(火) 23:22:50 ID:???]
>>823
GAEは?

826 名前:nobodyさん mailto:sage [2010/01/05(火) 23:30:51 ID:???]
ググッたらこんなんあったけど、まだ試してない
ttp://blog.makotokw.com/2010/01/03/oauth%E5%AF%BE%E5%BF%9C%E3%80%81curl%E3%81%AA%E3%81%97%E3%81%A7%E5%8B%95%E3%81%8Fphp-twitter-library-php-twient%E3%82%92%E5%85%AC%E9%96%8B/

827 名前:nobodyさん mailto:sage [2010/01/05(火) 23:37:52 ID:???]
>>825
GAEにしようとしたんだが、Google App Engine Launcherを起動すると
See the logfire 'C:\〜GoogleAppEngineLauncher.exe.log' for details
というエラーが出るから積んだよ
再インストールしてもエラー中のlogを消してもだめだった
問題は山積みだ…



828 名前:nobodyさん mailto:sage [2010/01/05(火) 23:54:54 ID:???]
logの中身みたの?

829 名前:nobodyさん mailto:sage [2010/01/06(水) 01:25:16 ID:???]
>>828
logの中はこんな感じのが何行か…

Traceback (most recent call last):
File "GoogleAppEngineLauncher.py", line 42, in <module>
File "wx\_core.pyc", line 7913, in __init__
File "wx\_core.pyc", line 7487, in _BootstrapApp
File "launcher\app.pyc", line 53, in OnInit
File "launcher\app.pyc", line 97, in _CreateModels
File "launcher\maintable.pyc", line 35, in __init__
File "launcher\maintable.pyc", line 86, in _LoadProjects
File "launcher\project.pyc", line 63, in ProjectWithConfigParser
File "launcher\project.pyc", line 260, in _LoadFromConfigParser
File "ConfigParser.pyc", line 520, in get
ConfigParser.NoOptionError: No option 'name' in section: '1'

さっぱりなのでweb上のcronに頼ることにするよ
聞いてくれてありがとう

830 名前:nobodyさん mailto:sage [2010/01/06(水) 15:02:29 ID:???]
オプションのnameがないんじゃね?

831 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2010/01/06(水) 15:53:39 ID:???]
>>824
わざわざありがとうございます。
本格的に設計開始しましたが、あったらうれしい機能など教えていただけると開発が早く進みます

832 名前:nobodyさん mailto:sage [2010/01/06(水) 20:41:01 ID:???]
>>831

横レスだけど
cronjobみたいなシンプルなコンパネがあるとうれしいな

833 名前:nobodyさん mailto:sage [2010/01/07(木) 02:21:36 ID:???]
>>831
楽しみにしてます
かなりのユーザーがいくと思うので負担が大きいかもしれませんが…

cron-job.orgのようにCtrlで時間を細かく選択できたら便利かと思います
時間は1〜2分間隔希望です

834 名前:nobodyさん mailto:sage [2010/01/07(木) 02:37:41 ID:???]
>>831
もし有料にする場合は、銀行振込にも対応してほしい。
クレカ無いから…。

835 名前:nobodyさん mailto:sage [2010/01/07(木) 09:20:32 ID:???]
この流れはひどい

836 名前:nobodyさん mailto:sage [2010/01/07(木) 10:59:33 ID:???]
bot製作とは程遠いな

837 名前:nobodyさん mailto:sage [2010/01/07(木) 12:01:35 ID:???]
ド素人の質問ですみません。
Kotobuki Lab.さんのページを参考にしてGAEでcronを実行したいのですが
プロジェクト名すら作成例と同じにして丸コピしているのに、うまくいきません。
同じページを参考にしてうまくいった方はいますか?
変えているのはtestcronServlet.javaの11行目、testcronServletをTestcronServlet
にしたのと、botのURLだけです。
現在Logsでは2分おきにWarning No handlers matched this URL.が出っ放し、
Cron Jobsでも常にon time failedとなっています。←これがどういう状態なのかもいまいちつかめてません…
ぐぐったら海外で同じ状態のひとを見つけたのですが、具体的な解答はなされていないようなので、
どうか助言をお願いします。



838 名前:nobodyさん mailto:sage [2010/01/07(木) 13:07:48 ID:???]
>>837
そのページ見てGAEにチャレンジしたけどうまくいったよ
○○Serblet.javaのファイル名は頭1文字目が大文字じゃないと上手くいかなかった気がする

839 名前:nobodyさん mailto:sage [2010/01/07(木) 13:08:57 ID:???]
スペルミスってた
Ser「b」letじゃなくてSer「v」letね…

840 名前:nobodyさん mailto:sage [2010/01/07(木) 14:39:50 ID:???]
>>837
Warning No handlers matched this URL.
ってことはURLが間違ってるって事じゃないのかな
アドレス間違ってるかもしくはGAEからのアクセス弾いちゃってるとかじゃない?

841 名前:nobodyさん mailto:sage [2010/01/07(木) 15:21:15 ID:???]
>>837>>840
プログラムのURLが合ってても、cron.xmlの方で指定間違えてたら
Warning No handlers matched this URL.って出るよ
>>837はもう一度パス見直してみ

842 名前:nobodyさん mailto:sage [2010/01/07(木) 23:18:40 ID:???]
>>814
全然動かないんだが...

843 名前:nobodyさん mailto:sage [2010/01/07(木) 23:26:01 ID:???]
FileQとphpだけで人間によく間違えられるbot作った俺が通りますよー

844 名前:nobodyさん mailto:sage [2010/01/07(木) 23:57:56 ID:???]
>>843
自慢したいだけなら二度と来ないでください

845 名前:nobodyさん mailto:sage [2010/01/08(金) 00:42:38 ID:???]
>>844
リプライ返しはあいさつに対してのみ行う場合なら人間っぽいbot簡単に作れるよー。

まず「つぶやき収集bot」を作って、あらゆるツイートを収集し、リプライツイートや時々内容のツイートを取り除きテキストファイルに順に格納していく。

時々内容のツイートを取り除く方法は、まずニュースサイトの記事をyahooの形態素解析APIを使って名詞を抜き出し辞書を作っておく。
そして「つぶやき収集bot」が収集したツイートも形態素解析し名詞を抜き出し、あらかじめ作った辞書を検索しその名詞が見つかればそのツイートは取り除く。

あとはテキストファイルに格納したツイートを適当に抜き出ししゃべらせる。

846 名前:nobodyさん mailto:sage [2010/01/08(金) 00:47:33 ID:???]
問題は人間の質問に答えられるbotをどう作るかだろう。
あるいは人間とマトモな会話ができるbot。

これはかなり時間がかかりそうだ。

847 名前:nobodyさん mailto:sage [2010/01/08(金) 01:51:52 ID:???]
手間をかけずに楽しめるbotを作る方がおもしろい。



848 名前:nobodyさん mailto:sage [2010/01/08(金) 02:14:44 ID:???]
自分に向けられた発言への類推は難しいよな。
品詞ごとに分けておおまかな意味を推測させようかと考えてはみたが

>>846
マトモに会話してるように見えるbotなら人工無脳にいくつかあるけど
あれらを今から作るってのは手間だしマルコフ連鎖で繋げてそれっぽく見せるのがせいぜいだろうな。
辞書登録してやるとどうしても反応できるワードには限りがあるし。
本気で知能やろうとするとと個人でやるには大変だ。

849 名前:nobodyさん mailto:sage [2010/01/08(金) 02:48:09 ID:???]
さくらサーバーでTLに反応するPHPのcron動かしてる人っていますか?
リプライとかは平気なのにTL反応のcronだけ削除されてしまいます
中身は銀さんのをほぼ丸写ししただけ。なにが悪いんだろう?


850 名前:nobodyさん mailto:sage [2010/01/08(金) 04:10:34 ID:???]
>>849
cronの実行間隔が短すぎるんじゃねーの?

851 名前:nobodyさん mailto:sage [2010/01/08(金) 04:35:57 ID:???]
>>850
リプライは3分おきで動いてるのにTLは10分にしても消されました
もっと長くすれば大丈夫かもしれないけどTL反応の間隔が10分以上では遅すぎるし・・・

852 名前:nobodyさん mailto:sage [2010/01/08(金) 04:58:44 ID:???]
さくらに聞けよ

853 名前:nobodyさん mailto:sage [2010/01/08(金) 05:32:19 ID:???]
>>851
周期が1時間以内だと、消される方が正常
3分で消えないっておかしいな

854 名前:nobodyさん mailto:sage [2010/01/08(金) 06:00:29 ID:???]
>>853
そうなのか・・・じゃあさくらサーバー使ってる人でもcronは別な所で動かしてるってことなんですかね?
リプライは平気なのにTLはダメっていうのが不思議だけど、諦めて他の方法で動かすことにします

855 名前:nobodyさん mailto:sage [2010/01/08(金) 08:05:52 ID:???]
>>848
俺の目標は、ある人が人間と思ってフォローした人たちが全員botだった、という状況を作ることなのだよ。

856 名前:nobodyさん mailto:sage [2010/01/08(金) 08:14:21 ID:???]
遅くなりましたが>>837です
>>841さんのいうcron.xmlでの指定ミスが原因だったようで、urlのところを直したら
すんなり動いてくれました。web.xmlからURLを確認する過程自体をすっとばしていたという、
なんともお粗末な理由でした…
助言をくださった方、ありがとうございます。botが動いて感激です。

857 名前:nobodyさん mailto:sage [2010/01/08(金) 10:56:08 ID:???]
cron-job.orgからGAEに変えたんだけど、
GAEのログにファビコンが無いっていうエラーが出まくる
何かファイル追加してファビコンを指定すればいいらしいんだけど
具体的な方法がわからない…どこかに参考になるサイトとかないかな?



858 名前:nobodyさん mailto:sage [2010/01/08(金) 12:15:40 ID:???]
>>854
さくらだけど消されてないよ。
GAEで動かしてるからかな?

>>857
ブラウザでアクセスするのやめる

859 名前:nobodyさん mailto:sage [2010/01/08(金) 12:18:38 ID:???]
あ、すまん。
さくらの人が消されたのはcronの方か。
勘違いしてた

860 名前:nobodyさん [2010/01/08(金) 17:10:10 ID:voJUVX7V]
ごめん、OAuthの話に戻るんだけどさ
SDNさんを参考にして、定時はいけたんだけどリプライとTLがいまいちなんだ。
エラーも出ないでクライアント名とかリプライ元つきで返してくれているんだけど、
なんか叩くとめっちゃ返してくる…
前に答えたやつにも重複して返すし、tmpがうまく読めてないんかな。
初心者ですまない…元々銀次さんの所のコピペに頼りきりだったからどうしてすれば良いかわからないんだ。
教えてくれると凄く幸せになれるんだが…

861 名前:nobodyさん mailto:sage [2010/01/08(金) 17:41:13 ID:???]
>>860
銀さんとこのリプライソースでいいんだな?
リプライソースの中の

$ch = curl_init();
(中略)
curl_close($ch);

を全部消して、function tweetをSDNさんとこのソースに
tweetの引数は$message以外を削除、って感じで行けると思う
もちろん細かいところは適宜修正してくれ

862 名前:nobodyさん [2010/01/08(金) 17:57:17 ID:voJUVX7V]
>>861
ありがと。
でもごめん、その通りにしたら
<?xml version="1.0" encoding="UTF-8" ?>
- <hash>
<request>/statuses/update.xml</request>
<error>Incorrect signature</error>
</hash>
て@ページでエラーでたんだけどorz
function tweetの中が間違ってるんかな。
それともrequire_onceの場所がおかしいとか…?
もう訳わからんよ…細かいところの修正が出来てないからかな。
頭悪くてごめんな。
一回貼ったほうがわかりやすい?

863 名前:nobodyさん mailto:sage [2010/01/08(金) 18:02:23 ID:???]
>>862
見た方が早いことは早いかも

864 名前:nobodyさん mailto:sage [2010/01/08(金) 18:13:36 ID:???]
>>862
あーごめん
$ch = curl_init();
(中略)
curl_close($ch);
は消さなくてもいいや(OAuth認証でTL取得しない場合は)

消した場合(OAuth認証でTLを取得する場合)は
$XML = simplexml_load_string($result);
のところも変えないと駄目

865 名前:nobodyさん [2010/01/08(金) 18:32:53 ID:voJUVX7V]
>>864
お、ごめん長くて貼れなくて苦戦してた…
$XML = simplexml_load_string($result);
の部分なんだけど、ごめんどういじれば良い?

866 名前:nobodyさん mailto:sage [2010/01/08(金) 18:44:15 ID:???]
SDNさんとこのをそのまま使うんならこんな感じかな。ソース汚いけど
if(!empty($line)){
$last_id = $line;
}else{
$cnt = "1";
}
$consumer_key = "consumer_key"; // Consumer keyの値
$consumer_secret = "consumer_secret"; // Consumer secretの値
$access_token = "access_token"; // Access Tokenの値
$access_token_secret = "access_token_secret"; // Access Token Secretの値
// OAuthオブジェクト生成
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
// TwitterからGETする
if(($cnt != null)&&($last_id != null)){
$req = $to->OAuthRequest($host,array("count"=>$pcount,"since_id"=>$last_id),"GET");
}else if(($cnt != null)&&($last_id == null)){
$req = $to->OAuthRequest($host,array("count"=>$cnt),"GET");
}else if(($cnt == null)&&($last_id != null)){
$req = $to->OAuthRequest($host,array("since_id"=>$last_id),"GET");
}else{
$req = $to->OAuthRequest($host,array(),"GET");
}
$XML = simplexml_load_string($req);

867 名前:nobodyさん mailto:sage [2010/01/08(金) 18:45:34 ID:???]
うおっと、またミスった
$pcountになってるところは$cntで…orz



868 名前:nobodyさん [2010/01/08(金) 20:09:05 ID:voJUVX7V]
>>867
うわーごめん、何かほんと頭悪いみたい。
TLとかリプライいじってみたけど、返事しないわ…orz
そもそも基本的なこと間違えてる気がしてならない…
ちょっと基本的な事勉強してくるわ、協力してくれてありがと。

869 名前:nobodyさん mailto:sage [2010/01/08(金) 23:45:40 ID:???]
銀次さんのとこの方法は重くなるからcronに向かないな。
さくらで勝手に削除されたのもそのせいだと思う

問題はその重いスクリプトを多くの人が参考にしてるってことだ

870 名前:nobodyさん mailto:sage [2010/01/09(土) 00:01:26 ID:???]
自分でOAuthの実装してたんだけど、
アクセストークンと認証トークンの取得までいけた。
で、APIアクセスしようとおもったら
Incorrect signatureっていわれた

これってoauth_signatureの作り方が間違ってるのかな?

871 名前:nobodyさん mailto:sage [2010/01/09(土) 00:08:52 ID:???]
>>870
自分もその表示が出て、対処方法が全然判らなかったから
一度全部消して、また最初からやり直したらいけたよ。
全然参考になってないけど…体験者より。

872 名前:nobodyさん mailto:sage [2010/01/09(土) 00:09:55 ID:???]
>>871
マジか・・・

873 名前:nobodyさん mailto:sage [2010/01/09(土) 00:15:30 ID:???]
ついったは人工無能の分野でも研究対象になんのかな

874 名前:nobodyさん mailto:sage [2010/01/09(土) 00:19:34 ID:???]
ぜんぜんならない、効率悪い。

しかし、話題性があるから薄っぺらな内容でも
凄い事のようにマスコミが持ち上げてくれる。

875 名前:nobodyさん mailto:sage [2010/01/09(土) 00:26:56 ID:???]
シグネチャ作るときのURLが固定だったのが原因だった
直したらTweetできたやったあああああああ

876 名前:nobodyさん mailto:sage [2010/01/09(土) 01:43:50 ID:???]
>>869
PHPにアクセスするとしょっちゅうタイムアウトエラーが出るんだけど、これもそのせいかな?
そのおかげでcronがちゃんと動いていてもポストされないみたいなんだ

877 名前:nobodyさん mailto:sage [2010/01/09(土) 02:05:23 ID:???]
>>876
869じゃないけどたぶんそのせいだと思う。
cron-jobはただ単に指定したURLを叩くだけだったから、特に削除されるとかないし組み合わせ的には最適だったと思うよ。



878 名前:nobodyさん mailto:sage [2010/01/09(土) 04:04:37 ID:???]
>>860-868あたりを読んで自分なりに実装したんだけどちっとも動いてくれない…。

//ポスト部分の関数


// OAuthオブジェクト生成

$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret,$message);


function tweet($username,$password,$id)

{

$message = urlencode($message);

$ch = curl_init();

★$req = $to->OAuthRequest("https://twitter.com/statuses/update.xml",array("status"=>"$message"),"POST");

curl_close($ch);

}

header("Content-Type: application/xml");

echo $req;

という風にしたら「Fatal error: Call to a member function OAuthRequest() on a non-object in★の行」というエラーが出てきてしまう…。
OAuthでリプライできてる方、ポスト部分はどうなってますでしょうか。
鯖はロリポでPHP5みたいです。

879 名前:nobodyさん mailto:sage [2010/01/09(土) 04:05:19 ID:???]
わあなんだか余計な改行が挟まれてる
見にくくてすいません…

880 名前:nobodyさん mailto:sage [2010/01/09(土) 11:14:41 ID:???]
>>878
function tweet$username,$password,$id)を、
function tweet($consumer_key,$consumer_secret,$access_token,$access_token_secret,$message,$to)にするか、
$toをfunction内に書けば多分エラーが出なくなるはず
urlencodeは書いておいたほうがいいかもしれないけど、とりあえずcurlは書かなくておk

でもこれだといちいち呼び出さなきゃいけないから、適当なところに$toと$reqを書いたほうが楽だし軽くなると思う

881 名前:nobodyさん mailto:sage [2010/01/09(土) 12:06:30 ID:???]
ここの人たちはわかってるんだろうけど、最近は特定ワードを拾ってきて
無差別でフォローしてない相手にもリプライするbotが目に付くようになったね。
ああいうつまんないことで反感買って印象悪くするのは避けたいもんだね。

882 名前:nobodyさん mailto:sage [2010/01/09(土) 12:08:43 ID:???]
プログラミングができなくても〜を参考にbot作ってます。
話しかけられた時、指定した単語が入ってないと「もう一回言って?」みたいな反応させたいんだけど、
こういう時はどうすればよいですか。

883 名前:nobodyさん mailto:sage [2010/01/09(土) 12:27:07 ID:???]
>>882
話しかけられた内容に指定ワードがあるかを検索したらいいだけだと思うが

884 名前:nobodyさん mailto:sage [2010/01/09(土) 12:55:12 ID:???]
>>882
phaさんが設置したbot用掲示板に書いてある
すこしはログ見るとかしてみないか?

885 名前:882 mailto:sage [2010/01/09(土) 12:59:27 ID:???]
本当だ、ちゃんと見てなかった・・・失礼しました

886 名前:nobodyさん mailto:sage [2010/01/09(土) 15:19:11 ID:???]
8bitさんのスクリプトをOAuthで動かしたくていろいろ弄ってるんだけどうまくいかない
「ライブラリを読み込む」の部分をSDNさんの「twitterOAuth.phpを読み込む」に
「Twitterからタイムラインを取得」をSDNさんの「例えば、TLを取得するのなら」に
それぞれ変更してるんだけど

Warning: array_reverse() [function.array-reverse]: The argument should be an array in /home~.php on line 33
($reply = array_reverse($reply);の行)

Warning: Invalid argument supplied for foreach() in /home~.php on line 41
(foreach($reply as $rep){ の行)

というエラーが出る。これってTLが読み込めてないってことなのかな?
もしかしたら全然見当違いなことしてるかもしれない・・・

887 名前:nobodyさん mailto:sage [2010/01/09(土) 15:55:13 ID:???]
自分宛以外のリプレイで「@nantoka こんにちわ」という文にbotが「こんにちわ」に
反応しないようにするにはどうしたらいいのでしょうか…

if( $screen_name == $username){ //POSTが自分のPOSTだった場合にサブルーチンから抜ける
return;
}
if( preg_match("/\@$username/",$text)){
//POST内容に「/」で囲まれた中で書かれた文字列(この場合$username=@botのアカウント(自分へのリプライ))を探し、あった場合に次の処理に入る。無かったら対応する括弧以降へ飛ぶ
if( preg_match("/RT/",$text)){ //POST内に「RT」があるかどうか調べる
return; //「RT」がPOST内にあったので、処理を中断してサブルーチンから抜ける
}

ここらへんを変更するのかな?と思って色々触ってるのですが、どうしてもできません…



888 名前:nobodyさん mailto:sage [2010/01/09(土) 17:27:25 ID:???]
>>880
ありがとうございます。
ttp://mini.bitter.jp/oauth_reply.txt
アドバイスを見ながら書いてみたものが上のURLの物になります($toをfunction tweet()の下に入れてみました)
が、このようにすると

XML パースエラー: 要素が見つかりません。
URL: http://〜oauth_reply.php
行番号: 1, 列番号: 1:

というエラーが出てきてしまいます。このエラーでググってみてもイマイチこの場合と結びつかないというか…。

889 名前:nobodyさん mailto:sage [2010/01/09(土) 20:41:00 ID:???]
oAuthにむりに固執しなくていいんじゃない?

890 名前:nobodyさん mailto:sage [2010/01/09(土) 21:58:48 ID:???]
6月以降はベーシック認証が「非推奨」になるんだっけ
どうしたもんかな…

891 名前:nobodyさん mailto:sage [2010/01/09(土) 22:17:16 ID:???]
きちんと検証してないけど、こんな感じで動かないかな?

<?php
$username = "1111";
$key = "3333";
$consumer_key = "4444";
$consumer_secret = "5555";
$access_token = "6666";
$access_token_secret = "7777";

$filename = "data/data.dat";
$host = "twitter.com/statuses/mentions.xml";

$fp = @fopen($filename,'rb') or die("ファイルが開けません");
flock($fp, LOCK_EX);
$line = fgets($fp, 64);
fclose($fp);

if(!empty($line)){
$last_id=$line;
}else{
$cnt = "1";
}
$XML = getObjOAuth($host,$cnt,$last_id,$consumer_key,$consumer_secret,$consumer_secret,$access_token,$access_token_secret);

892 名前:nobodyさん mailto:sage [2010/01/09(土) 22:18:02 ID:???]
>>891の続き

$i = count($XML)-1;
$j = 0;

while($i >= $j) {
$var = $XML->status[$i]->text;
$com = ereg_replace("\@$username", "", $var);
$id= $XML->status[$i]->id;
$reply_name = $XML->status[$i]->user->screen_name;
$name = $XML->status[$i]->user->name;
$message = serif($reply_name,$name,$com);
//かえって来た値がnullじゃない場合のみ投稿する
if ($message != null){
tweetOAuth($message,$id,$key,$consumer_key,$consumer_secret,$consumer_secret,$access_token,$access_token_secret);
}
$i--;
}
$string = $XML->status[0]->id;

if(!empty($string)){
$dat = (string)$string;
file_put_contents($filename,$dat,LOCK_EX);
}

function serif($reply_name,$name,$com){
(省略)
}

893 名前:nobodyさん mailto:sage [2010/01/09(土) 22:19:03 ID:???]
>>892の続き

//OAuth経由でTwitterに投稿する
function tweetOAuth($message,$id,$key,$consumer_key,$consumer_secret,$consumer_secret,$access_token,$access_token_secret){
require_once("twitterOAuth.php");
$message = mb_convert_encoding($message, "UTF-8","ASCII,JIS,UTF-8,EUC-JP,SJIS");
// OAuthオブジェクト生成
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
// TwitterへPOSTする。パラメーターは配列に格納する
$req = $to->OAuthRequest("https://twitter.com/statuses/update.xml",array("status"=>$message,"in_reply_to_status_id"=>"$id"),"POST");
}

//OAuth経由でTwitterから取得
function getObjOAuth($host,$cnt,$last_id,$consumer_key,$consumer_secret,$consumer_secret,$access_token,$access_token_secret){
require_once("twitterOAuth.php");
// OAuthオブジェクト生成
$to = new TwitterOAuth($host,$consumer_key,$consumer_secret,$access_token,$access_token_secret);
// TwitterからGETする
if(($cnt != null)&&($last_id != null)){
$req = $to->OAuthRequest($host,array("count"=>$cnt,"since_id"=>$last_id),"GET");
}else if(($cnt != null)&&($last_id == null)){
$req = $to->OAuthRequest($host,array("count"=>$cnt),"GET");
}else if(($cnt == null)&&($last_id != null)){
$req = $to->OAuthRequest($host,array("since_id"=>$last_id),"GET");
}else{
$req = $to->OAuthRequest($host,array(),"GET");
}
$req_array = simplexml_load_string($req);
return $req_array;
}
?>

894 名前:nobodyさん mailto:sage [2010/01/09(土) 22:31:57 ID:???]
>>887
8bitnoteさんとこのスクリプトだと思うけどそこは関係ないよ
その下の
elseif( preg_match("/眠い/",$text)){ //上記で調べた自分へのリプライがなかった場合にこの処理に移る。POST内容に眠いが含まれていたら次の処理に移る
の前に@が含まれるpostを弾く処理を入れればいいはず

895 名前:888 mailto:sage [2010/01/10(日) 01:00:53 ID:???]
>>891-893
ソースありがとうございます!
891さんのソースをコピペして動かしてみた結果、Arrayという文字だけはPOSTしてくれるようになりました。
もうちょっとどうにかしてこようとおもいます。
ありがとうございました!

896 名前:nobodyさん mailto:sage [2010/01/10(日) 01:20:14 ID:???]
>>894
回答ありがとうございます
このPHPにはbotへの@リプライとTLから特定単語を拾ってリプライする動きを書いてます
@が含まれるpostを弾くと、このbotへのリプライに反応する事ができなくなってしまいます…
また

if( $screen_name != $username){ //POSTが自分のPOSTではなかった場合にサブルーチンから抜ける
return;
}

を打ってみたのですがやはりエラーが出ました

897 名前:nobodyさん mailto:sage [2010/01/10(日) 01:56:39 ID:???]
>>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さん mailto:sage [2010/01/10(日) 05:42:07 ID:???]
>>891の通りにやってみたら、PHPにアクセスすると真っ白の画面が出るようになってしまった
エラー表示されないから何が何だか・・・

899 名前:nobodyさん mailto:sage [2010/01/10(日) 05:42:42 ID:???]
>>891
$username = "1111";
$key = "3333";
が何だかわからないんだけど、ごめん参考元?ってなにになるのかな?

900 名前:nobodyさん mailto:sage [2010/01/10(日) 10:42:09 ID:???]
>>899
えっ

901 名前:nobodyさん mailto:sage [2010/01/10(日) 12:03:57 ID:???]
>>899
ごめん$key要らない・・・
自分は複数BOT作ってて複数でも使いまわせるようにしてるんで、その名残だ
要らないところ削除して直したつもりが残ってたみたい

902 名前:nobodyさん mailto:sage [2010/01/10(日) 12:17:50 ID:???]
>>898
>>891のソースにはどこにも出力命令が無いんだから
ブラウザでアクセスして何も表示されないのは当たり前だろ

903 名前:nobodyさん mailto:sage [2010/01/10(日) 16:18:50 ID:???]
>>902
ごめん。真っ白になるだけでポストしないからどこかにエラーが出るはずだと思ったんだけど
さっき確認したら今まで普通に動いていた別のスクリプトでも同じ現象が起こった
そっちは弄ってないから原因は>>891ではないみたい

904 名前:nobodyさん mailto:sage [2010/01/10(日) 23:13:36 ID:???]
自動フォロー返し時にDM送るようにしてるんだけど
たまにフォローだけしてDM送られなかったりフォロー失敗してDMだけ送られたりする
この問題解消するときってどうすりゃいいのかな

905 名前:nobodyさん mailto:sage [2010/01/11(月) 17:34:10 ID:???]
すみません初心者で簡単な質問ですが、分かる方は教えて頂けると助かります…
(例)「おかえり、今日の夕飯は○○ですよ」
という文章で、○○の部分をランダムで変えたいのですがプログラムが分かりません

$mesi = array("和食","洋食","中華");

と書いて、

$mes['night'] = array( //夜の時間に発言
"おかえり、今日の夕飯は $mesi ですよ");

とやっているのですが、「おかえり、今日の夕飯はArrayですよ」と表示されてしまいます


906 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2010/01/11(月) 17:40:24 ID:???]
>>905
> $mesi = array("和食","洋食","中華");
>
> と書いて、
>
> $mes['night'] = array( //夜の時間に発言
> "おかえり、今日の夕飯は $mesi ですよ");

$mesi = array("和食","洋食","中華");
$num = array_rand($mesi,1);
$mes['night'] = array(
"おかえり、今日の夕飯は $mesi[$num] ですよ");

でいいと思う。


907 名前:nobodyさん mailto:sage [2010/01/11(月) 18:02:52 ID:???]
>>906
早い回答ありがとう!
ついでに聞いておきたいんですが、$num = array_rand($mesi,1);の1ってなんの意味?
この中から1つ選ぶ…って事?



908 名前:nobodyさん mailto:sage [2010/01/11(月) 18:07:19 ID:???]
つ公式PHPマニュアル

909 名前:nobodyさん mailto:sage [2010/01/11(月) 18:12:07 ID:???]
API叩いた後に応答情報あるでしょ。
それが正しく帰ってきてればOKでいいじゃん。

910 名前:nobodyさん mailto:sage [2010/01/11(月) 18:25:16 ID:???]
php叩いても成功した時はなにも文章が出てきません…
そしてまた行き詰ったんだが、>>906やり方でやってみたら
ときどき何もランダム単語表示されない時がある…
「おかえり、今日の夕飯は ですよ」
みたいな感じ

911 名前:nobodyさん mailto:sage [2010/01/11(月) 18:36:05 ID:???]
飯抜きだったんだよ

912 名前:nobodyさん mailto:sage [2010/01/11(月) 23:35:54 ID:???]
だれうま

913 名前:nobodyさん mailto:sage [2010/01/11(月) 23:48:16 ID:???]
>>910だが、自力でどうにかなった
>>906の方法じゃないけどなぜか出来たのでこれで十分だ

914 名前:nobodyさん mailto:sage [2010/01/12(火) 01:54:55 ID:???]
自己解決したままじゃなくてどうやって解決したまで書かないと

915 名前:nobodyさん mailto:sage [2010/01/12(火) 06:32:37 ID:???]
>>849ですが8bitさんのスクリプトを使ってみたらさくらでもcron消されませんでした
GAEやろうとして行き詰まってたところだったから助かった!

916 名前:nobodyさん mailto:sage [2010/01/12(火) 19:19:52 ID:???]
@をもらうとおみくじを返す系のbotを製作中の初心者です。
phpを2分おきにGAEのcronで叩いてるんですが、タイムアウトにひっかかっているらしく、
たとえば30分以内の@に対しおみくじを返すように設定しても15回中5〜8回程度しか返って来ません。
これを「ひとつの@につきひとつのリプライを返す」というふうに、php側で処理することは可能でしょうか?
GAEのtask queuesも試してみたんですが、This queue is empty.と出て動きません。
きっと非常に初歩的なミスをしているのだと思いますが、どちらかについてご存知の方は
ご助言をお願いしますorz

917 名前:nobodyさん mailto:sage [2010/01/12(火) 19:59:34 ID:???]
リプライしても無視し続けたらボットだってバレるかな?



918 名前:nobodyさん mailto:sage [2010/01/12(火) 21:19:02 ID:???]
>>916
重くなってる処理はないか確認してみる
GAEはだいたい4~8秒くらいでタイムアウトになるからその分処理を軽くしなければならないよ

まあ晒せる範囲でソース晒してみたら

919 名前:nobodyさん mailto:sage [2010/01/12(火) 23:28:49 ID:???]
>>916
同文の投稿制限にひっかかってるとかもあるんじゃないのか

920 名前:nobodyさん mailto:sage [2010/01/14(木) 15:32:58 ID:???]
投稿関係でうまくいかないときって、連投規制に引っかかってることが多いよ

921 名前:nobodyさん mailto:sage [2010/01/14(木) 19:33:13 ID:???]
ttp://www.setcronjob.com/って今
@pages使ってる人だと動き不安定?
一度削除して登録し直そうとしてもタイムエラー出るんだが…


922 名前:nobodyさん mailto:sage [2010/01/14(木) 22:14:43 ID:???]
>>921
さくらでもタイムエラー出る…

923 名前:nobodyさん mailto:sage [2010/01/14(木) 22:16:36 ID:???]
サーバー自体がおかしいのかね
demoでログインしたらサーバーのcp.phpが入ってた
チェック中なのかな?明日には直ってくれるといいね

924 名前:nobodyさん mailto:sage [2010/01/14(木) 22:16:37 ID:???]
途中送信した。
今まで調子よかったのになんで急に…入金したばっかりなのに

925 名前:nobodyさん mailto:sage [2010/01/14(木) 22:51:55 ID:???]
SetCronJobはもう、このURLに達することができません。 誤り: 接続は外で調節しました。
有料垢だろうがjpドメインの鯖を規制してるっぽい。

926 名前:nobodyさん mailto:sage [2010/01/14(木) 22:57:00 ID:???]
えええ金取ってそれって詐欺じゃん

927 名前:nobodyさん mailto:sage [2010/01/14(木) 23:06:05 ID:???]
垢自体は凍結されてないので@PAGEからXREAに変えたら使えた。



928 名前:nobodyさん mailto:sage [2010/01/14(木) 23:11:02 ID:???]
申し訳ございません。 現在、一般向け無料サーバーの募集は行っておりません。 次期募集をお待ち下さい。

XREA…(´・ω:;.:...

929 名前:nobodyさん mailto:sage [2010/01/14(木) 23:27:59 ID:???]
完全に金かけずにやるのはもう厳しいな

930 名前:nobodyさん mailto:sage [2010/01/14(木) 23:30:28 ID:???]
>>845
詳しい作り方をblogとかに公開すればアクセス稼げるよきっと

931 名前:nobodyさん mailto:sage [2010/01/15(金) 00:30:49 ID:???]
URL転送サービスでURL変えて登録だと動かない?

932 名前:nobodyさん mailto:sage [2010/01/15(金) 01:11:26 ID:???]
GAE使えば無料じゃないか

933 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2010/01/15(金) 01:56:33 ID:???]
どうも。cronのクローン作るとか言っていた香具師です。
sendmail,postfixが言う事を聞かないのでメールに頼らない認証方法を確立したいのですが、どうすれば良いでしょう…(人任せ)
せっかくTwit専用なのだしtwitterのアカウント経由で認証するのもありだと思います。
そうすれば管理もtitter経由で可能になりますし。
いかがでしょう。

934 名前:nobodyさん mailto:sage [2010/01/15(金) 01:59:48 ID:???]
SetCronJobの有料垢だけど、管理者からメールきてて
jpドメインでも使えるようにする案と、場合によっては返金するよって内容のものだった。
自分は自力で使えるようになったけど一応、対応はしてくれるみたいでちょっと安心した

935 名前:nobodyさん mailto:sage [2010/01/15(金) 02:03:03 ID:???]
無料でもjpドメイン使えるようになって欲しいな…

936 名前:nobodyさん mailto:sage [2010/01/15(金) 13:49:35 ID:???]
phaさんのリプライスクリプトにGAEを組み合わせて使ってるんだけど、
スクリプト中の「何分以内にもらったリプライを読み込む」を2分に、GAEのcronファイルも2分毎に更新にしてあるんだけど、どうも取りこぼしがあるみたいなんだよね。
そういうもん?

937 名前:nobodyさん mailto:sage [2010/01/15(金) 14:01:44 ID:???]
そうでもない



938 名前:nobodyさん mailto:sage [2010/01/15(金) 14:08:56 ID:???]
>>936
GAEが誤差があるからな
$limittime = $now - $cron * 60;
ここを変えれば良い
自分は62にしてる
それでも取りこぼしはあるけどね
あまり秒数を増やすと今度は2重投稿しちゃうよ

939 名前:nobodyさん mailto:sage [2010/01/15(金) 15:58:06 ID:???]
ttp://www.onlinecronjobs.com/
アメリカのでこんなの見つけたけど、使えない?

940 名前:nobodyさん mailto:sage [2010/01/15(金) 16:38:38 ID:???]
@pages使いでFree Web Cron Serviceでcron設定してるんだけど
一切反応しない…
5分間隔と20分間隔にしているんだけど何が原因なんだろう

941 名前:nobodyさん mailto:sage [2010/01/15(金) 17:04:16 ID:???]
今人間と会話できるbot作ってるんだけど、アルゴリズムが難しいんだ。
特に感情を持たせるにはどうすればいいかアイディアをくれないか?

一応疑問文に応答するアルゴリズムは大方できてるんだ。
問題は人間らしい感情をどうやって持たせるかなんだ。

942 名前:nobodyさん mailto:sage [2010/01/15(金) 19:36:41 ID:???]
>>938
おーありがとう!
ためしてみますー

943 名前:nobodyさん mailto:sage [2010/01/15(金) 19:42:55 ID:???]
>>941
そいつに死ねと言ったら死ぬかな?

944 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2010/01/15(金) 22:00:57 ID:???]
>>941
感情のパラメータを作成して、単語ごとにエモーショナルレベルを設けて喜、哀、憂、怒などに数値を加算して表現してはいかがか

945 名前:nobodyさん mailto:sage [2010/01/15(金) 22:07:19 ID:???]
date_default_timezone_set('Asia/Tokyo');
$today = getdate();
$day1 = (55-date(z));

で日付取得と残り日数を計算して
今日は${today['mon']}月${today['mday']}日です。〜〜まであと".$day1."日です
っていうカウントダウンをポストしているんだが、定期だとうまく行くんだがリプレイだと日付が取得できないんだ。
リプライに対応するためにはソース書きなおさなきゃだめなのかな?

946 名前:nobodyさん mailto:sage [2010/01/15(金) 22:25:00 ID:???]
なんでリプライだと日付が取得できんの?

947 名前:nobodyさん mailto:sage [2010/01/15(金) 23:08:29 ID:???]
今日は${today['mon']}月${today['mday']}日です。〜〜まであと".$day1."日です
今日は月日です。〜〜まであと日です。
ってなるんだ。
理由は私が聞きたい\(^O^)/



948 名前:nobodyさん mailto:sage [2010/01/15(金) 23:32:27 ID:???]
両脇に半角スペース入れてみたら?
私も同じような事なった事あるけど、半角スペース入れたら直ったよ

949 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2010/01/15(金) 23:49:40 ID:???]
>>947
""でくくらなくてよくないか?
""の中に直接変数を書き込めなかったっけ
"〜〜まであと$day日です"でおkだったと思う

950 名前:nobodyさん mailto:sage [2010/01/16(土) 00:08:39 ID:???]
>>947
引数が渡ってないとかじゃないかな
取得をまるっとユーザー関数の内側に入れてみてはどうだろう

見当違いだったらごめん

951 名前:nobodyさん mailto:sage [2010/01/16(土) 10:17:49 ID:???]
>>947
その中の変数を取得してから表示するまで処理ごとに表示してみればいんでないの。

952 名前:nobodyさん mailto:sage [2010/01/16(土) 10:18:47 ID:???]
変数のセットが関数外で、表示は関数内なのにglobal宣言してないとかはよくある話。

953 名前:nobodyさん mailto:sage [2010/01/16(土) 12:33:09 ID:???]
フレンド発言取り込んでマルコフ連鎖にしてるbot作ってみてるけど
URLとかRTとかノイズ除去するのがわりと手間だね。

954 名前:nobodyさん mailto:sage [2010/01/16(土) 21:29:27 ID:???]
>>944
なるほどフムフム

955 名前:nobodyさん mailto:sage [2010/01/16(土) 23:38:57 ID:???]
1つのbotに絡み続けるbotを作ってるんだけど
bot製作のblogとか見ながら作ると「1人の人への連続replyはしない」ようになってるから
誰かを間に挟まないと(もしくはdata.txtの中身を消さないと)リプライしてくれない。
どうすればいいかわからん・・・。誰か教えてください

956 名前:nobodyさん mailto:sage [2010/01/16(土) 23:59:48 ID:???]
どのブログを見てどういうbotを使ってんのか説明してもらわんとエスパーじゃないんでわからんよ。


957 名前:nobodyさん mailto:sage [2010/01/17(日) 00:09:41 ID:???]
>>956
ああすまん。「銀さんのbot」と「プログラミングを始める〜」を参考に
設置サーバーも銀さんと同じところにしてる。
とあるbotが特定の言葉をつぶやいたら、それに@で返信させるようにしたいと思ってる
TLに反応させてリプライさせる「プログラミングを〜」にあったものをほぼコピペしてます




958 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2010/01/17(日) 00:33:33 ID:???]
自分のブログにも書いたりしてますが、cron-jobのクローンの設定法はtwitter経由でいいですか?
botに発言してスケジュール管理です。

959 名前:nobodyさん mailto:sage [2010/01/17(日) 00:41:40 ID:???]
botにfollowers抜かれた\(^o^)/

960 名前:nobodyさん mailto:sage [2010/01/17(日) 00:42:19 ID:???]
>>957
落ちついて処理を一歩一歩理解するんだ
それでも分からなかったら聞け

961 名前:nobodyさん mailto:sage [2010/01/17(日) 03:12:32 ID:???]
>>827
>>829
と同じようにGAEが起動できなくなってしまったんだが…
原因がわからん。わかる人いないかな…

962 名前:nobodyさん mailto:sage [2010/01/17(日) 03:18:45 ID:???]
Google App Engine 2アプ目
pc11.2ch.net/test/read.cgi/php/1243654802/

963 名前:nobodyさん mailto:sage [2010/01/17(日) 03:27:36 ID:???]
ボットジェネレーターの質問とかもここでしていいの?

964 名前:nobodyさん mailto:sage [2010/01/17(日) 05:30:18 ID:???]
ttp://mukurobot.blog101.fc2.com/blog-entry-5.html
ここの記事のカッコに囲われた文字のみをオウム返しする機能を付けたいんだけど
phaさんのスクリプトじゃなくてbardothodolさんのスクリプトで対応させる方法がわかりません

最初そのままつっこんでみたけどやっぱり動かなかったので教えてください

965 名前:nobodyさん mailto:sage [2010/01/17(日) 09:00:07 ID:???]
動かない時はエラーメッセージを読もう

966 名前:964 mailto:sage [2010/01/17(日) 09:19:39 ID:???]
エラーは出てなくて、特定ワードを含まない時のリプライが返ってきたんだ
bardothodolさんのとこのと色々当てはめてやってみたんだけど
$replies2も$iも見当たらなくて何に当てはめ直せばいいのかがわからなかったorz
もうちょっと睨めっこしてみます

967 名前:nobodyさん mailto:sage [2010/01/17(日) 09:36:11 ID:???]
そういう時は変数の中身を出力してみてどこで想定外の動作になっているか確認するんだ



968 名前:nobodyさん mailto:sage [2010/01/17(日) 09:41:25 ID:???]
ボットジェネレーターの質問もここでいいのかわからないけど質問。

たとえば「おはよう」に対して「おはよう」と「グッドモーニン」の二種類のリプで返したい場合、

「おはよう」を受け取ると「おはよう」と返信
「おはよう」を受け取ると「グッドモーニン」と返信

こう二行やるのと

「おはよう」を受け取ると「おはよう","グッドモーニン」と返信

こうやるの、どっちがちゃんと動くんでしょうか

969 名前:nobodyさん mailto:sage [2010/01/17(日) 09:49:32 ID:???]
そのBOTのコードによる

970 名前:nobodyさん mailto:sage [2010/01/17(日) 11:32:40 ID:???]
>>827
>>961
自分もエラーが出てGAE Launcher動かないんだが
コマンドプロンプトにコマンド直打ちでデプロイ出来たよ

971 名前:nobodyさん mailto:sage [2010/01/17(日) 12:50:08 ID:???]
>968ですが自己解決しました。前者で動くみたいです。
スレ汚し失礼しました。

972 名前:nobodyさん mailto:sage [2010/01/17(日) 14:01:44 ID:???]
GAEのcronでリプライに反応するプログラム動かすと、失敗ばっかりしてる。
スクリプトが重いのかな

973 名前:nobodyさん mailto:sage [2010/01/17(日) 23:27:52 ID:???]
>>972
そうだね

974 名前:nobodyさん mailto:sage [2010/01/18(月) 00:50:08 ID:???]
>>972
Twitterに単純にPostするだけのスクリプトと比べて重いの?

975 名前:nobodyさん mailto:sage [2010/01/18(月) 02:18:12 ID:???]
ttp://d.hatena.ne.jp/bardothodol/20090930#p1
ここのソースを借りてTL上の単語に反応するようにしたいと思っています。
手動でブラウザからphp叩けばきちんと動くんですが
cronで叩くと「ファイルが開けません 」というメールが返って来てしまい、動作しません
ソース見た限りではおそらくdatファイルが開けないという事だと思うんですが…
手動でやる分には問題無いのでcron側の問題でしょうか
メールでphpのエラーメッセージを持ってきているので
cronの実行コマンドのファイルパスは合っていると思います。
プログラミング・cron等は全く手をつけたことがなくて、色々調べてみたのですが
分かりませんでした。
解決方法ご存じの方いらっしゃいませんでしょうか。

976 名前:DAWNTO_Windy-melt ◆Windy/f9HNwg mailto:sage [2010/01/18(月) 03:05:41 ID:???]
>>975
ソースうpが原則です、その方がスグに解決しますよ

977 名前:nobodyさん mailto:sage [2010/01/18(月) 03:13:31 ID:???]
パーミッション設定してないだけじゃねーの?



978 名前:975 mailto:sage [2010/01/18(月) 04:13:21 ID:???]
>>976
失礼しました。ソースうpしました。
kissho.xii.jp/1/src/1jyou102317.txt
反応語句部分ところとusernameとpass以外いじってません。

>>977
パーミッションというとdatファイルのでしょうか?666に設定してあります。
これで手動ではきちんと動くんですが、もしかしてphpの方も設定しないといけないんでしょうか
試してみます。

979 名前:nobodyさん mailto:sage [2010/01/18(月) 13:08:22 ID:???]
>>978
cronを使うと途端にファイルが開けなくなる場合は、ファイルのパス指定で間違えてるのがほとんど。

980 名前:nobodyさん mailto:sage [2010/01/18(月) 13:57:52 ID:???]
スレ違いかもしれないけど、良かったら教えてほしい
今度マルコフ搭載したボット作ろうと思うんだけど、ちゃんと勉強したい
プログラムを自分で組めるまではいかなくても、改変出来る程度の知識を身に付けたいと思ってる
なんか良いおすすめの本とかあるかな?
ちなみに自分のレベルは毛の生えた初心者


981 名前:nobodyさん mailto:sage [2010/01/18(月) 14:06:01 ID:???]
プログラム全くわかんないならまずphp初心者スレでも見てあそこのテンプレのURL一通り見てくればいんじゃないの。
マルコフ連鎖とか形態素解析とかそういうのは最低限の土台できてからであって
いきなりやろうとしてもろくなことにならんよ。

982 名前:nobodyさん [2010/01/18(月) 14:19:22 ID:scJ7qSxR]
>>829
google_appengine_projects.ini
を探して消す。

983 名前:nobodyさん mailto:sage [2010/01/18(月) 15:21:00 ID:???]
bot製作者の方に質問なんですが
よく解除するときはリムーブじゃなくブロックしてくれってあるのはどうしてですか?
リムーブだとなにかまずいんでしょうか

984 名前:nobodyさん mailto:sage [2010/01/18(月) 15:27:16 ID:???]
>>983
リムーブされてもbotからのフォローが残るからでは?

985 名前:nobodyさん mailto:sage [2010/01/18(月) 15:27:26 ID:???]
>>983
管理が面倒臭いからじゃない?
フォローしてる人に話しかけるタイプのbotだったりしたら
リムられてるのに話しかけてしまうのは迷惑だろうから
フォロワーとフォローは同じにしておきたいと思うんじゃないか

986 名前:975 mailto:sage [2010/01/18(月) 15:50:11 ID:???]
>>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さん mailto:sage [2010/01/18(月) 16:19:57 ID:???]
>>986
$filenameの方を絶対パスにしてみて



988 名前:975 mailto:sage [2010/01/18(月) 17:30:36 ID:???]
>>987
それで動くようになりました!!
反応が不安定ですがとりあえず動くようになりました!!
不安定なのはphpの問題っぽいので自力で何とかしてみます
本当にありがとうございました!!


989 名前:nobodyさん mailto:sage [2010/01/18(月) 17:55:35 ID:???]
>>988

>>979だけど説明悪くてすまなかった

990 名前:nobodyさん mailto:sage [2010/01/18(月) 18:04:06 ID:???]
>>980
相当難しくなると思う。
初心者ならまずphpでいろんなbot作って基礎を確実にして。

マルコフ連鎖もWikipediaだけではよくわからないと思う。

個人的に思うんだが、マルコフ連鎖を使って呟かせるより他の人の過去の呟きを拾ってbotに呟かせたほうがより人間っぽいと思う。まぁ楽しむ目的でbotつくるならマルコフ連鎖でもいいけど。

991 名前:nobodyさん mailto:sage [2010/01/18(月) 20:03:50 ID:???]
そういや次スレはどうするんだ?

992 名前:テンプレ案1(GAEのがj.mpになってるのはURLが長かったから) mailto:sage [2010/01/18(月) 21:45:52 ID:???]
プログラムとかわかりません><
twittbot.net/

Perl
search.cpan.org/dist/Net-Twitter/

PHP
pear.php.net/package/Services_Twitter
labs.transrain.net/products/services_twitter/

Ruby
twitter4r.rubyforge.org/

Java
yusuke.homeip.net/twitter4j/ja/index.html

プログラミングができなくても作れるTwitter botの作り方
pha22.net/twitterbot/

cron
www.onlinecronjobs.com/
www.setcronjob.com/
https://mywebcron-com.loopiasecure.com/
cron-job.de/

GoogleAppEngineによるcron
code.google.com/intl/ja/appengine/
j.mp/861dO8
d.hatena.ne.jp/deeeki/20091201/gae_register_account

993 名前:nobodyさん mailto:sage [2010/01/18(月) 21:49:46 ID:???]
お邪魔します。phaさんの配布されている物を使って作成したbotなのですが、
複数件リプライを貰っているのに最新1件のリプライにしか反応(返事を)しない場合はどのような原因が考えられるでしょうか?
ちなみに手動で叩いてみてもやはり最新1件のリプライにしか反応しませんorz

994 名前:nobodyさん mailto:sage [2010/01/18(月) 21:52:04 ID:???]
>>993
そのプログラムのリプライ処理の部分を書いてくれ

995 名前:テンプレ案2 mailto:sage [2010/01/18(月) 21:52:59 ID:???]
OAuth
wolf.silk.to/labo/oauth.html (要curl)
www.msng.info/archives/2010/01/twitter_api_oauth_with_php.php
j.mp/5uaORh (curl不要その1)
j.mp/7vP58W (curl不要その2)

TwitterAPI日本語訳
watcher.moe-nifty.com/memo/docs/twitterAPI.txt


他に何かあったら追加ヨロ

996 名前:テンプレ案2 mailto:sage [2010/01/18(月) 21:53:43 ID:???]
OAuth
wolf.silk.to/labo/oauth.html (要curl)
www.msng.info/archives/2010/01/twitter_api_oauth_with_php.php
j.mp/5uaORh (curl不要その1)
j.mp/7vP58W (curl不要その2)

TwitterAPI日本語訳
watcher.moe-nifty.com/memo/docs/twitterAPI.txt


他に何かあったら追加ヨロ

997 名前:nobodyさん mailto:sage [2010/01/18(月) 21:53:44 ID:???]
だれか次スレ立ててくれ



998 名前:nobodyさん mailto:sage [2010/01/18(月) 22:43:45 ID:???]
>>978
* * * * * wget example.com/aaa.php
ってやってる?

* * * * * wget /var/www/path/to/aaa.php
とかしてませんか?

999 名前:nobodyさん mailto:sage [2010/01/18(月) 23:19:20 ID:???]
立てた。
pc11.2ch.net/test/read.cgi/php/1263824322/

1000 名前:nobodyさん mailto:sage [2010/01/18(月) 23:22:38 ID:???]
おまんこ

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<264KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef