【Twitter】 BOT製作支援スレat PHP
【Twitter】 BOT製作支援スレ - 暇つぶし2ch693:689
09/12/25 21:55:28 yLGH+OzA
>>692
そうじゃない、xmlから拾うときに前拾ったのを拾わないようにするにはどうしたらいい?

694:nobodyさん
09/12/25 22:01:38
>>693
なんらかの方法でマークしておけよ。
xml取得時に日時で絞っておくとか、IDを記録しておくとか、、、

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

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

697:nobodyさん
09/12/25 22:42:30
>>696
日時でもなんでもやり方はあるぞ
言っちゃ悪いがそれくらい分かれ

あとsageろ

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

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

700:nobodyさん
09/12/26 00:36:35
時間で指定できるのもあったよね確か

701:nobodyさん
09/12/26 02:55:24
sinceは廃止される引数だったと思う。
since_id max_id を使って欲しいんだろう。

702:nobodyさん
09/12/26 14:39:10
BOTで投稿したときに「APIから」と表示されてしまうのですが、
これを偽装する手段ってありませんか?

703:nobodyさん
09/12/26 14:40:46
OAuth認証にすれば自由にできる

704:nobodyさん
09/12/26 14:49:04
>703
ありがとうございます。
調べてみます

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

706:nobodyさん
09/12/27 08:49:06
>>705
○分間隔にしといてBOT側で時間の対応をする

707:nobodyさん
09/12/27 11:31:22
>>705 その後、どうですか?

708:nobodyさん
09/12/27 23:04:05
FileQっていう月99円のレン鯖はcron無制限だよ。実際に自分のbotで試したらちゃんと動いた。

709:nobodyさん
09/12/28 05:11:09
皆さんbotのプログラミング言語は何を使っているんですか?

710:nobodyさん
09/12/28 07:37:01
過去ログ読め



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

711:nobodyさん
09/12/28 08:14:48
無料鯖借りればいいじゃん

712:nobodyさん
09/12/28 11:10:23
自鯖立てればいいじゃん。

713:nobodyさん
09/12/28 11:34:53
自分で書き込めばいいじゃん。

714:nobodyさん
09/12/28 12:16:36
cron使える無料サーバーなんてあるのか?
FileQが多分一番安いし一分間隔でcron使えるし

715:nobodyさん
09/12/28 12:28:27
>>713
それボットじゃねーwww

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

716:nobodyさん
09/12/28 19:59:23
rep2置いたらジエンにつかえるじゃん

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

718:nobodyさん
09/12/28 22:10:42
>>715
FileQは操作に慣れるのに時間がかかる。
慣れるまでが問題かな。


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

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

721:nobodyさん
09/12/29 03:33:58
cronはwindowsでもできたはず・・・
URLリンク(www.bitfolge.de)

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

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

723:nobodyさん
09/12/29 15:46:23
>>719
APIでタイムライン上の発言を配列に突っ込んでforeachで一つづつ検索していくとか

724:nobodyさん
09/12/29 17:12:26
FileQでcron試してみた。
一分間隔で動くように設定して60分放置。
結果54回動いた。

725:nobodyさん
09/12/30 00:13:07
>>722
たしかに、マトモなボット作るなら膨大な量の辞書データがいるね

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

727:nobodyさん
09/12/30 02:04:50
>726
消された

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

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

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

729:nobodyさん
09/12/30 03:51:14
毎分動かすとなると、それなりに負荷がかかることになるから安い共用鯖じゃ無理
海外の安いVPSを借りてみるとか

730:DAWNTO_Windy-melt ◆Windy/f9HNwg
09/12/30 05:48:21
>>729
自宅鯖です。
model name : Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz
memory:512MB

731:nobodyさん
09/12/30 06:06:15
oauth使ってると思われるbotが止まったの、アプリのAPIがサスペンデッドになってると思われ。

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

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

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

735:nobodyさん
09/12/30 12:48:47
>>727
コマンドにはhttp://じゃなく
/home/******/public_html/*****.php

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


736:nobodyさん
09/12/30 13:29:29
>>735
727です。ありがとう!やってみます

737:nobodyさん
09/12/30 13:43:24
>>736
動かなかったら教えてちょ

738:nobodyさん
09/12/30 13:50:50
cronを毎分使いたいならやっぱり有料鯖借りないとダメなのかな~

739:nobodyさん
09/12/30 13:53:47
俺の借りてる鯖のcron使って君タチのボット動かしてあげようか????

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

741:nobodyさん
09/12/30 15:37:46
わっふるわっふる

742:nobodyさん
09/12/30 15:55:25
わっふるわっふる

743:nobodyさん
09/12/30 16:14:07
わっふるわっふる

744:nobodyさん
09/12/30 17:12:51 tKJERMBp
735です。
FileQでのcronの動かし方を間違えてレスしてました。
正しいコマンドはこうです。
これは僕の例ですが、index.phpにボットのプログラムを書きpublic_htmlフォルダにアップしました。
*****の部分はアカウント名です。

/usr/local/bin/php /home/*****/public_html/index.php

まず
/usr/local/bin/php
と入力し、半角スペースを入れてから動かしたいファイルの/home/から始まるパスを入力します。

745:nobodyさん
09/12/30 21:48:07
FileQ使ってるけど
php /home/ユーザー名/public_html/PHPの入ってるディレクトリ名/ファイル名.php
cd /home/ユーザー名/www/PHPの入ってるディレクトリ名; /usr/local/bin/php ファイル名.php
の2通り試してみたらどっちも同じように動いてるよ

746:nobodyさん
09/12/30 22:03:34
↑はコマンド欄に直で入力ね

747:nobodyさん
09/12/30 23:40:14
>>744
>>745

取り合えずcron動くのならおk

748:nobodyさん
09/12/31 00:57:09
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
オリンピックフィギュアスケートのメダルを左右する重要なポイント
URLリンク(plaza.rakuten.co.jp)
wrong edgeに付いて
URLリンク(plaza.rakuten.co.jp)


749:nobodyさん
09/12/31 06:14:13
FileQにPHPをアップしてもエラーが出る…。
他のサーバにアップしたPHP(FileQにアップしたものと中身は同じ)は問題なく動くのに。

750:nobodyさん
09/12/31 09:04:58
>>749
どのフォルダにアップした?
FFFTPとかのアップローダー使った?

751:nobodyさん
10/01/01 09:53:36
>>749
サイトからコピペしたときによくあたるんだけど、、文字エンコーディング関連でエラーが出る事がある。
¥がそのままの時はバックスラッシュに変換してみて。linux環境での実話。
SJISをviで読み込ませたら¥記号のままでエスケープできずに狂ったことがあった。
FedoraはUTF8だったので
:%s/¥/\\/g
:set fileencoding=utf8
で保存し直した。

752:nobodyさん
10/01/01 11:29:43
>>750
アップローダー(CyberDuck)を使って、パブリック_htmlへアップロードした。


>>751
うーん見た感じ\とかエンコードとかは大丈夫みたいなんだが…。でも返信ありがとう。

753:nobodyさん
10/01/01 15:27:24
>>752
エラーの文をコピペしてみれ
スクリプトの記述ミスがいけないのか、文字化けなのか、そもそもそこのサーバーのPHPで使えない関数が含まれてるのか

754:nobodyさん
10/01/01 23:15:29
今のcronの主流は

・cron-job消された!手間かけるの面倒!
→FileQ

・cron-job消された!手間をかけるのは厭わない
→GAE

・そもそもcron-job使ってません^^
→自鯖とか各自の鯖のcron

・cron?なにそれこわい
→PC起動したまま延々とリロード

かな?

755:nobodyさん
10/01/02 19:48:02
PC起動したまま延々リロードしたときの電気代と月々の鯖代はどっちがかかるんだろう…

756:nobodyさん
10/01/03 00:06:15
cronjob.deがあるじゃん

757:nobodyさん
10/01/03 05:35:49
GAEでいろいろやってみたがland.toと@pagesは安定してるね
zeroweb(happy888.net)だと、うまく時間内にキャッチできてない→反応しない
昔から借りてる某レンタル鯖は反応するけどその後2回ほどreplyしてしまうし
鯖によって本当にマチマチ…
ちなみにどの間隔も変わらない感じした

758:nobodyさん
10/01/03 10:03:12
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さん
10/01/03 10:04:31
アカウント名消し忘れたwww まいっか

760:nobodyさん
10/01/03 10:11:34
そう
curl未対応だな。FileQは

761:nobodyさん
10/01/03 13:37:31
URLリンク(twitter.com)
トレ君か よろしく

762:nobodyさん
10/01/03 15:48:44
cron job、アカウント云々じゃなくてサービスのサーバー自体がおかしいみたい
今朝、持ってる全てのアカウントが消されてて別のメアドでアカウント取ったんだが、新しいcronを設定する端から消されて行くw
アカウント取れたからには個人を特定されて弾かれてる訳ではないだろうし
BOT本体だけでなく、30分に一回フォロー用phpを回すだけのアカウントも消されていたのもそのせいかも

763:nobodyさん
10/01/03 18:45:10
>>761
変な汗でた よろしくお願いします

FileQを諦めるかwebcronにするか自力で設定するか…
1日数回の定時postはwebcronにしてたんだけど、リプライはさすがに消費量が激しいので無理だな


764:nobodyさん
10/01/03 21:45:57
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さん
10/01/03 22:00:13
>>764
"または'のエスケープ処理を忘れていませんか?

766:nobodyさん
10/01/03 22:13:34
>>765
" や ' を \" や \' にすればいいのでしょうか?

767:nobodyさん
10/01/03 22:33:27
>>762
cron-jobは、日本のBotで負荷が異常に増えたのに対して、~.jp規制をかけているようです。
phpなどの実行URLか、登録メールアドレスが日本のドメインの場合強制排除しているとか。

ソースはほかの開発者さんのツイートなので曖昧ですが、~.jpを使っていない私が
全く規制されていないのも納得できました。

768:nobodyさん
10/01/03 23:21:18
まあ頻繁に話題に出て皆一斉にそれ使ってりゃ規制されんのも当然か。

769:nobodyさん
10/01/04 01:31:21
>>345>>352と全く同じ状況なんだが対処法がさっぱりわからない
出来てる人はどうやってるんだろうか…?

770:nobodyさん
10/01/04 01:59:32
エラーはなんて出るの?

771:769
10/01/04 02:12:01
俺に聞いてると仮定して答えるけど
エラーは出てない、ポストも問題ない、ただin_reply_to_status_idが付与されないだけなんだ
Basic認証の時は出来てたんだけどなぁ

772:nobodyさん
10/01/04 03:03:11
>>771
自分はこれで出来てるけどどうだろう
$req = $to->OAuthRequest($host,array("status"=>$aaa,"in_reply_to_status_id"=>"$bbb"));

773:769
10/01/04 07:01:43
"in_reply_to_status_id"=>$bbb を "in_reply_to_status_id"=>"$bbb" に変えたら出来た!
単純な話で情けないな…。>>772ありがとう

774:nobodyさん
10/01/04 09:56:27
なんだそりゃ。型によって処理分けたりしてるんかね

775:nobodyさん
10/01/04 10:13:46
sutatusは基本文字列だから通ってもidは基本数値型だから蹴るみたいな?
どっちにしろ送るときゃ文字列なのにおかしなことをしてるな。
しかも黙って蹴ってるってのがなんだかやな感じだな。

776:nobodyさん
10/01/04 10:48:00
>>767
land.toとかだと~.jpじゃないけど消されるよね
単純に~.jpで弾いてるわけだもないのかな?

777:nobodyさん
10/01/04 11:43:15
FileQでcron設定してみたんだがリプライしても沈黙したまんまだ。
手動なら動くということはファイル自体は問題ないんだよな…?
なにがあかんの……

778:nobodyさん
10/01/04 13:20:42
cronjob.deって、登録申込したあとメール来るのにどれくらいかかる?
1日とか待たなきゃいけないのかな…
全然来ないのでちゃんと申込出来てるのかわかんなくなって来た

779:nobodyさん
10/01/04 16:20:35
>>778
メールはすぐ来た。が、その後すぐアカウントロックされてしまった。
cron-jobでロックされた人が流れてるからかもしれん
>776
自分は.comドメインだけど鯖がロリポ
鯖IPかアクセスしたIPで日本かどうか判断してるのかも

780:778
10/01/04 17:00:18
>>779
違うメアドで登録してみたら今度はすぐに来た
今のところアカロックはされてないみたいだけど
cron-job.orgのときみたいにログイン出来なくなっちゃったの?

781:nobodyさん
10/01/04 19:08:24
Gmailで登録してるけどcron-job.orgもcronjob.deも垢消されてないぞ
ただもうcron-job.orgは設定するそばから消えるけど

>>777
コマンド欄にURLそのまま打ち込んでないか?
ちょっと上の方見て来い

782:nobodyさん
10/01/04 19:46:04
cron-job、ログインできないのにちゃんと回ってるみたいでTL反応とかし続けてる…
同じ状況の奴いる?

783:nobodyさん
10/01/04 19:51:34
>>648
>>649
あなた方のやり取りなかったら、ゴール目前で諦めてた。ありがとう。

784:nobodyさん
10/01/04 19:53:07
phpだけじゃマルコフ無理なん

785:nobodyさん
10/01/04 20:57:33
FileQで外部サイトのphp回せる?
curl使えない?何のこと?とか思ってたらリプライ用のファイルも回せないってことなんだよな?
お金払っちゃったぜ/(^O^)\

786:nobodyさん
10/01/04 22:02:45
>>782
うちのとこもそう。
まったくいじれないのにそのまま動いてるから移行もできない状態…
とりあえず自然にオフになるの待ってる。

787:nobodyさん
10/01/04 22:06:20
cron-job.org設定ではerfolgreichってなっているけれど動いてない。
誰か助けて

788:nobodyさん
10/01/04 22:24:40
>>345>>352は俺です。
>>769
掘り返してくれてありがとう

>>772
ありがとう出来たよ!
型が違うのかと思ってintvalかませたりとかは試してたんだけど単純な話は単純な話だったんだな…

789:nobodyさん
10/01/04 22:27:08
botみかけたけれどcron-job.org今調子わるいのか?

790:nobodyさん
10/01/04 22:29:00
むしろ今のcron-job.orgは絶好調

791:nobodyさん
10/01/04 22:31:20
>>790
それはギャグで言っているのか? 

792:nobodyさん
10/01/04 22:57:17
うちのは問題なしだけど、蹴られないうちにファイル名変えようかな…botていうフォルダだから
向こうに用途悟られて消されかねないし

793:779
10/01/04 23:07:46
自分はcron-jobはログインできるんだけど
2つ動かしてたのがどうしても1つしか設定できなくなった
それで.deでアカウント作ったけど速攻でロックされた
deで表示された文を翻訳すると再登録するな+問題あると訴えるみたいな感じだったから
それはねーおwと思いつつ再登録してない

他にもcronサービスあるから皆が上手く分散できるといいんだが…

794:nobodyさん
10/01/04 23:27:24
cronも大事なんだが、リプライのOAuth化で躓いてる…
色々削ったり位置を変えてみたけどお手上げだ

795:nobodyさん
10/01/04 23:30:47
>>794
あーおなじ
定時ポストのみ対応できてつまずいた

796:nobodyさん
10/01/04 23:48:55
定時postとリプライはOAuth対応出来たけどTLに反応が上手くいかん
まあそれ以前にcron探しでbot止まってるから意味ないけどな…

797:nobodyさん
10/01/05 00:18:46
あいまいでよくわからんが具体的にどの辺でつまってんだ?

798:nobodyさん
10/01/05 00:25:47
webcron.orgからFileQにしてみたが、
ここは凄いな。1分間隔で動くし1年で1000円ぐらいだし
cronの使い方がよくわからなかったが、
>>744>>745の書き込みですんなりできた。

799:nobodyさん
10/01/05 00:36:34
>>797
795だけど私は実行してもエラー出ないけどリプライをしてくれない状態
自分で組んだのですがAPIでは動いてくれているので、恐らく組み込みがうまくできていないのではないかと…

800:nobodyさん
10/01/05 00:47:23
>>797
794です。自分も>>799と同じくエラーが出ずAPIの状態…
curlを削ってもいいと聞いたので少しずつ削ってその都度試してみたけど駄目だった

801:nobodyさん
10/01/05 00:47:51
FileQいいなと思うけどcurlが駄目ってとこで引っかかるのが辛いな

802:nobodyさん
10/01/05 01:37:59
curlだけじゃなく他にもダメなのありそうだしな。

803:nobodyさん
10/01/05 01:38:48
OAuthは認証した後はbasic認証後と同じようにAPIに投げればいいのかな

804:nobodyさん
10/01/05 03:15:16
リプライとかTLはポスト部分だけOAuthに投げてそれ以外は以前のままで使ってる

805:nobodyさん
10/01/05 04:34:41
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さん
10/01/05 04:35:41
ふああああああああああああああああああああああああorz
しくじったアカウント消し忘れたorz
うう、見なかったことにorz
でも助言お願いしますorz

807:nobodyさん
10/01/05 04:50:40
ここはうっかりさんが多いインターネットですね

808:nobodyさん
10/01/05 09:46:47
>>805
どんまいとしか言えないwww
けど自分も真っ白のページが出てくることがたまにある

809:nobodyさん
10/01/05 10:34:19
>>805
文字コード違うとか?

810:805
10/01/05 11:35:24
どんまいありがとうございますorz

>>809
最初にDLしたものをそのままUPしたらだめだったので、
文字コードをUTF-8、改行コードも念のためLF固定にして再UPしたんだけどダメで、
更に.htaccess置いてサーバーの方で改行コードを固定してもダメでした。

SDNさんのHP注意書きの様に、スクリプトのバージョン違いかとも思って
2度ほど該当バージョンの物をDLし直したんですがダメでした。

白くなるエラーは私も何度か遭遇して、その度に閉じ忘れとかが原因な事が多かったので
今回もそうなのかなぁと思ったのですが……
配布されているものに間違いがあるとは見た限り思えなくて…

ステップサーバーのPHP注意に、白くなるエラーは、PHP5に対応してないスクリプトの可能性アリ
というのがあったので、疑っても見ましたが、それも無いと思いますし……

謎です

とりあえず、自分でも、OAuth調べ中ですが、お心当たりある方居ましたら
ご助言お願いしますorz

811:nobodyさん
10/01/05 12:04:38
うちのOAuthはよくサスペンドにされるんだけど…なんか問題あんのかなあ

812:nobodyさん
10/01/05 14:17:40
ウチはSDNさんのところを参考に
定期発言もリプライも全部OAuth認証に変えてみたけど、設置もその後も順調だ
やっぱりサーバーとかの環境によってだいぶ差があるんだな

813:nobodyさん
10/01/05 19:05:30
>>782 ノシ

814:nobodyさん
10/01/05 21:16:43
こんなとこ見つけたんだけど、使ってる人いる?

URLリンク(mywebcron-com.loopiasecure.com)

815:nobodyさん
10/01/05 22:09:45
>>814
cron-job.orgがダメになってそこに移った
@ページだとほとんど動かなかったから、他の鯖に変えたら動きだした
たまに起動しないけど無料なら想定の範囲内だと思う

816:nobodyさん
10/01/05 22:23:38
あんまり広まるとまた規制されそうだが…
SetCronJobでぐぐると幸せになれるかもしれない

ところで、bardothodolさんのスクリプトが元のリプライソースでcurl使わずにOAuth化できますか?
2つあるpost関数のうち下方にあるcurlは削れてちゃんとクライアント名が変わったんだけど、
上の関数と$usernameと$passwordを削ったらpostできなかったんで、OAuth化できたのかできてないのか分からない状態です

こんな状態だけどクライアント名変えるだけでいいっていうならソースとか晒すけど…
FileQを使いたいので curl使わずにOAuth化できればいいな
どなたかご助言願います

817:nobodyさん
10/01/05 22:36:06
あと少しで完成なんだけど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さん
10/01/05 22:56:20
>>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さん
10/01/05 22:56:35
twitterOAuth.php自体にcurlが使われてるからSDNさんのとこの方法でOAuthにするとFileQでは動かせなくなっちゃうのかな…
FileQにみんなでcurl使えるように嘆願するか?w

それとスレチだけどなんで日本には外国みたいなwebcronサービスがないんだろ
お金かかってもいいからあったら便利なのに

820:nobodyさん
10/01/05 23:02:52
>>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さん
10/01/05 23:06:38
>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さん
10/01/05 23:11:35
>820
うわっ!本当だ…すっごい恥ずかしいこれ
そこ直したら戻った気がする。一応返してきたからこれで様子見ます!
本当ありがとう…

823:nobodyさん
10/01/05 23:18:50
>>819
リプライソースからcurlを消せばいいと思ってた…
そうか twitterOAuth.php自体にcurlがあったorz

5分間隔でいいならSet~とかでいけるけど、やっぱ5分だと取得漏れが多い気がする
そしてwebcronでリプライ動かしたら破産する
自分で設定するしかないか

824:nobodyさん
10/01/05 23:22:23
>>728あたりが安定した国内のcronサービスを作ってくれる とかいう夢を一瞬見た
無料は申し訳ないからできればカンパとかしたい

825:nobodyさん
10/01/05 23:22:50
>>823
GAEは?

826:nobodyさん
10/01/05 23:30:51
ググッたらこんなんあったけど、まだ試してない
URLリンク(blog.makotokw.com)

827:nobodyさん
10/01/05 23:37:52
>>825
GAEにしようとしたんだが、Google App Engine Launcherを起動すると
See the logfire 'C:\~GoogleAppEngineLauncher.exe.log' for details
というエラーが出るから積んだよ
再インストールしてもエラー中のlogを消してもだめだった
問題は山積みだ…

828:nobodyさん
10/01/05 23:54:54
logの中身みたの?

829:nobodyさん
10/01/06 01:25:16
>>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さん
10/01/06 15:02:29
オプションのnameがないんじゃね?

831:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/06 15:53:39
>>824
わざわざありがとうございます。
本格的に設計開始しましたが、あったらうれしい機能など教えていただけると開発が早く進みます

832:nobodyさん
10/01/06 20:41:01
>>831

横レスだけど
cronjobみたいなシンプルなコンパネがあるとうれしいな

833:nobodyさん
10/01/07 02:21:36
>>831
楽しみにしてます
かなりのユーザーがいくと思うので負担が大きいかもしれませんが…

cron-job.orgのようにCtrlで時間を細かく選択できたら便利かと思います
時間は1~2分間隔希望です

834:nobodyさん
10/01/07 02:37:41
>>831
もし有料にする場合は、銀行振込にも対応してほしい。
クレカ無いから…。

835:nobodyさん
10/01/07 09:20:32
この流れはひどい

836:nobodyさん
10/01/07 10:59:33
bot製作とは程遠いな

837:nobodyさん
10/01/07 12:01:35
ド素人の質問ですみません。
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さん
10/01/07 13:07:48
>>837
そのページ見てGAEにチャレンジしたけどうまくいったよ
○○Serblet.javaのファイル名は頭1文字目が大文字じゃないと上手くいかなかった気がする

839:nobodyさん
10/01/07 13:08:57
スペルミスってた
Ser「b」letじゃなくてSer「v」letね…

840:nobodyさん
10/01/07 14:39:50
>>837
Warning No handlers matched this URL.
ってことはURLが間違ってるって事じゃないのかな
アドレス間違ってるかもしくはGAEからのアクセス弾いちゃってるとかじゃない?

841:nobodyさん
10/01/07 15:21:15
>>837>>840
プログラムのURLが合ってても、cron.xmlの方で指定間違えてたら
Warning No handlers matched this URL.って出るよ
>>837はもう一度パス見直してみ

842:nobodyさん
10/01/07 23:18:40
>>814
全然動かないんだが...

843:nobodyさん
10/01/07 23:26:01
FileQとphpだけで人間によく間違えられるbot作った俺が通りますよー

844:nobodyさん
10/01/07 23:57:56
>>843
自慢したいだけなら二度と来ないでください

845:nobodyさん
10/01/08 00:42:38
>>844
リプライ返しはあいさつに対してのみ行う場合なら人間っぽいbot簡単に作れるよー。

まず「つぶやき収集bot」を作って、あらゆるツイートを収集し、リプライツイートや時々内容のツイートを取り除きテキストファイルに順に格納していく。

時々内容のツイートを取り除く方法は、まずニュースサイトの記事をyahooの形態素解析APIを使って名詞を抜き出し辞書を作っておく。
そして「つぶやき収集bot」が収集したツイートも形態素解析し名詞を抜き出し、あらかじめ作った辞書を検索しその名詞が見つかればそのツイートは取り除く。

あとはテキストファイルに格納したツイートを適当に抜き出ししゃべらせる。

846:nobodyさん
10/01/08 00:47:33
問題は人間の質問に答えられるbotをどう作るかだろう。
あるいは人間とマトモな会話ができるbot。

これはかなり時間がかかりそうだ。

847:nobodyさん
10/01/08 01:51:52
手間をかけずに楽しめるbotを作る方がおもしろい。

848:nobodyさん
10/01/08 02:14:44
自分に向けられた発言への類推は難しいよな。
品詞ごとに分けておおまかな意味を推測させようかと考えてはみたが

>>846
マトモに会話してるように見えるbotなら人工無脳にいくつかあるけど
あれらを今から作るってのは手間だしマルコフ連鎖で繋げてそれっぽく見せるのがせいぜいだろうな。
辞書登録してやるとどうしても反応できるワードには限りがあるし。
本気で知能やろうとするとと個人でやるには大変だ。

849:nobodyさん
10/01/08 02:48:09
さくらサーバーでTLに反応するPHPのcron動かしてる人っていますか?
リプライとかは平気なのにTL反応のcronだけ削除されてしまいます
中身は銀さんのをほぼ丸写ししただけ。なにが悪いんだろう?


850:nobodyさん
10/01/08 04:10:34
>>849
cronの実行間隔が短すぎるんじゃねーの?

851:nobodyさん
10/01/08 04:35:57
>>850
リプライは3分おきで動いてるのにTLは10分にしても消されました
もっと長くすれば大丈夫かもしれないけどTL反応の間隔が10分以上では遅すぎるし・・・

852:nobodyさん
10/01/08 04:58:44
さくらに聞けよ

853:nobodyさん
10/01/08 05:32:19
>>851
周期が1時間以内だと、消される方が正常
3分で消えないっておかしいな

854:nobodyさん
10/01/08 06:00:29
>>853
そうなのか・・・じゃあさくらサーバー使ってる人でもcronは別な所で動かしてるってことなんですかね?
リプライは平気なのにTLはダメっていうのが不思議だけど、諦めて他の方法で動かすことにします

855:nobodyさん
10/01/08 08:05:52
>>848
俺の目標は、ある人が人間と思ってフォローした人たちが全員botだった、という状況を作ることなのだよ。

856:nobodyさん
10/01/08 08:14:21
遅くなりましたが>>837です
>>841さんのいうcron.xmlでの指定ミスが原因だったようで、urlのところを直したら
すんなり動いてくれました。web.xmlからURLを確認する過程自体をすっとばしていたという、
なんともお粗末な理由でした…
助言をくださった方、ありがとうございます。botが動いて感激です。

857:nobodyさん
10/01/08 10:56:08
cron-job.orgからGAEに変えたんだけど、
GAEのログにファビコンが無いっていうエラーが出まくる
何かファイル追加してファビコンを指定すればいいらしいんだけど
具体的な方法がわからない…どこかに参考になるサイトとかないかな?

858:nobodyさん
10/01/08 12:15:40
>>854
さくらだけど消されてないよ。
GAEで動かしてるからかな?

>>857
ブラウザでアクセスするのやめる

859:nobodyさん
10/01/08 12:18:38
あ、すまん。
さくらの人が消されたのはcronの方か。
勘違いしてた

860:nobodyさん
10/01/08 17:10:10 voJUVX7V
ごめん、OAuthの話に戻るんだけどさ
SDNさんを参考にして、定時はいけたんだけどリプライとTLがいまいちなんだ。
エラーも出ないでクライアント名とかリプライ元つきで返してくれているんだけど、
なんか叩くとめっちゃ返してくる…
前に答えたやつにも重複して返すし、tmpがうまく読めてないんかな。
初心者ですまない…元々銀次さんの所のコピペに頼りきりだったからどうしてすれば良いかわからないんだ。
教えてくれると凄く幸せになれるんだが…

861:nobodyさん
10/01/08 17:41:13
>>860
銀さんとこのリプライソースでいいんだな?
リプライソースの中の

$ch = curl_init();
(中略)
curl_close($ch);

を全部消して、function tweetをSDNさんとこのソースに
tweetの引数は$message以外を削除、って感じで行けると思う
もちろん細かいところは適宜修正してくれ

862:nobodyさん
10/01/08 17:57:17 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さん
10/01/08 18:02:23
>>862
見た方が早いことは早いかも

864:nobodyさん
10/01/08 18:13:36
>>862
あーごめん
$ch = curl_init();
(中略)
curl_close($ch);
は消さなくてもいいや(OAuth認証でTL取得しない場合は)

消した場合(OAuth認証でTLを取得する場合)は
$XML = simplexml_load_string($result);
のところも変えないと駄目

865:nobodyさん
10/01/08 18:32:53 voJUVX7V
>>864
お、ごめん長くて貼れなくて苦戦してた…
$XML = simplexml_load_string($result);
の部分なんだけど、ごめんどういじれば良い?

866:nobodyさん
10/01/08 18:44:15
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さん
10/01/08 18:45:34
うおっと、またミスった
$pcountになってるところは$cntで…orz

868:nobodyさん
10/01/08 20:09:05 voJUVX7V
>>867
うわーごめん、何かほんと頭悪いみたい。
TLとかリプライいじってみたけど、返事しないわ…orz
そもそも基本的なこと間違えてる気がしてならない…
ちょっと基本的な事勉強してくるわ、協力してくれてありがと。

869:nobodyさん
10/01/08 23:45:40
銀次さんのとこの方法は重くなるからcronに向かないな。
さくらで勝手に削除されたのもそのせいだと思う

問題はその重いスクリプトを多くの人が参考にしてるってことだ

870:nobodyさん
10/01/09 00:01:26
自分でOAuthの実装してたんだけど、
アクセストークンと認証トークンの取得までいけた。
で、APIアクセスしようとおもったら
Incorrect signatureっていわれた

これってoauth_signatureの作り方が間違ってるのかな?

871:nobodyさん
10/01/09 00:08:52
>>870
自分もその表示が出て、対処方法が全然判らなかったから
一度全部消して、また最初からやり直したらいけたよ。
全然参考になってないけど…体験者より。

872:nobodyさん
10/01/09 00:09:55
>>871
マジか・・・

873:nobodyさん
10/01/09 00:15:30
ついったは人工無能の分野でも研究対象になんのかな

874:nobodyさん
10/01/09 00:19:34
ぜんぜんならない、効率悪い。

しかし、話題性があるから薄っぺらな内容でも
凄い事のようにマスコミが持ち上げてくれる。

875:nobodyさん
10/01/09 00:26:56
シグネチャ作るときのURLが固定だったのが原因だった
直したらTweetできたやったあああああああ

876:nobodyさん
10/01/09 01:43:50
>>869
PHPにアクセスするとしょっちゅうタイムアウトエラーが出るんだけど、これもそのせいかな?
そのおかげでcronがちゃんと動いていてもポストされないみたいなんだ

877:nobodyさん
10/01/09 02:05:23
>>876
869じゃないけどたぶんそのせいだと思う。
cron-jobはただ単に指定したURLを叩くだけだったから、特に削除されるとかないし組み合わせ的には最適だったと思うよ。

878:nobodyさん
10/01/09 04:04:37
>>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("URLリンク(twitter.com)",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さん
10/01/09 04:05:19
わあなんだか余計な改行が挟まれてる
見にくくてすいません…

880:nobodyさん
10/01/09 11:14:41
>>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さん
10/01/09 12:06:30
ここの人たちはわかってるんだろうけど、最近は特定ワードを拾ってきて
無差別でフォローしてない相手にもリプライするbotが目に付くようになったね。
ああいうつまんないことで反感買って印象悪くするのは避けたいもんだね。

882:nobodyさん
10/01/09 12:08:43
プログラミングができなくても~を参考にbot作ってます。
話しかけられた時、指定した単語が入ってないと「もう一回言って?」みたいな反応させたいんだけど、
こういう時はどうすればよいですか。

883:nobodyさん
10/01/09 12:27:07
>>882
話しかけられた内容に指定ワードがあるかを検索したらいいだけだと思うが

884:nobodyさん
10/01/09 12:55:12
>>882
phaさんが設置したbot用掲示板に書いてある
すこしはログ見るとかしてみないか?

885:882
10/01/09 12:59:27
本当だ、ちゃんと見てなかった・・・失礼しました

886:nobodyさん
10/01/09 15:19:11
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さん
10/01/09 15:55:13
自分宛以外のリプレイで「@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さん
10/01/09 17:27:25
>>880
ありがとうございます。
URLリンク(mini.bitter.jp)
アドバイスを見ながら書いてみたものが上のURLの物になります($toをfunction tweet()の下に入れてみました)
が、このようにすると

XML パースエラー: 要素が見つかりません。
URL: http://~oauth_reply.php
行番号: 1, 列番号: 1:

というエラーが出てきてしまいます。このエラーでググってみてもイマイチこの場合と結びつかないというか…。

889:nobodyさん
10/01/09 20:41:00
oAuthにむりに固執しなくていいんじゃない?

890:nobodyさん
10/01/09 21:58:48
6月以降はベーシック認証が「非推奨」になるんだっけ
どうしたもんかな…

891:nobodyさん
10/01/09 22:17:16
きちんと検証してないけど、こんな感じで動かないかな?

<?php
$username = "1111";
$key = "3333";
$consumer_key = "4444";
$consumer_secret = "5555";
$access_token = "6666";
$access_token_secret = "7777";

$filename = "data/data.dat";
$host = "URLリンク(twitter.com)";

$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さん
10/01/09 22:18:02
>>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さん
10/01/09 22:19:03
>>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("URLリンク(twitter.com)",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さん
10/01/09 22:31:57
>>887
8bitnoteさんとこのスクリプトだと思うけどそこは関係ないよ
その下の
elseif( preg_match("/眠い/",$text)){ //上記で調べた自分へのリプライがなかった場合にこの処理に移る。POST内容に眠いが含まれていたら次の処理に移る
の前に@が含まれるpostを弾く処理を入れればいいはず

895:888
10/01/10 01:00:53
>>891-893
ソースありがとうございます!
891さんのソースをコピペして動かしてみた結果、Arrayという文字だけはPOSTしてくれるようになりました。
もうちょっとどうにかしてこようとおもいます。
ありがとうございました!

896:nobodyさん
10/01/10 01:20:14
>>894
回答ありがとうございます
このPHPにはbotへの@リプライとTLから特定単語を拾ってリプライする動きを書いてます
@が含まれるpostを弾くと、このbotへのリプライに反応する事ができなくなってしまいます…
また

if( $screen_name != $username){ //POSTが自分のPOSTではなかった場合にサブルーチンから抜ける
return;
}

を打ってみたのですがやはりエラーが出ました

897:nobodyさん
10/01/10 01:56:39
>>896
「botへのリプライ以外の」@を弾くだけだから大丈夫なはずだけど…
ちなみにうちではこんな感じで、反応語のチェックはswitchで書いてる

if( $screen_name == $username){ //POSTが自分のPOSTだった場合にサブルーチンから抜ける
return;
}if( preg_match("/\@$username/",$text)){ //POST内容にry
(略)
}elseif(! preg_match("/^[0-5]{0,1}$/",$now_g)){ //botが寝てる0~5時台でなければTL反応させる
switch(true){
case preg_match("/\@/",$text) : return; //他の人への@ならサブルーチンから抜ける←これでbot宛以外のリプライには反応しない
break;
(略)
default : return;
break;
}
}
else{return;}

898:nobodyさん
10/01/10 05:42:07
>>891の通りにやってみたら、PHPにアクセスすると真っ白の画面が出るようになってしまった
エラー表示されないから何が何だか・・・

899:nobodyさん
10/01/10 05:42:42
>>891
$username = "1111";
$key = "3333";
が何だかわからないんだけど、ごめん参考元?ってなにになるのかな?

900:nobodyさん
10/01/10 10:42:09
>>899
えっ

901:nobodyさん
10/01/10 12:03:57
>>899
ごめん$key要らない・・・
自分は複数BOT作ってて複数でも使いまわせるようにしてるんで、その名残だ
要らないところ削除して直したつもりが残ってたみたい

902:nobodyさん
10/01/10 12:17:50
>>898
>>891のソースにはどこにも出力命令が無いんだから
ブラウザでアクセスして何も表示されないのは当たり前だろ

903:nobodyさん
10/01/10 16:18:50
>>902
ごめん。真っ白になるだけでポストしないからどこかにエラーが出るはずだと思ったんだけど
さっき確認したら今まで普通に動いていた別のスクリプトでも同じ現象が起こった
そっちは弄ってないから原因は>>891ではないみたい

904:nobodyさん
10/01/10 23:13:36
自動フォロー返し時にDM送るようにしてるんだけど
たまにフォローだけしてDM送られなかったりフォロー失敗してDMだけ送られたりする
この問題解消するときってどうすりゃいいのかな

905:nobodyさん
10/01/11 17:34:10
すみません初心者で簡単な質問ですが、分かる方は教えて頂けると助かります…
(例)「おかえり、今日の夕飯は○○ですよ」
という文章で、○○の部分をランダムで変えたいのですがプログラムが分かりません

$mesi = array("和食","洋食","中華");

と書いて、

$mes['night'] = array( //夜の時間に発言
"おかえり、今日の夕飯は $mesi ですよ");

とやっているのですが、「おかえり、今日の夕飯はArrayですよ」と表示されてしまいます


906:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/11 17:40:24
>>905
> $mesi = array("和食","洋食","中華");
>
> と書いて、
>
> $mes['night'] = array( //夜の時間に発言
> "おかえり、今日の夕飯は $mesi ですよ");

$mesi = array("和食","洋食","中華");
$num = array_rand($mesi,1);
$mes['night'] = array(
"おかえり、今日の夕飯は $mesi[$num] ですよ");

でいいと思う。


907:nobodyさん
10/01/11 18:02:52
>>906
早い回答ありがとう!
ついでに聞いておきたいんですが、$num = array_rand($mesi,1);の1ってなんの意味?
この中から1つ選ぶ…って事?

908:nobodyさん
10/01/11 18:07:19
つ公式PHPマニュアル

909:nobodyさん
10/01/11 18:12:07
API叩いた後に応答情報あるでしょ。
それが正しく帰ってきてればOKでいいじゃん。

910:nobodyさん
10/01/11 18:25:16
php叩いても成功した時はなにも文章が出てきません…
そしてまた行き詰ったんだが、>>906やり方でやってみたら
ときどき何もランダム単語表示されない時がある…
「おかえり、今日の夕飯は ですよ」
みたいな感じ

911:nobodyさん
10/01/11 18:36:05
飯抜きだったんだよ

912:nobodyさん
10/01/11 23:35:54
だれうま

913:nobodyさん
10/01/11 23:48:16
>>910だが、自力でどうにかなった
>>906の方法じゃないけどなぜか出来たのでこれで十分だ

914:nobodyさん
10/01/12 01:54:55
自己解決したままじゃなくてどうやって解決したまで書かないと

915:nobodyさん
10/01/12 06:32:37
>>849ですが8bitさんのスクリプトを使ってみたらさくらでもcron消されませんでした
GAEやろうとして行き詰まってたところだったから助かった!

916:nobodyさん
10/01/12 19:19:52
@をもらうとおみくじを返す系のbotを製作中の初心者です。
phpを2分おきにGAEのcronで叩いてるんですが、タイムアウトにひっかかっているらしく、
たとえば30分以内の@に対しおみくじを返すように設定しても15回中5~8回程度しか返って来ません。
これを「ひとつの@につきひとつのリプライを返す」というふうに、php側で処理することは可能でしょうか?
GAEのtask queuesも試してみたんですが、This queue is empty.と出て動きません。
きっと非常に初歩的なミスをしているのだと思いますが、どちらかについてご存知の方は
ご助言をお願いしますorz

917:nobodyさん
10/01/12 19:59:34
リプライしても無視し続けたらボットだってバレるかな?

918:nobodyさん
10/01/12 21:19:02
>>916
重くなってる処理はないか確認してみる
GAEはだいたい4~8秒くらいでタイムアウトになるからその分処理を軽くしなければならないよ

まあ晒せる範囲でソース晒してみたら

919:nobodyさん
10/01/12 23:28:49
>>916
同文の投稿制限にひっかかってるとかもあるんじゃないのか

920:nobodyさん
10/01/14 15:32:58
投稿関係でうまくいかないときって、連投規制に引っかかってることが多いよ

921:nobodyさん
10/01/14 19:33:13
URLリンク(www.setcronjob.com)って今
@pages使ってる人だと動き不安定?
一度削除して登録し直そうとしてもタイムエラー出るんだが…


922:nobodyさん
10/01/14 22:14:43
>>921
さくらでもタイムエラー出る…

923:nobodyさん
10/01/14 22:16:36
サーバー自体がおかしいのかね
demoでログインしたらサーバーのcp.phpが入ってた
チェック中なのかな?明日には直ってくれるといいね

924:nobodyさん
10/01/14 22:16:37
途中送信した。
今まで調子よかったのになんで急に…入金したばっかりなのに

925:nobodyさん
10/01/14 22:51:55
SetCronJobはもう、このURLに達することができません。 誤り: 接続は外で調節しました。
有料垢だろうがjpドメインの鯖を規制してるっぽい。

926:nobodyさん
10/01/14 22:57:00
えええ金取ってそれって詐欺じゃん

927:nobodyさん
10/01/14 23:06:05
垢自体は凍結されてないので@PAGEからXREAに変えたら使えた。

928:nobodyさん
10/01/14 23:11:02
申し訳ございません。 現在、一般向け無料サーバーの募集は行っておりません。 次期募集をお待ち下さい。

XREA…(´・ω:;.:...

929:nobodyさん
10/01/14 23:27:59
完全に金かけずにやるのはもう厳しいな

930:nobodyさん
10/01/14 23:30:28
>>845
詳しい作り方をblogとかに公開すればアクセス稼げるよきっと

931:nobodyさん
10/01/15 00:30:49
URL転送サービスでURL変えて登録だと動かない?

932:nobodyさん
10/01/15 01:11:26
GAE使えば無料じゃないか

933:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/15 01:56:33
どうも。cronのクローン作るとか言っていた香具師です。
sendmail,postfixが言う事を聞かないのでメールに頼らない認証方法を確立したいのですが、どうすれば良いでしょう…(人任せ)
せっかくTwit専用なのだしtwitterのアカウント経由で認証するのもありだと思います。
そうすれば管理もtitter経由で可能になりますし。
いかがでしょう。

934:nobodyさん
10/01/15 01:59:48
SetCronJobの有料垢だけど、管理者からメールきてて
jpドメインでも使えるようにする案と、場合によっては返金するよって内容のものだった。
自分は自力で使えるようになったけど一応、対応はしてくれるみたいでちょっと安心した

935:nobodyさん
10/01/15 02:03:03
無料でもjpドメイン使えるようになって欲しいな…

936:nobodyさん
10/01/15 13:49:35
phaさんのリプライスクリプトにGAEを組み合わせて使ってるんだけど、
スクリプト中の「何分以内にもらったリプライを読み込む」を2分に、GAEのcronファイルも2分毎に更新にしてあるんだけど、どうも取りこぼしがあるみたいなんだよね。
そういうもん?

937:nobodyさん
10/01/15 14:01:44
そうでもない

938:nobodyさん
10/01/15 14:08:56
>>936
GAEが誤差があるからな
$limittime = $now - $cron * 60;
ここを変えれば良い
自分は62にしてる
それでも取りこぼしはあるけどね
あまり秒数を増やすと今度は2重投稿しちゃうよ

939:nobodyさん
10/01/15 15:58:06
URLリンク(www.onlinecronjobs.com)
アメリカのでこんなの見つけたけど、使えない?

940:nobodyさん
10/01/15 16:38:38
@pages使いでFree Web Cron Serviceでcron設定してるんだけど
一切反応しない…
5分間隔と20分間隔にしているんだけど何が原因なんだろう

941:nobodyさん
10/01/15 17:04:16
今人間と会話できるbot作ってるんだけど、アルゴリズムが難しいんだ。
特に感情を持たせるにはどうすればいいかアイディアをくれないか?

一応疑問文に応答するアルゴリズムは大方できてるんだ。
問題は人間らしい感情をどうやって持たせるかなんだ。

942:nobodyさん
10/01/15 19:36:41
>>938
おーありがとう!
ためしてみますー

943:nobodyさん
10/01/15 19:42:55
>>941
そいつに死ねと言ったら死ぬかな?

944:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/15 22:00:57
>>941
感情のパラメータを作成して、単語ごとにエモーショナルレベルを設けて喜、哀、憂、怒などに数値を加算して表現してはいかがか

945:nobodyさん
10/01/15 22:07:19
date_default_timezone_set('Asia/Tokyo');
$today = getdate();
$day1 = (55-date(z));

で日付取得と残り日数を計算して
今日は${today['mon']}月${today['mday']}日です。~~まであと".$day1."日です
っていうカウントダウンをポストしているんだが、定期だとうまく行くんだがリプレイだと日付が取得できないんだ。
リプライに対応するためにはソース書きなおさなきゃだめなのかな?

946:nobodyさん
10/01/15 22:25:00
なんでリプライだと日付が取得できんの?

947:nobodyさん
10/01/15 23:08:29
今日は${today['mon']}月${today['mday']}日です。~~まであと".$day1."日です
今日は月日です。~~まであと日です。
ってなるんだ。
理由は私が聞きたい\(^O^)/

948:nobodyさん
10/01/15 23:32:27
両脇に半角スペース入れてみたら?
私も同じような事なった事あるけど、半角スペース入れたら直ったよ

949:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/15 23:49:40
>>947
""でくくらなくてよくないか?
""の中に直接変数を書き込めなかったっけ
"~~まであと$day日です"でおkだったと思う

950:nobodyさん
10/01/16 00:08:39
>>947
引数が渡ってないとかじゃないかな
取得をまるっとユーザー関数の内側に入れてみてはどうだろう

見当違いだったらごめん

951:nobodyさん
10/01/16 10:17:49
>>947
その中の変数を取得してから表示するまで処理ごとに表示してみればいんでないの。

952:nobodyさん
10/01/16 10:18:47
変数のセットが関数外で、表示は関数内なのにglobal宣言してないとかはよくある話。

953:nobodyさん
10/01/16 12:33:09
フレンド発言取り込んでマルコフ連鎖にしてるbot作ってみてるけど
URLとかRTとかノイズ除去するのがわりと手間だね。

954:nobodyさん
10/01/16 21:29:27
>>944
なるほどフムフム

955:nobodyさん
10/01/16 23:38:57
1つのbotに絡み続けるbotを作ってるんだけど
bot製作のblogとか見ながら作ると「1人の人への連続replyはしない」ようになってるから
誰かを間に挟まないと(もしくはdata.txtの中身を消さないと)リプライしてくれない。
どうすればいいかわからん・・・。誰か教えてください

956:nobodyさん
10/01/16 23:59:48
どのブログを見てどういうbotを使ってんのか説明してもらわんとエスパーじゃないんでわからんよ。


957:nobodyさん
10/01/17 00:09:41
>>956
ああすまん。「銀さんのbot」と「プログラミングを始める~」を参考に
設置サーバーも銀さんと同じところにしてる。
とあるbotが特定の言葉をつぶやいたら、それに@で返信させるようにしたいと思ってる
TLに反応させてリプライさせる「プログラミングを~」にあったものをほぼコピペしてます


958:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/17 00:33:33
自分のブログにも書いたりしてますが、cron-jobのクローンの設定法はtwitter経由でいいですか?
botに発言してスケジュール管理です。

959:nobodyさん
10/01/17 00:41:40
botにfollowers抜かれた\(^o^)/

960:nobodyさん
10/01/17 00:42:19
>>957
落ちついて処理を一歩一歩理解するんだ
それでも分からなかったら聞け

961:nobodyさん
10/01/17 03:12:32
>>827
>>829
と同じようにGAEが起動できなくなってしまったんだが…
原因がわからん。わかる人いないかな…

962:nobodyさん
10/01/17 03:18:45
Google App Engine 2アプ目
スレリンク(php板)

963:nobodyさん
10/01/17 03:27:36
ボットジェネレーターの質問とかもここでしていいの?

964:nobodyさん
10/01/17 05:30:18
URLリンク(mukurobot.blog101.fc2.com)
ここの記事のカッコに囲われた文字のみをオウム返しする機能を付けたいんだけど
phaさんのスクリプトじゃなくてbardothodolさんのスクリプトで対応させる方法がわかりません

最初そのままつっこんでみたけどやっぱり動かなかったので教えてください

965:nobodyさん
10/01/17 09:00:07
動かない時はエラーメッセージを読もう

966:964
10/01/17 09:19:39
エラーは出てなくて、特定ワードを含まない時のリプライが返ってきたんだ
bardothodolさんのとこのと色々当てはめてやってみたんだけど
$replies2も$iも見当たらなくて何に当てはめ直せばいいのかがわからなかったorz
もうちょっと睨めっこしてみます

967:nobodyさん
10/01/17 09:36:11
そういう時は変数の中身を出力してみてどこで想定外の動作になっているか確認するんだ

968:nobodyさん
10/01/17 09:41:25
ボットジェネレーターの質問もここでいいのかわからないけど質問。

たとえば「おはよう」に対して「おはよう」と「グッドモーニン」の二種類のリプで返したい場合、

「おはよう」を受け取ると「おはよう」と返信
「おはよう」を受け取ると「グッドモーニン」と返信

こう二行やるのと

「おはよう」を受け取ると「おはよう","グッドモーニン」と返信

こうやるの、どっちがちゃんと動くんでしょうか

969:nobodyさん
10/01/17 09:49:32
そのBOTのコードによる

970:nobodyさん
10/01/17 11:32:40
>>827
>>961
自分もエラーが出てGAE Launcher動かないんだが
コマンドプロンプトにコマンド直打ちでデプロイ出来たよ

971:nobodyさん
10/01/17 12:50:08
>968ですが自己解決しました。前者で動くみたいです。
スレ汚し失礼しました。

972:nobodyさん
10/01/17 14:01:44
GAEのcronでリプライに反応するプログラム動かすと、失敗ばっかりしてる。
スクリプトが重いのかな

973:nobodyさん
10/01/17 23:27:52
>>972
そうだね

974:nobodyさん
10/01/18 00:50:08
>>972
Twitterに単純にPostするだけのスクリプトと比べて重いの?

975:nobodyさん
10/01/18 02:18:12
URLリンク(d.hatena.ne.jp)
ここのソースを借りてTL上の単語に反応するようにしたいと思っています。
手動でブラウザからphp叩けばきちんと動くんですが
cronで叩くと「ファイルが開けません 」というメールが返って来てしまい、動作しません
ソース見た限りではおそらくdatファイルが開けないという事だと思うんですが…
手動でやる分には問題無いのでcron側の問題でしょうか
メールでphpのエラーメッセージを持ってきているので
cronの実行コマンドのファイルパスは合っていると思います。
プログラミング・cron等は全く手をつけたことがなくて、色々調べてみたのですが
分かりませんでした。
解決方法ご存じの方いらっしゃいませんでしょうか。

976:DAWNTO_Windy-melt ◆Windy/f9HNwg
10/01/18 03:05:41
>>975
ソースうpが原則です、その方がスグに解決しますよ

977:nobodyさん
10/01/18 03:13:31
パーミッション設定してないだけじゃねーの?

978:975
10/01/18 04:13:21
>>976
失礼しました。ソースうpしました。
URLリンク(kissho.xii.jp)
反応語句部分ところとusernameとpass以外いじってません。

>>977
パーミッションというとdatファイルのでしょうか?666に設定してあります。
これで手動ではきちんと動くんですが、もしかしてphpの方も設定しないといけないんでしょうか
試してみます。

979:nobodyさん
10/01/18 13:08:22
>>978
cronを使うと途端にファイルが開けなくなる場合は、ファイルのパス指定で間違えてるのがほとんど。

980:nobodyさん
10/01/18 13:57:52
スレ違いかもしれないけど、良かったら教えてほしい
今度マルコフ搭載したボット作ろうと思うんだけど、ちゃんと勉強したい
プログラムを自分で組めるまではいかなくても、改変出来る程度の知識を身に付けたいと思ってる
なんか良いおすすめの本とかあるかな?
ちなみに自分のレベルは毛の生えた初心者


981:nobodyさん
10/01/18 14:06:01
プログラム全くわかんないならまずphp初心者スレでも見てあそこのテンプレのURL一通り見てくればいんじゃないの。
マルコフ連鎖とか形態素解析とかそういうのは最低限の土台できてからであって
いきなりやろうとしてもろくなことにならんよ。

982:nobodyさん
10/01/18 14:19:22 scJ7qSxR
>>829
google_appengine_projects.ini
を探して消す。

983:nobodyさん
10/01/18 15:21:00
bot製作者の方に質問なんですが
よく解除するときはリムーブじゃなくブロックしてくれってあるのはどうしてですか?
リムーブだとなにかまずいんでしょうか

984:nobodyさん
10/01/18 15:27:16
>>983
リムーブされてもbotからのフォローが残るからでは?

985:nobodyさん
10/01/18 15:27:26
>>983
管理が面倒臭いからじゃない?
フォローしてる人に話しかけるタイプのbotだったりしたら
リムられてるのに話しかけてしまうのは迷惑だろうから
フォロワーとフォローは同じにしておきたいと思うんじゃないか

986:975
10/01/18 15:50:11
>>979
cronの実行コマンドのパスでしょうか?
何度も確認してみたのですが、やはりファイルパスは合っています
正常に動くphpと同じディレクトリに入れてあるので、それをコピペしてファイル名書き換えてます
動いているもの→/usr/local/bin/php /home/*****/public_html/*****/post_random.php
動かないもの→/usr/local/bin/php /home/*****/public_html/*****/reply_tlget.php

ちなみにphpのパーミッション設定も変えてみましたが、ダメだったようです。

987:nobodyさん
10/01/18 16:19:57
>>986
$filenameの方を絶対パスにしてみて

988:975
10/01/18 17:30:36
>>987
それで動くようになりました!!
反応が不安定ですがとりあえず動くようになりました!!
不安定なのはphpの問題っぽいので自力で何とかしてみます
本当にありがとうございました!!


989:nobodyさん
10/01/18 17:55:35
>>988

>>979だけど説明悪くてすまなかった

990:nobodyさん
10/01/18 18:04:06
>>980
相当難しくなると思う。
初心者ならまずphpでいろんなbot作って基礎を確実にして。

マルコフ連鎖もWikipediaだけではよくわからないと思う。

個人的に思うんだが、マルコフ連鎖を使って呟かせるより他の人の過去の呟きを拾ってbotに呟かせたほうがより人間っぽいと思う。まぁ楽しむ目的でbotつくるならマルコフ連鎖でもいいけど。

991:nobodyさん
10/01/18 20:03:50
そういや次スレはどうするんだ?

992:テンプレ案1(GAEのがj.mpになってるのはURLが長かったから)
10/01/18 21:45:52
プログラムとかわかりません><
URLリンク(twittbot.net)

Perl
URLリンク(search.cpan.org)

PHP
URLリンク(pear.php.net)
URLリンク(labs.transrain.net)

Ruby
URLリンク(twitter4r.rubyforge.org)

Java
URLリンク(yusuke.homeip.net)

プログラミングができなくても作れるTwitter botの作り方
URLリンク(pha22.net)

cron
URLリンク(www.onlinecronjobs.com)
URLリンク(www.setcronjob.com)
URLリンク(mywebcron-com.loopiasecure.com)
URLリンク(cron-job.de)

GoogleAppEngineによるcron
URLリンク(code.google.com)
URLリンク(j.mp)
URLリンク(d.hatena.ne.jp)

993:nobodyさん
10/01/18 21:49:46
お邪魔します。phaさんの配布されている物を使って作成したbotなのですが、
複数件リプライを貰っているのに最新1件のリプライにしか反応(返事を)しない場合はどのような原因が考えられるでしょうか?
ちなみに手動で叩いてみてもやはり最新1件のリプライにしか反応しませんorz

994:nobodyさん
10/01/18 21:52:04
>>993
そのプログラムのリプライ処理の部分を書いてくれ

995:テンプレ案2
10/01/18 21:52:59
OAuth
URLリンク(wolf.silk.to) (要curl)
URLリンク(www.msng.info)
URLリンク(j.mp) (curl不要その1)
URLリンク(j.mp) (curl不要その2)

TwitterAPI日本語訳
URLリンク(watcher.moe-nifty.com)


他に何かあったら追加ヨロ

996:テンプレ案2
10/01/18 21:53:43
OAuth
URLリンク(wolf.silk.to) (要curl)
URLリンク(www.msng.info)
URLリンク(j.mp) (curl不要その1)
URLリンク(j.mp) (curl不要その2)

TwitterAPI日本語訳
URLリンク(watcher.moe-nifty.com)


他に何かあったら追加ヨロ

997:nobodyさん
10/01/18 21:53:44
だれか次スレ立ててくれ

998:nobodyさん
10/01/18 22:43:45
>>978
* * * * * wget URLリンク(example.com)
ってやってる?

* * * * * wget /var/www/path/to/aaa.php
とかしてませんか?

999:nobodyさん
10/01/18 23:19:20
立てた。
スレリンク(php板)

1000:nobodyさん
10/01/18 23:22:38
おまんこ

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch