【Twitter】 BOT製作支援スレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/09/27(日) 14:15:59ID:Dz08qoo4[公式] http://twitter.com/
[Twitter 開発ブログ 日本語版] http://twitterjp.blogspot.com/
*どの言語でもOKですがソースを書く際は何の言語なのかも記載してください。
*初心者のために、なるべくぶつ切りのソースではなく全体的に載せてほしいです。
0449nobodyさん
2009/12/07(月) 06:37:19ID:???ローカルで開くと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の横に出るアイコンじゃん…関係あるの…
0450nobodyさん
2009/12/07(月) 09:57:08ID:???Mecab使ってみてるけど他のがよさげならそっちも試してみたいんだけど。
0451nobodyさん
2009/12/07(月) 11:05:01ID:???うぽつ
>>449
よくわからんが、GAEでのcronは某サイト見ながらJAVAでやってるの?
それとも自前?
0452nobodyさん
2009/12/07(月) 15:47:55ID:???GAEでの”/自分のアドレス”ってappengine.google.comで見たときのTitle=eclipseのpackageの名前じゃないか?
eclipseでも同じ名前にしてる?
あとローカルで開くってのがブラウザで開いてるということならブラウザがfaviconを探しにいく
当然favicon見つからず404になる
>>450
Yahoo APIの使ってる。
0453DAWNTO_Windy-melt ◆Windy/f9HNwg
2009/12/07(月) 19:31:13ID:MdLiWJgYttp://knowledge.ddo.jp/
発展途上なので機能は貧弱ですがプラグインファイルの開発を手伝っていただければ良いソフトになると思います。
次スレがあればテンプレに組み込んでいただけると嬉しいです。
0455nobodyさん
2009/12/07(月) 20:54:23ID:???あのスクリプトってそんなに環境によって動かないものなのか?
自分もプログラミングなんて全くの素人だがphaさんの使って
無料のサーバーでCron-jobから某サイトを参考にGAEで動かして
エラーになったりしても調べてなんとか解決できたし自分で変更もした
自分がたまたま運がよかったのか?
0456nobodyさん
2009/12/07(月) 21:27:13ID:???0457nobodyさん
2009/12/07(月) 21:31:58ID:???>エラーになったりしても調べて
が出来ないんだろう。
環境はIE6です!みたいなこと言ってた人も居たし…。
エラー文読む気ないから丸投げ。
あと本家の鯖の不調と設置の問題の切り分けが難しいのかも。
本体不安定で動かないのかスクリプトかcronか
どれが問題かわからないから丸投げ。
しかし今朝から本家不安定でうちのも不調だわ。
0458DAWNTO_Windy-melt ◆Windy/f9HNwg
2009/12/07(月) 21:35:20ID:???あれ?変換間違えました?
0459nobodyさん
2009/12/08(火) 01:05:41ID:???相手が求めてるような楽屋裏話なんてないんだからそういうのがわかりゃ勝手に離れてくさ。
0460nobodyさん
2009/12/08(火) 01:06:21ID:???0461nobodyさん
2009/12/08(火) 05:26:14ID:???ファイル作成しようにも調べ方が悪いのか参考になりそうなページ出てこなくて息詰まってますorz
0462nobodyさん
2009/12/08(火) 06:35:04ID:???自分もそれなったけど、
プロジェクト作成時に「Google Web ツールキットを使用」の
チェックを外さなかった、に30ペソで。
0464nobodyさん
2009/12/08(火) 09:13:00ID:???>>450
何それおいしいの?
ごり押しおいしいれす(^q^)
0465nobodyさん
2009/12/08(火) 15:14:16ID:???独擅場(どくせんじょう)
真ん中の字は違う。
0466nobodyさん
2009/12/08(火) 15:57:36ID:???独擅場(どくせんじょう)
独壇場(どくだんじょう)
日本語って難しい
0467nobodyさん
2009/12/08(火) 16:19:53ID:???tp://www.nhk.or.jp/bunken/research/kotoba/kotoba_qq_03070101.html
へえーAA略
GAEでcronがちゃんと動いてるのにリプライ拾わない事が多々ある
@で話しかけてから
Cron Jobsをチェック→on time successだがリプライ返さない・Logs見ても200
http://hogehoge.appspot.com/hogehogeにアクセスすると
指定時間内のリプライないよと言われる
でもブラウザでphpにアクセスするとリプライをちゃんと返す
だが放置してるとちゃんと拾う時もある
もう自分では原因が分からん…
GAEはモノクロ2階調さんのを参考にJAVAで動かしてる
同じソースで作った他の定期ポストは絶好調なんだが
こうしたらいいんではとかあれば教えて下さい
0468nobodyさん
2009/12/08(火) 17:03:32ID:???自分も同じ状況だ
GAEはタイムアウトの判定がシビアだから、
自分の鯖とGAEの距離が長すぎると駄目なのかもって意見をどこかで見た
ちなみに自分はロリポにPHPを置いたときは全くリプライが返ってこず、
@pagesに変えたら五割ぐらい返すようになった
あと、24時間以内に同じ内容は投稿できないからそれに引っ掛かってる可能性もなくはないか?
0469467
2009/12/08(火) 17:39:13ID:???うーん同じ内容の投稿制限は引っ掛かってない筈。リプライの数は割と多めだし
それに同じ内容でも@Aさんと@Bさんに返すのは別投稿扱いだし
リプライ数がスクリプトを重くしてるからか?とも思ったんだが
30分定期ポストの方が長いくらいなのにそっちは成功してる
リプライ回す時間は5分だからそこまで無茶してるとも思えない
この差がわからないんだよなー
どっちも動きが悪かったら鯖が悪いんだと思えるんだけど…
たまにちゃんと返しまくる事もあるからphpも悪くない…筈w
以前cron-jobでやってた時に@pagesが重くてさくらに変更して
今はそのままさくらで使ってるんだが…一度動かない奴だけでも鯖変えてみるよ
ありがとう
0470DAWNTO_Windy-melt ◆Windy/f9HNwg
2009/12/08(火) 20:06:19ID:???使うとしたらchasen + nkf
0471nobodyさん
2009/12/08(火) 23:27:44ID:???夕方くらいから急にGAEで失敗続きになってしまった・・・
Twitter本家も無関係の人のTLが流れたりしてるみたいだし
何かサーバーの調子が悪いんかな?
他にもGAE使ってて同じような人居る??
0472nobodyさん
2009/12/09(水) 00:06:04ID:???もう全無視よりいいやとcronjobも並行してみたが
結局どっちも動き悪い
閲覧はクライアント使ってるけど昨日くらいからAPIエラーも多発してるし
細かい鯖落ちも頻発してるみたい
0473nobodyさん
2009/12/09(水) 02:56:14ID:???30分定期ポストのは0から0.004の間でvvvvvvvvvて感じなんだが
動きの悪い5分のリプライの方は0.004あたりでずっとまっすぐなんだ
時間の幅が大きいからかと思ったが以前テスト用に作った2分定期のはvvvvだった
まっすぐなのはずっと処理が終わってないってことなのかね…
でもリプも返す時は返すしその時もグラフはまっすぐなんだがw
0474nobodyさん
2009/12/09(水) 09:31:03ID:???昨日はいきなり0.013くらいまでハネ上がった時間帯があったが
0475nobodyさん
2009/12/09(水) 12:48:01ID:???1時間1回にセットして10時間経過見てたけど1回しか動かない
0476nobodyさん
2009/12/09(水) 15:10:48ID:???支払いとかではトラブルになった事はない?
海外サービスはその辺りがどうも不安
0477nobodyさん
2009/12/09(水) 15:39:23ID:???botが完成してあとはIDを取るだけなんだけど既に他の人が自分と全く同
じbotを作ってた。
でも、その人はIDだけ取っておいてbotは全く動かしていない状態なんだ
けど、こういう場合はどうしたらいいんだろう。
気にせず自分のbotを上げていいのかな・・・
0478nobodyさん
2009/12/09(水) 15:48:28ID:???微妙にスレ違いだと思うけど
同人板にTwitterスレあるからそっちで聞いたほうがいいかも
そっちでもたまにbotの話題になってるから。
他の、例えば天気予報や占い等の否キャラbotなら気にしないでいいと思う
0479nobodyさん
2009/12/09(水) 16:09:54ID:???0480nobodyさん
2009/12/09(水) 17:26:34ID:???別にいいんじゃないの?
俺もキャラbot作っててその状況なったことあるけど(しかも後者)
別にそのまま気にせずやってるなぁ
キャラbotでも複数あるキャラとかあるし
それぞれに面白みがあればいいんでないかな
0481nobodyさん
2009/12/09(水) 17:38:38ID:???内容ダダ被りとかでなければいいんじゃないの?
自分も某キャラのbot作ってるけど、友人も同じキャラのbot作ってる
性格がだいぶ違う設定になっているのでフォロワーさんは自分の好みの方を
選んでフォローしてる感じ
実際に「○○のbot見つけたけど下ネタが多くて無理、
もうひとつ違うのがあったからこっちフォローした!」っていう呟きも見たしさ
0482nobodyさん
2009/12/09(水) 20:10:44ID:???それの ○○○ を書くはず。↓
<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
0483nobodyさん
2009/12/10(木) 01:10:25ID:???0484nobodyさん
2009/12/10(木) 02:10:48ID:???PHPさえインストールしてりゃWSHかなんかで自動実行できるしね
0485nobodyさん
2009/12/10(木) 03:22:04ID:???慣れてきたからリプライにも反応するように新しくphpを用意したんです。
んでもって新しいアプリケーションと2分間隔で回るファイルを作りました。
いざデプロイしたら元の30分の方まで2分間隔で回るようになって、
しかもリプライの方がひとっことも話しません。
何がいけないのか自分にはさっぱりわからないので知恵をお貸しくださいorz
0486nobodyさん
2009/12/10(木) 03:23:40ID:???0487nobodyさん
2009/12/10(木) 05:14:39ID:???今は様子見の方がよくないか?
明らかなエラーとかでない限り
今まで動いてたやつも動かなくなったりしてる中で
原因特定するのは難しいと思う
0488nobodyさん
2009/12/10(木) 06:43:46ID:???0489nobodyさん
2009/12/10(木) 11:25:00ID:???0490nobodyさん
2009/12/10(木) 12:04:00ID:???そのコンテンツとかは消された
自分も言われて見にいった口なのでよく知ってる人フォローよろ
でもまだbotは消されてないから大丈夫じゃね?
0491nobodyさん
2009/12/10(木) 14:59:50ID:???Phaさんのサイトを見てbotを作ったんですが、反応しません。
鯖はロリポ、cronはGoogleのエンジンを使ってます。
質問を箇条書きにしてみました。
色々ググってみたけど、途方にくれたのでお知恵を拝借できると助かります。
・Eclipseを使ってアップロードしたんですが、左側のprojectexplorerにある
作ったcronアイコンにバツが付いている。これはどこかで記述ミスをしたものかどうか。
・Google App engineでfavicon.icoがどうのと書かれてます。そのアイコンをまず
どこに設置すればいいのか、そしてapp.yamlは何処に設置するものなのか。
自分で作るのか、作成した元のcronの中に突っ込むのか。そのファイル自体はcronの中には
ありません。
・EclipseでcronServlet.javaの編集の際、プログラムを指定するURLを書くんですが
これは複数のphpファイルを,で区切ってhttp://から指定して書くものなのか。
以上です。
よろしくお願いします。どうにも動いてくれないので…
0492nobodyさん
2009/12/10(木) 15:47:36ID:???0493nobodyさん
2009/12/10(木) 16:36:58ID:???手軽でいいとは思うけどGAEからBAN喰らったら閉鎖とか書いてあるから怖い
0494nobodyさん
2009/12/10(木) 16:46:59ID:???こんなんでライトユーザのbot乱発したら最近ただでさえ鯖不調なのにサーバの負担厳しくないかな。
0495nobodyさん
2009/12/10(木) 16:49:39ID:???このやり方はBANされるかもって書いてたなあ
botのフォロワーが増えてからBANされたら途方に暮れそうだgkbr
0496nobodyさん
2009/12/10(木) 18:50:25ID:???cron jobでも全然問題ないぞ。
phaさんとこのに頼ってる人は有料cronに手を出したりGAEでBANされたり大変そうだな。
0497nobodyさん
2009/12/10(木) 19:07:35ID:???0分にpostさせてるBOTが10〜15分辺りに反応してて。
設定し直したけど直らないんだよなー。
0498nobodyさん
2009/12/11(金) 06:19:55ID:???少しずつphp勉強してるんだけどphaさんのスクリプトよりbardothodolさんのcurl使うやり方のが軽いのかな?
自分で一から作る力はまだ全然ないからそれならセリフの生成のところだけ入れ替えて書きかえたい
496は全部自作してるん? phaさんのスクリプトの何が問題なん?
0499nobodyさん
2009/12/11(金) 09:06:57ID:???ここ3日ほど経過見てるけど1回しかまともに動いてない
勝手に切られてたりするし駄目だろこれ…
0500nobodyさん
2009/12/11(金) 09:44:28ID:???昨日なんかは一応稼働するにはしてたみたいだけど
今日はまた失敗続きだ…
0501nobodyさん
2009/12/11(金) 12:29:55ID:???まあ軽いっちゃ軽い。最低限の処理だしな。
でもphaさんとこで使ってるNet_Twitter自体もやってることはそんな大差ないから
今のサーバマシンでわかるほどの差はでんと思う。
496じゃないけど俺は自作してる。Net_Twitterも最低限のAPIしかないし。
0502nobodyさん
2009/12/11(金) 14:15:56ID:???cronはcron jobだけど、一度も失敗したことないし、勝手にオフになることもない。
リプライとTLに反応するプログラムは、2分おきにアクセスするようにcron jobで設定してるけど、こっちはたまに勝手にオフになる。
けどPhaさんとこのスクリプトじゃないから、多少遅れても全レスするし問題ないかなと思ってる。
0503nobodyさん
2009/12/11(金) 14:31:45ID:???今のところ60回中1回しか動いてないし勝手にオフにもなる。
もちろんBOTが手動で動くのは確認済。
cron jobってどうやったらちゃんと動くの?
Phaさんとこのスクリプトだから駄目なのかな
一応今PHP勉強して自分でも組んでるけど今ちゃんと動いてる人に聞きたい
0504nobodyさん
2009/12/11(金) 16:51:50ID:???・Cron-jobが重い
・twitterが重い
・BOTのスクリプトが重い
・BOTのスクリプトの出力サイズが大きい(大きいと送受信に時間がかかる)
・BOT鯖が重い(無料や激安な鯖は顕著)
・タイムアウトにひっかかる
0505nobodyさん
2009/12/11(金) 17:07:21ID:???スクリプトが無駄に大きくってるんじゃないか?
>>504の指摘点をもっかい見直せ
0506nobodyさん
2009/12/11(金) 17:27:22ID:???0時、6時、12時、18時に指定した日付までのカウントダウンをpostするプログラムの2つ登録してるけど
前者は一度も失敗してないし勝手にneinになったこともない
後者だけ毎回8時(向こうの鯖が日付変わる時間)になるとneinになりやすい、あと失敗もしやすいみたい
プログラム自体はどっちもbardothodolさんとこの参考にcurlで使うやり方なんだけど…
0507nobodyさん
2009/12/11(金) 19:34:47ID:???最多でも5分間隔しか設定できないけど勝手に止まることはないみたい
ただ、今借りてる鯖じゃ設定できなさそうでした
翻訳サイトにかけて日本語でおkな文章を解読するにサーバー直下にcronjob_*****.html(*****は指定された数字)ってファイルが必要なのかなと思ったんですが
アドレスが向こうの希望通りには設置できないんです
0508DAWNTO_Windy-melt ◆Windy/f9HNwg
2009/12/11(金) 19:50:35ID:lt7fGhiKttp://knowledge.ddo.jp/wiki/
に変更です。手間くって申し訳ないです。
ポータルサイトも立ち上げる予定なので、それなりに生暖かく見守ってやってください。
0509nobodyさん
2009/12/11(金) 19:57:16ID:???getもpostも問題なさげ
Services_Twitter使用
0510nobodyさん
2009/12/12(土) 01:20:53ID:???0511nobodyさん
2009/12/12(土) 01:31:28ID:???0512nobodyさん
2009/12/12(土) 10:36:34ID:???APIの仕様書を見ていると、アクセストークンを設定した時に、レスポンスとしてユーザIDとスクリーン名が返ってくるとのことでした。
それらを使用したいと考えているのですが、どうにも取得が出来ません。(setTokenしたあとに、getLashResponseを呼んでみたり)
どうにかそのレスポンスを得る方法は無いのでしょうか。もしくは、そのレスポンスを取得出来るPHPで使用可能なOAuthライブラリは無いでしょうか。
0513nobodyさん
2009/12/12(土) 22:01:18ID:???つかれたー!って人におつかれって言ってあげるようなことなんだけど
@がないとどうにもわからん・・・。
0514nobodyさん
2009/12/12(土) 22:16:59ID:???0515nobodyさん
2009/12/12(土) 22:36:56ID:???でもあれなんだよね、他の人への@も読みこんじゃうと思うんだよね
0516nobodyさん
2009/12/12(土) 22:50:50ID:???0517nobodyさん
2009/12/13(日) 01:34:10ID:???かまってくれてありがとうw
他人への@に、てかすべての@に反応しないように書いてたんだけど
\@があったら弾くようにしたはずなのにうまく回らない
細かいミスでHP削られたので今日はもう寝ます、ありがとう
0518DAWNTO_Windy-melt ◆Windy/f9HNwg
2009/12/13(日) 02:14:06ID:B1fOU/ii@ってエスケープ必須でしたっけ?(in PHP
0519503
2009/12/13(日) 09:41:31ID:???・Cron-jobが重い
他の人は動いてるから重くは無いんだと思う
・twitterが重い
少し前は変だったけど今は変な挙動もしてない
・BOTのスクリプトが重い
phaさんのpost_random.phpのスクリプトそのままだから大丈夫なはず
・BOTのスクリプトの出力サイズが大きい(大きいと送受信に時間がかかる)
最大全角35文字だから大きくないと思う
・BOT鯖が重い(無料や激安な鯖は顕著)
@pagesだから分からない ただ手動でアクセスした時は必ず動く
・タイムアウトにひっかかる
検証の仕方が分からない
@pagesにアクセス解析付のHTML置いて、そこで呼び出したけどCron-jobのアクセスは無かった
どこか有料だけど安いレン鯖でも借りた方がいいのかな…
オススメはロリポ?
0520nobodyさん
2009/12/13(日) 09:56:28ID:???投稿出来ずにエラーになるのは何でだろう?
ブラウザ上で確認しただけなんだが、ただ一言ERRORって出るだけなんだ…
service_twitterの本体プログラム自体はエラー出てない
勿論パスワードもIDも間違ってないんだ…何でだ…orz
0521nobodyさん
2009/12/13(日) 10:10:26ID:???0522nobodyさん
2009/12/13(日) 10:12:25ID:???やったことや、ソースをそのまま貼ったほうが原因は特定しやすい。
0523DAWNTO_Windy-melt ◆Windy/f9HNwg
2009/12/13(日) 10:20:09ID:B1fOU/iiソースうpきぼん
0524nobodyさん
2009/12/13(日) 11:03:50ID:???0525nobodyさん
2009/12/13(日) 11:41:51ID:???NG登録は簡単なんだし気になるならあぼーんしときゃいいさ。
0526520
2009/12/13(日) 14:04:45ID:???ソース元は銀さんのとこで、ご本人が説明されている環境をそのまま使用してる
設置サーバーもやり方も全く同じ
Twitter.phpにアクセスすると真っ白な画面にになり、ランダムに呟かせるphpファイル
(例えばbot.php)にアクセスすると、白い画面に一文字「ERROR」の文字が出る
↓ソース
0527520
2009/12/13(日) 14:10:31ID:???//d.hatena.ne.jp/silverbot/20090829#c1260572663
ここのページのソース丸コピペ、フルパス、ID、パス、台詞だけ違う状態
0528nobodyさん
2009/12/13(日) 15:03:18ID:???試してないが
if(! $st->setUpdate($post) ){
die('ERROR');
辺りを消したらちゃんとしたエラー吐かないかな?
0529nobodyさん
2009/12/13(日) 15:46:35ID:???違ったらポストって機能を加えたいんだけど、ログの書き込みがうまくいかない。
log.txtをfgetsで配列aに読み込み→変数bと違うか判断→違ったら変数bポスト→
配列aの[1]〜[9]と今ポストした変数bをfor文でlog.txtにfputsしてるだけなのに。
読み込みパターンをw、a、r+どれにしたらいいんだろう?
色々試したけど追加書き込みされたりポストしたばかりのだけになったりする。
rで配列Aに読み込み→wで全消し→aで書き込みするしかないのかな?
そもそもこんな機能いらない?
0530nobodyさん
2009/12/13(日) 16:33:37ID:???GoogleにでもUPするかな
0532nobodyさん
2009/12/13(日) 18:34:07ID:???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);
0533nobodyさん
2009/12/13(日) 18:37:38ID:???$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);
0534nobodyさん
2009/12/13(日) 18:40:36ID:???http://d.hatena.ne.jp/silverbot/20090829/1251532471
タイムアウトするのはこの部分 $plist[$key] == $log[$a]
ログはツイッター本家と同じく上が新しいものになるようにしてる
最近勉強始めたばかりなので見難いかもしれないけどお願いします
0535520
2009/12/13(日) 19:44:53ID:???反応ありがとう!
試しに
if(! $st->setUpdate($post) ){
die('ERROR');
}
を抜いてやってみたら、ただの白いページが出た…
そんでもって投稿はされてない
あるとERRORになってないとシカトって一体どういう…???
0536nobodyさん
2009/12/13(日) 23:02:07ID:???ログの保存の仕方はわからないけど改行コードは入れてる?
少なくとも末尾に \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に書きこむ用のコードだと思うがいろいろなとこ抜けてて心配だ
0537nobodyさん
2009/12/13(日) 23:35:20ID:???の銀さんのBOTの作り方見てたけど結構ひどいな。
Services_Twitterを今後使うと見せかけて、リプライとかは全く関係ない別のソースを使ってる。
PHP触ったばかりかもしれないから仕方ないけど。
0538nobodyさん
2009/12/14(月) 00:25:34ID:???銀さんとこのは全部他のとこの記事のコピペだよ
リプライと定時のソースはそれぞれ違う人から持ってきてるんだから
関係なくて当たり前
0539nobodyさん
2009/12/14(月) 00:29:22ID:???すみません、書き忘れてました。
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文なら大丈夫でしょうか?いいやり方があれば教えていただきたいです。
0540nobodyさん
2009/12/14(月) 01:04:19ID:???タイムアウトするのはtwitterの鯖なのか、botを動かしている鯖なのか、どっちですか?
twitterだったら鯖が重いかtwitterにPOSTするスクリプト(botとしての機能じゃない方)が悪い。
botを動かしている鯖なら鯖変えるとか。
と、ここまで書いてから気づいたけど
if($plist[$key] == $log[$a])
文字列で==はちゃんとした判定はできないから
if($plist[$key] === $log[$a])
===じゃないとだめだよ。
0542nobodyさん
2009/12/14(月) 10:38:45ID:???同じ文字列型でも数値型で比較される場合があるから、
文字列で比較する場合はなるべく===を使った方がいいってことじゃない?
0543nobodyさん
2009/12/14(月) 11:10:23ID:???文字列型同士の比較なら==でも===でも値は一緒な気はしたんだけどそういうことあるの?
例えばどういう場合だろ。
0544nobodyさん
2009/12/14(月) 11:55:04ID:???cronがうまく動かない。
「zu groß」って容量大きすぎってこと?どうすればいいの?
0546nobodyさん
2009/12/14(月) 13:07:35ID:???cron-job.orgなら「zu gro?」になってても
botの動き的には正常稼働されてるはずだから気にすんな
0547nobodyさん
2009/12/14(月) 15:22:27ID:h7BWhtMhどうやってやるんですか?
0548nobodyさん
2009/12/14(月) 15:28:22ID:???それだとまずPHPスレとか見て基本覚えたほうがいいんじゃないかな。
■ このスレッドは過去ログ倉庫に格納されています