[表示 : 全て 最新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ですがソースを書く際は何の言語なのかも記載してください。
*初心者のために、なるべくぶつ切りのソースではなく全体的に載せてほしいです。


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吐いてるから適当に解析するよろし。






[ 続きを読む ] / [ 携帯版 ]

前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