トップページ⇒php
1001コメント336KB

【Twitter】 BOT製作支援スレ

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/09/27(日) 14:15:59ID:Dz08qoo4
見当たらなかったので立ててみた

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

*どの言語でもOKですがソースを書く際は何の言語なのかも記載してください。
*初心者のために、なるべくぶつ切りのソースではなく全体的に載せてほしいです。
06936892009/12/25(金) 21:55:28ID:yLGH+OzA
>>692
そうじゃない、xmlから拾うときに前拾ったのを拾わないようにするにはどうしたらいい?
0694nobodyさん2009/12/25(金) 22:01:38ID:???
>>693
なんらかの方法でマークしておけよ。
xml取得時に日時で絞っておくとか、IDを記録しておくとか、、、
06956892009/12/25(金) 22:07:51ID:yLGH+OzA
>>694
日時で絞るなんて機能あった?
IDを記録しておく方法だと
ファイルに記録すると読み込み時間かかるし、ファイルの中身を消すタイミングもめんどくさいし
データベースでも同じ
06966892009/12/25(金) 22:16:08ID:yLGH+OzA
ああ、取得した最新のidをファイルに記録しといて今度取得するときsince_idパラメータを指定すればいいのか
0697nobodyさん2009/12/25(金) 22:42:30ID:???
>>696
日時でもなんでもやり方はあるぞ
言っちゃ悪いがそれくらい分かれ

あとsageろ
0698nobodyさん2009/12/26(土) 00:09:15ID:???
なんか無駄に長くて要点わかりにくいんだけど
要するに重複しないステータスを取得したいってことでいいんかね。
まあ>>696でいいんだろうけどAPI叩いて連続で取得したんなら
ステータスIDをキーにした配列に格納しなおして重複避けたり
読み終わったIDを保存しといてそれは除外するなり手はあると思うが。
0699nobodyさん2009/12/26(土) 00:30:52ID:???
どうせ2分とかの間隔で取得するんだから、
00:26:01に起動 → 00:24:00〜00:25:59のステータスが有効
00:28:02に起動 → 00:26:00〜00:27:59のステータスが有効
という感じでやってる。
mentions取得できなかったら?そんなの無視。
0700nobodyさん2009/12/26(土) 00:36:35ID:???
時間で指定できるのもあったよね確か
0701nobodyさん2009/12/26(土) 02:55:24ID:???
sinceは廃止される引数だったと思う。
since_id max_id を使って欲しいんだろう。
0702nobodyさん2009/12/26(土) 14:39:10ID:???
BOTで投稿したときに「APIから」と表示されてしまうのですが、
これを偽装する手段ってありませんか?
0703nobodyさん2009/12/26(土) 14:40:46ID:???
OAuth認証にすれば自由にできる
0704nobodyさん2009/12/26(土) 14:49:04ID:???
>703
ありがとうございます。
調べてみます
0705nobodyさん2009/12/27(日) 05:06:54ID:???
GAEのcron.xmlで、「毎日○時〜○時の間のみ○分間隔で実行する」という設定は可能ですか?
<schedule>の書式とにらめっこしたけど調べた範囲では分からなかった…
0706nobodyさん2009/12/27(日) 08:49:06ID:???
>>705
○分間隔にしといてBOT側で時間の対応をする
0707nobodyさん2009/12/27(日) 11:31:22ID:???
>>705 その後、どうですか?
0708nobodyさん2009/12/27(日) 23:04:05ID:???
FileQっていう月99円のレン鯖はcron無制限だよ。実際に自分のbotで試したらちゃんと動いた。
0709nobodyさん2009/12/28(月) 05:11:09ID:???
皆さんbotのプログラミング言語は何を使っているんですか?
0710nobodyさん2009/12/28(月) 07:37:01ID:???
過去ログ読め



BOTの為だけに鯖借りるのはなんかなーとは思う
0711nobodyさん2009/12/28(月) 08:14:48ID:???
無料鯖借りればいいじゃん
0712nobodyさん2009/12/28(月) 11:10:23ID:???
自鯖立てればいいじゃん。
0713nobodyさん2009/12/28(月) 11:34:53ID:???
自分で書き込めばいいじゃん。
0714nobodyさん2009/12/28(月) 12:16:36ID:???
cron使える無料サーバーなんてあるのか?
FileQが多分一番安いし一分間隔でcron使えるし
0715nobodyさん2009/12/28(月) 12:28:27ID:???
>>713
それボットじゃねーwww

FileQ試してみたけどスゲーな
安定して1分間隔でcron動く
1年1180円だしこれでいいんじゃね?
0716nobodyさん2009/12/28(月) 19:59:23ID:???
rep2置いたらジエンにつかえるじゃん
0717nobodyさん2009/12/28(月) 21:38:58ID:???
名詞や動詞を組み合わせて発言するボットを作ってる人多いけど、文意がおかしな事になってるじゃん。
もっとちゃんと作ったらいいじゃん。
0718nobodyさん2009/12/28(月) 22:10:42ID:???
>>715
FileQは操作に慣れるのに時間がかかる。
慣れるまでが問題かな。
0719nobodyさん2009/12/29(火) 01:24:34ID:???
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が使えるサーバーを探すべきか…
0720nobodyさん2009/12/29(火) 01:34:48ID:???
>>717
マルコフ連鎖とかいうのを実装して作るんだけど、あくまで「文と文のつながり」を記憶できるだけであって、文意の解析までは辿りつけてないよ。
発言ごとに辞書引いて意味を覚えるとか面白いとは思うけど、労力が足りないんじゃないかな。
0721nobodyさん2009/12/29(火) 03:33:58ID:???
cronはwindowsでもできたはず・・・
ttp://www.bitfolge.de/pseudocron-en.html
0722nobodyさん2009/12/29(火) 05:41:41ID:???
>>717
>>720だし、マルコフじゃなく自分である程度の文章のつながりを作るのもできんこともないけど
すげーめんどくさいか、すげー少ないバリエーションになってしまう。
あれはああいうカオスな発言を楽しむもんだと思ってる。

伺かみたいな文章として成り立ってるのを作るにはあれみたいに
一文ごとにデータ作ってやんないといけないしな。
チャットのbotでそういうの作ろうとしたけど飽きて投げた。
品詞の分類だけじゃなく活用まで考えて作るのすげーめんどせーよ。
0723nobodyさん2009/12/29(火) 15:46:23ID:???
>>719
APIでタイムライン上の発言を配列に突っ込んでforeachで一つづつ検索していくとか
0724nobodyさん2009/12/29(火) 17:12:26ID:???
FileQでcron試してみた。
一分間隔で動くように設定して60分放置。
結果54回動いた。
0725nobodyさん2009/12/30(水) 00:13:07ID:???
>>722
たしかに、マトモなボット作るなら膨大な量の辞書データがいるね
0726nobodyさん2009/12/30(水) 01:23:09ID:???
もしかしてcron-jobおかしい?垢削除祭か?
今日の夜から突然動かなくなったんで確認したら綺麗に消されてた
他にも消された奴いる?
0727nobodyさん2009/12/30(水) 02:04:50ID:???
>726
消された

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

上にあるFileQ試してみたいんだけどcronでわからなくなってる
Commandにhttp〜じゃだめなのか…
0728DAWNTO_Windy-melt ◆Windy/f9HNwg 2009/12/30(水) 02:49:38ID:???
Cron-job互換サービスを立ち上げてみたいのですが、結構高性能なサーバーでないと不可能でしょうか?
日本語で使えるサービスが有れば便利だと思うのですが。
0729nobodyさん2009/12/30(水) 03:51:14ID:???
毎分動かすとなると、それなりに負荷がかかることになるから安い共用鯖じゃ無理
海外の安いVPSを借りてみるとか
0730DAWNTO_Windy-melt ◆Windy/f9HNwg 2009/12/30(水) 05:48:21ID:???
>>729
自宅鯖です。
model name : Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz
memory:512MB
0731nobodyさん2009/12/30(水) 06:06:15ID:???
oauth使ってると思われるbotが止まったの、アプリのAPIがサスペンデッドになってると思われ。
0732nobodyさん2009/12/30(水) 09:30:58ID:ScDpW0+E
cron-job消された。
別のメールアドレスで再登録しようと思ったけどダメ。
FileQもよくわからないしめんどくさいなぁ。
0733nobodyさん2009/12/30(水) 11:11:49ID:???
垢BANされた人はとりあえず応急処置としてパソコン立ち上げっぱなしでブラウザ自動更新しておいたほうがいいね
0734nobodyさん2009/12/30(水) 11:25:59ID:???
>>726です
あの後別のメールアドレスで再登録して
URLも登録し直したけど大体大丈夫っぽい
たまに動かないけど一時間に一回のボットだからそんな問題ないって感じ
今日から帰省だからその間に止まってたら困るな
やっぱり有料のサーバ借りてやるしかないのか
単なる趣味にしか過ぎないしボットのためにお金注ぐのもなんだかねー。
GAEも検討したけど色々面倒だお
設定に何十時間も掛ったと聞くけど最新のOSでもそう?
あんまりパソコン立ち上げる時間無いからちょっと躊躇してるんだ
0735nobodyさん2009/12/30(水) 12:48:47ID:???
>>727
コマンドにはhttp://じゃなく
/home/******/public_html/*****.php

と、実行したいファイルのディレクトリを書けばいけるはず。
0736nobodyさん2009/12/30(水) 13:29:29ID:???
>>735
727です。ありがとう!やってみます
0737nobodyさん2009/12/30(水) 13:43:24ID:???
>>736
動かなかったら教えてちょ
0738nobodyさん2009/12/30(水) 13:50:50ID:???
cronを毎分使いたいならやっぱり有料鯖借りないとダメなのかな〜
0739nobodyさん2009/12/30(水) 13:53:47ID:???
俺の借りてる鯖のcron使って君タチのボット動かしてあげようか????
0740DAWNTO_Windy-melt ◆Windy/f9HNwg 2009/12/30(水) 14:20:02ID:???
>>739
それ、今からやるところですよwww
webからセットアップできるcronのフロントエンドをphpで自作しているので完成次第公開します。
0741nobodyさん2009/12/30(水) 15:37:46ID:???
わっふるわっふる
0742nobodyさん2009/12/30(水) 15:55:25ID:???
わっふるわっふる
0743nobodyさん2009/12/30(水) 16:14:07ID:???
わっふるわっふる
0744nobodyさん2009/12/30(水) 17:12:51ID:tKJERMBp
735です。
FileQでのcronの動かし方を間違えてレスしてました。
正しいコマンドはこうです。
これは僕の例ですが、index.phpにボットのプログラムを書きpublic_htmlフォルダにアップしました。
*****の部分はアカウント名です。

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

まず
/usr/local/bin/php
と入力し、半角スペースを入れてから動かしたいファイルの/home/から始まるパスを入力します。
0745nobodyさん2009/12/30(水) 21:48:07ID:???
FileQ使ってるけど
php /home/ユーザー名/public_html/PHPの入ってるディレクトリ名/ファイル名.php
cd /home/ユーザー名/www/PHPの入ってるディレクトリ名; /usr/local/bin/php ファイル名.php
の2通り試してみたらどっちも同じように動いてるよ
0746nobodyさん2009/12/30(水) 22:03:34ID:???
↑はコマンド欄に直で入力ね
0747nobodyさん2009/12/30(水) 23:40:14ID:???
>>744
>>745

取り合えずcron動くのならおk
0748nobodyさん2009/12/31(木) 00:57:09ID:???
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/
0749nobodyさん2009/12/31(木) 06:14:13ID:???
FileQにPHPをアップしてもエラーが出る…。
他のサーバにアップしたPHP(FileQにアップしたものと中身は同じ)は問題なく動くのに。
0750nobodyさん2009/12/31(木) 09:04:58ID:???
>>749
どのフォルダにアップした?
FFFTPとかのアップローダー使った?
0751nobodyさん2010/01/01(金) 09:53:36ID:???
>>749
サイトからコピペしたときによくあたるんだけど、、文字エンコーディング関連でエラーが出る事がある。
¥がそのままの時はバックスラッシュに変換してみて。linux環境での実話。
SJISをviで読み込ませたら¥記号のままでエスケープできずに狂ったことがあった。
FedoraはUTF8だったので
:%s/¥/\\/g
:set fileencoding=utf8
で保存し直した。
0752nobodyさん2010/01/01(金) 11:29:43ID:???
>>750
アップローダー(CyberDuck)を使って、パブリック_htmlへアップロードした。


>>751
うーん見た感じ\とかエンコードとかは大丈夫みたいなんだが…。でも返信ありがとう。
0753nobodyさん2010/01/01(金) 15:27:24ID:???
>>752
エラーの文をコピペしてみれ
スクリプトの記述ミスがいけないのか、文字化けなのか、そもそもそこのサーバーのPHPで使えない関数が含まれてるのか
0754nobodyさん2010/01/01(金) 23:15:29ID:???
今のcronの主流は

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

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

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

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

かな?
0755nobodyさん2010/01/02(土) 19:48:02ID:???
PC起動したまま延々リロードしたときの電気代と月々の鯖代はどっちがかかるんだろう…
0756nobodyさん2010/01/03(日) 00:06:15ID:???
cronjob.deがあるじゃん
0757nobodyさん2010/01/03(日) 05:35:49ID:???
GAEでいろいろやってみたがland.toと@pagesは安定してるね
zeroweb(happy888.net)だと、うまく時間内にキャッチできてない→反応しない
昔から借りてる某レンタル鯖は反応するけどその後2回ほどreplyしてしまうし
鯖によって本当にマチマチ…
ちなみにどの間隔も変わらない感じした
0758nobodyさん2010/01/03(日) 10:03:12ID:???
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?
0759nobodyさん2010/01/03(日) 10:04:31ID:???
アカウント名消し忘れたwww まいっか
0760nobodyさん2010/01/03(日) 10:11:34ID:???
そう
curl未対応だな。FileQは
0761nobodyさん2010/01/03(日) 13:37:31ID:???
http://twitter.com/tre666
トレ君か よろしく
0762nobodyさん2010/01/03(日) 15:48:44ID:???
cron job、アカウント云々じゃなくてサービスのサーバー自体がおかしいみたい
今朝、持ってる全てのアカウントが消されてて別のメアドでアカウント取ったんだが、新しいcronを設定する端から消されて行くw
アカウント取れたからには個人を特定されて弾かれてる訳ではないだろうし
BOT本体だけでなく、30分に一回フォロー用phpを回すだけのアカウントも消されていたのもそのせいかも
0763nobodyさん2010/01/03(日) 18:45:10ID:???
>>761
変な汗でた よろしくお願いします

FileQを諦めるかwebcronにするか自力で設定するか…
1日数回の定時postはwebcronにしてたんだけど、リプライはさすがに消費量が激しいので無理だな
0764nobodyさん2010/01/03(日) 21:45:57ID:???
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の読み込みに問題があるのでしょうか?
どうしたらいいのかわからずお手上げ状態です
0765nobodyさん2010/01/03(日) 22:00:13ID:???
>>764
"または'のエスケープ処理を忘れていませんか?
0766nobodyさん2010/01/03(日) 22:13:34ID:???
>>765
" や ' を \" や \' にすればいいのでしょうか?
0767nobodyさん2010/01/03(日) 22:33:27ID:???
>>762
cron-jobは、日本のBotで負荷が異常に増えたのに対して、〜.jp規制をかけているようです。
phpなどの実行URLか、登録メールアドレスが日本のドメインの場合強制排除しているとか。

ソースはほかの開発者さんのツイートなので曖昧ですが、〜.jpを使っていない私が
全く規制されていないのも納得できました。
0768nobodyさん2010/01/03(日) 23:21:18ID:???
まあ頻繁に話題に出て皆一斉にそれ使ってりゃ規制されんのも当然か。
0769nobodyさん2010/01/04(月) 01:31:21ID:???
>>345>>352と全く同じ状況なんだが対処法がさっぱりわからない
出来てる人はどうやってるんだろうか…?
0770nobodyさん2010/01/04(月) 01:59:32ID:???
エラーはなんて出るの?
07717692010/01/04(月) 02:12:01ID:???
俺に聞いてると仮定して答えるけど
エラーは出てない、ポストも問題ない、ただin_reply_to_status_idが付与されないだけなんだ
Basic認証の時は出来てたんだけどなぁ
0772nobodyさん2010/01/04(月) 03:03:11ID:???
>>771
自分はこれで出来てるけどどうだろう
$req = $to->OAuthRequest($host,array("status"=>$aaa,"in_reply_to_status_id"=>"$bbb"));
07737692010/01/04(月) 07:01:43ID:???
"in_reply_to_status_id"=>$bbb を "in_reply_to_status_id"=>"$bbb" に変えたら出来た!
単純な話で情けないな…。>>772ありがとう
0774nobodyさん2010/01/04(月) 09:56:27ID:???
なんだそりゃ。型によって処理分けたりしてるんかね
0775nobodyさん2010/01/04(月) 10:13:46ID:???
sutatusは基本文字列だから通ってもidは基本数値型だから蹴るみたいな?
どっちにしろ送るときゃ文字列なのにおかしなことをしてるな。
しかも黙って蹴ってるってのがなんだかやな感じだな。
0776nobodyさん2010/01/04(月) 10:48:00ID:???
>>767
land.toとかだと〜.jpじゃないけど消されるよね
単純に〜.jpで弾いてるわけだもないのかな?
0777nobodyさん2010/01/04(月) 11:43:15ID:???
FileQでcron設定してみたんだがリプライしても沈黙したまんまだ。
手動なら動くということはファイル自体は問題ないんだよな…?
なにがあかんの……
0778nobodyさん2010/01/04(月) 13:20:42ID:???
cronjob.deって、登録申込したあとメール来るのにどれくらいかかる?
1日とか待たなきゃいけないのかな…
全然来ないのでちゃんと申込出来てるのかわかんなくなって来た
0779nobodyさん2010/01/04(月) 16:20:35ID:???
>>778
メールはすぐ来た。が、その後すぐアカウントロックされてしまった。
cron-jobでロックされた人が流れてるからかもしれん
>776
自分は.comドメインだけど鯖がロリポ
鯖IPかアクセスしたIPで日本かどうか判断してるのかも
07807782010/01/04(月) 17:00:18ID:???
>>779
違うメアドで登録してみたら今度はすぐに来た
今のところアカロックはされてないみたいだけど
cron-job.orgのときみたいにログイン出来なくなっちゃったの?
0781nobodyさん2010/01/04(月) 19:08:24ID:???
Gmailで登録してるけどcron-job.orgもcronjob.deも垢消されてないぞ
ただもうcron-job.orgは設定するそばから消えるけど

>>777
コマンド欄にURLそのまま打ち込んでないか?
ちょっと上の方見て来い
0782nobodyさん2010/01/04(月) 19:46:04ID:???
cron-job、ログインできないのにちゃんと回ってるみたいでTL反応とかし続けてる…
同じ状況の奴いる?
0783nobodyさん2010/01/04(月) 19:51:34ID:???
>>648
>>649
あなた方のやり取りなかったら、ゴール目前で諦めてた。ありがとう。
0784nobodyさん2010/01/04(月) 19:53:07ID:???
phpだけじゃマルコフ無理なん
0785nobodyさん2010/01/04(月) 20:57:33ID:???
FileQで外部サイトのphp回せる?
curl使えない?何のこと?とか思ってたらリプライ用のファイルも回せないってことなんだよな?
お金払っちゃったぜ/(^O^)\
0786nobodyさん2010/01/04(月) 22:02:45ID:???
>>782
うちのとこもそう。
まったくいじれないのにそのまま動いてるから移行もできない状態…
とりあえず自然にオフになるの待ってる。
0787nobodyさん2010/01/04(月) 22:06:20ID:???
cron-job.org設定ではerfolgreichってなっているけれど動いてない。
誰か助けて
0788nobodyさん2010/01/04(月) 22:24:40ID:???
>>345>>352は俺です。
>>769
掘り返してくれてありがとう

>>772
ありがとう出来たよ!
型が違うのかと思ってintvalかませたりとかは試してたんだけど単純な話は単純な話だったんだな…
0789nobodyさん2010/01/04(月) 22:27:08ID:???
botみかけたけれどcron-job.org今調子わるいのか?
0790nobodyさん2010/01/04(月) 22:29:00ID:???
むしろ今のcron-job.orgは絶好調
0791nobodyさん2010/01/04(月) 22:31:20ID:???
>>790
それはギャグで言っているのか? 
0792nobodyさん2010/01/04(月) 22:57:17ID:???
うちのは問題なしだけど、蹴られないうちにファイル名変えようかな…botていうフォルダだから
向こうに用途悟られて消されかねないし
■ このスレッドは過去ログ倉庫に格納されています