【Twitter】 BOT製作支援スレ part2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/01/18(月) 23:18:42ID:wnXKZf+jhttp://pc11.2ch.net/test/read.cgi/php/1254028559/
0410nobodyさん
2010/05/04(火) 17:10:28ID:???意外に楽だった
どれだけのボットがいなくなるかには興味がある
0411nobodyさん
2010/05/04(火) 17:41:57ID:???サンデープログラマにとっては初めてぶち当たる大きな壁になるだろうなこれ
0412nobodyさん
2010/05/05(水) 01:51:31ID:???対応した後のbotサービス使うだろうよ。
俺もまだやってないけど作ったばっかのbotの機能の方を先になんとかしたいところ。
0413nobodyさん
2010/05/05(水) 10:40:35ID:???http://pha22.net/twitterbot/からいただいたver.2.03のreply_pattern.phpの編集なんですが
TLに反応して@を返すというものなんですが・・・
http://d.hatena.ne.jp/bardothodol/20090930#p1のサイトのものをお借りしてコピペしたのですが反応してくれません
他の動作は確認できました
修正方法や雛形を教えてください><
0414nobodyさん
2010/05/05(水) 12:17:05ID:???0415nobodyさん
2010/05/05(水) 12:30:43ID:???↓
$filename = "./log.dat";
に変更しただけですが駄目ですか?><
0416nobodyさん
2010/05/05(水) 13:08:28ID:???変更箇所が$filenameだけなら
$username = "";
$password = "";
変えてなきゃ動くわけもないので初心者が言うとき何をしたかはしょらずに正確に書いて欲しい。
まあファイルの文字コード違うとかそういうのじゃないの。
0417nobodyさん
2010/05/05(水) 13:09:11ID:???変更箇所をすべて言わないとわかんないってことで。
0418nobodyさん
2010/05/05(水) 13:20:53ID:???はいそうです
$filename = "./tmp/last.dat";
ここ以外は弄ってません
文字コードと改行は指定されたとおりにしました
COBOLしかできない痴呆なので詳しくお願いします><
0419nobodyさん
2010/05/05(水) 14:05:11ID:???$username = "";
$password = "";
を指定してないからじゃないかそれ。
プログラムやってんならその行見て不審に思わなかったのか。
0420nobodyさん
2010/05/05(水) 14:30:55ID:???自分でも質問するに値しないレベルのどうでもいいことだと認識してるからじゃないのか?
0421nobodyさん
2010/05/05(水) 17:18:34ID:???キャラボットの復活待ちます
0422nobodyさん
2010/05/05(水) 17:35:09ID:HTuheCnu0423nobodyさん
2010/05/05(水) 20:49:50ID:???0425nobodyさん
2010/05/06(木) 11:30:08ID:/xpEwzH6昨日取ったaccess tokenで、post出来た。いいんだけど、expire期限いつまでなんだろ。
0426nobodyさん
2010/05/06(木) 14:09:00ID:???0427nobodyさん
2010/05/06(木) 17:20:27ID:/xpEwzH6>>426
> tokenは無効化するまでじゃね?
さんくす。安心して使いまくります。
0428nobodyさん
2010/05/07(金) 23:12:32ID:???http://twitter.com/nbginews
0429nobodyさん
2010/05/09(日) 15:15:24ID:QohMfTcWキャラボットまた募集はじめたみたいだよ。
http://sourceforge.jp/projects/charactorbot/wiki/Servers
ここで運用サーバー一覧が公開されてる。
OAuth認証もできるし、TLへの反応も1分置きで結構使える。
けど、作成可能なボット数も限りあるみたいだから急いだ方がいいかも。
0430nobodyさん
2010/05/09(日) 18:51:26ID:4tzIYBNeうまく行くときといかないときがあるから逆に原因不明という・・・。
何か気をつけることってありますか?
いまはmentionsでreplyを取得しています。つぶやきは今のところ問題なさそうです(あまりつぶやいていないので分かりませんが
0431nobodyさん
2010/05/09(日) 19:56:56ID:6lB/rbOi時刻ずれてない?
0432nobodyさん
2010/05/12(水) 05:49:39ID:???リプライだけひたっすら重たくて1300〜1500cpu_msでログが真っ赤。ポストもされない。
間隔あけてみたりソースのコメントアウトとかecho文も全部消したりしたけど一向に良くならない…
どう対処したらいいんだろう。
ソースはPHPでジェネレーターとかは使ってない。GAEはjava
0434nobodyさん
2010/05/12(水) 10:49:56ID:???「cgi 標準出力 閉じる」あたりでぐぐれ
0435nobodyさん
2010/05/12(水) 16:55:07ID:???タイムアウトしまくりなんだか他もそんな感じ?
0436nobodyさん
2010/05/12(水) 23:12:33ID:1x2EnOp+それはかかりすぎ。
一気に一つのサーブレットたたいてやるんじゃなくて
分けれるなら分割して複数のサーブレットを
複数のcronからたたいたらどう?
フォロワーが1000超えてるならタイムライン
の解析とかも1分置きより短くして一回の処理を短くした方がいいよ。
API回数は食うけど。
0437nobodyさん
2010/05/13(木) 00:09:55ID:???0438nobodyさん
2010/05/13(木) 03:07:16ID:g6nE4IPR「アプリケーションのウェブサイトURL」や「コールバックURL」がまだ確定してません。
まず練習用に作りたいので、公開するかも分かりません。
http://localhost/
などと入力したらinvalidと出ました
適当なURL(http://sample.comなど)を入力しちゃっていいのでしょうか?
0439nobodyさん
2010/05/13(木) 17:46:30ID:???> OAuth対応させた後にGAEにも以降したんだが、
> リプライだけひたっすら重たくて1300〜1500cpu_msでログが真っ赤。ポストもされない。
> 間隔あけてみたりソースのコメントアウトとかecho文も全部消したりしたけど一向に良くならない…
> どう対処したらいいんだろう。
> ソースはPHPでジェネレーターとかは使ってない。GAEはjava
ウチもログ真っ赤、でもリプライは返してるんだよね…わけわからん
0440nobodyさん
2010/05/14(金) 01:39:01ID:???デプロイで
Server Error (500)
A server error has occurred.
というエラーが出てしまって、デプロイすることができません。
調べても詳しく説明が載っていなくて困っています。ご存知の方いらっしゃいましたらお願いします。
0441nobodyさん
2010/05/14(金) 07:47:45ID:???それだけで誰か分かりますか?といってもエスパーでもない限り分からないよ
bot掲示板でただ分かりません!ご教授下さい><とだけ言ってるやつらと一緒だな
0443nobodyさん
2010/05/14(金) 12:16:01ID:???普段の投稿は「"東京"から」のように自分の設定したfromを表示させることができますが、
例えば手動でウェブや他のクライアントから投稿した場合にも、同じように表示させることは可能でしょうか?
0445nobodyさん
2010/05/14(金) 14:10:34ID:???PHPだと標準出力は手動で閉じれないみたいなんだよな
アクセスしてきたらレスポンスだけ先に送るってことできないのかな
0447440
2010/05/14(金) 22:35:23ID:???もう少し一人で格闘してみます。すみません。
0448nobodyさん
2010/05/15(土) 01:13:36ID:???とりあえずphpのスレでも見てテンプレの初心者向けサイトでも参考にするといい。
0449nobodyさん
2010/05/15(土) 02:46:02ID:???0450nobodyさん
2010/05/15(土) 02:46:43ID:???0452nobodyさん
2010/05/16(日) 06:34:31ID:???同様のスクリプトを探してみてもBasic認証での実装しか見つかりません
参考にしたいのですが、oauthをJavascriptで実装しているものははないでしょうか
0453nobodyさん
2010/05/16(日) 23:07:45ID:ctAHkOPvhttp://blog.tomatomax.net/archives/2696
0454nobodyさん
2010/05/18(火) 15:13:38ID:BXwl2DAR叩く時間が2秒ずつ遅れていってしまって困っています
安定させる方法や、例えば30分ジャストにだけ叩くのではなく29分と31分も含むなどして
許容時間を広げる方法ってありませんか?
0457nobodyさん
2010/05/18(火) 22:10:12ID:???すみません、有難うございます
そのサイトは一度見つけていたのですが、Python の実装例だと思い見過ごしていました
もう一度じっくり読んでみたいと思います
0458nobodyさん
2010/05/28(金) 22:48:20ID:???ttp://jptwitterhelp.blogspot.com/2010/05/blog-post_4711.html
0459nobodyさん
2010/05/28(金) 22:48:50ID:???0460nobodyさん
2010/05/28(金) 23:22:28ID:???botの騙りなんて公式アカって明示してないのは個人製作だってわかるしなー。
どっちかというと>>458のは実在の人物の中身入りの騙り防止だと思う。
ガイドラインていうかbotの引用についてはこんな印象。
△は俺としてはアリだけど人によっては嫌な人もいるかなって感じ。
┣ 公式RT(TLに出ない)→△
┃
┣ 引用のみ(@なし:TLに出ない)(bombtter等)→△
┃
┗ 非公式RTやリプライ(@付き:TLに出る)
┣ フォロワー限定→○
┗ 非フォロワー→×
┣ 一般的な語句→×××
┗ 特定の語句→×
0461nobodyさん
2010/05/29(土) 16:44:15ID:???モペキチはただの荒らしさんではないため、自動保守botを作り、
API突破(Samba突破に近い)のつぶやきを投稿し続けると思う。
さらに、モペキチは当然多重アカウントである事も確か。
こんな卑怯な手を使ってまで荒らすバカはいないよね。
0462nobodyさん
2010/05/29(土) 16:52:32ID:???0463nobodyさん
2010/05/30(日) 03:21:12ID:???もぺきちってこれか
http://www28.atwiki.jp/mopekiti/
0464nobodyさん
2010/05/31(月) 15:12:09ID:???0465nobodyさん
2010/06/05(土) 02:09:55ID:???以下の手順で大丈夫でしょうか?
AccessToken/Secretはdev.twitter.comで取得済みです。
長文申し訳無いです。
1.適当にランダムなouath_nonce生成
2.base文字列生成
POST&URLエンコード(URL)& + URLエンコード(OAuthパラメータ....&status=test)
3.signature生成
HMAC-SHA1を キー値:ConsumerSecret&AccessTokenSecret, ソース:base で生成(バイナリ)
ハッシュバイナリをBase64エンコード→URLエンコード
4.HTTP Request生成
POST http://api.twitter.com/1/statuses/update.xml HTTP/1.1
Host: api.twitter.com
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth
oauth_nonce="1の適当なnonce",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1275670612",
oauth_consumer_key="...",
oauth_token="...",
oauth_signature="signature",
oauth_version="1.0"
Content-Lenght: 11
status=test
(実際はOAuth部分の改行無し)
5.送信
0466nobodyさん
2010/06/05(土) 19:29:57ID:???0468nobodyさん
2010/06/06(日) 17:48:08ID:WWdDH7jDbotがfollowしている人がつぶやいたときに、そのつぶやきを非公式RTする
といった機能を付けたいと考えているのですが、その実装方法がなかなか
わからず、悩んでおります。
もし、実装の仕方をご存知の方がいればご教授いただけないでしょうか。
「このページが参考になるよ」「○○でググれ」といったものでもかまいません。
どうぞ、よろしくお願いいたします。
0469nobodyさん
2010/06/06(日) 17:58:20ID:???リプライはうまく送信できるのですが通常のポストの方がIncorrect signatureエラーで送信できません
逆に、通常ポストした後にリプライをすると両方とも送れます
ソースの問題なのか、それとも根本的にどこか違っているのかわかる方お願いします
ソースは下のようなものでテストしてます
$value = array('status'=>"@test リプライ",'in_reply_to_status_id'=>"123456789");
$response = $this->setUpdate($value);
$value = array('status'=>"通常ポスト");
$response = $this->setUpdate($value);
0470nobodyさん
2010/06/06(日) 18:01:01ID:???非公式RTってただの文字列だから、
「おはよう」
→
「RT: @xxx おはよう」
にすればいいだけ。
それよりも、非公式RTで本当にいいかを考えた方がいいよ。
単にRTするだけだとうざがられる。
0471nobodyさん
2010/06/06(日) 18:02:36ID:WWdDH7jDbotのフォワローさんだけにRTを表示させたいので、
公式RTを用いた方がfollowさんに迷惑をかけないのではと思いました。
現在悩んでいるのは次の2点です。
・followのつぶやきを取得する。
・取得したつぶやきを公式RTする。
以上、よろしくお願いいたします。
0472nobodyさん
2010/06/06(日) 18:04:50ID:???理由も言わずにサスペンドしたり、ちょっとふざけてんじゃないの?
0473nobodyさん
2010/06/06(日) 18:06:32ID:WWdDH7jDレスありがとうございます!そうですよね。公式RTに変更したいと思います。
followのつぶやきを取得するコードをどのように書けばよいか・・・
なかなかヒットする情報が見つからず、困っておりました。
もしよろしければ、ご教授頂ければと思います。
0474nobodyさん
2010/06/06(日) 18:22:44ID:???followingのつぶやきを取得するのはfriends_timeline使ってるけど、
今見るとhome_timelineを使えということらしい。
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-home_timeline
公式RTするAPIはretweetらしい。こっちは使ったことない。
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-retweet
0475nobodyさん
2010/06/06(日) 18:39:40ID:WWdDH7jDありがとうございます!
教えていただいたページを参考にコードを書いてみました。
現在は、retweetStatus部がエラーになってしまいます。
statusesを別の変数で置き換えなければならないのでしょうか?それとも、コード自体
あっていないのでしょうか・・・?
ResponseList<Status> statuses = null;
try {
Twitter twitter = new Twitter("my id" , "my pw");
statuses = twitter.getHomeTimeline(); //homeTimelineを取得
twitter.retweetStatus(statuses);
む、むずかしい・・・orz
0476nobodyさん
2010/06/06(日) 18:51:56ID:???retweetStatus()の引数にgetHomeTimeline()のリターン値を渡すのは
おかしいんじゃないでしょうか?
retweetStatus()の引数はRTするstatusのidだけだと思います。
0477nobodyさん
2010/06/06(日) 18:59:59ID:WWdDH7jDありがとうございます!
なるほど!つぶやきのidを指定して、それをretweetStatus()の中に
入れればいいんですね!なんとなくイメージできてきました。
皆様ありがとうございます!
自己レスですが、>>474の使い方を調べているうちに下記のページを見つけました。
今後のご参考までに。
retweetの使い方
http://sites.google.com/site/elekmole/twitter4jtop/01-twitter-class/21-retweetstatus
gethometimelineの使い方
http://sites.google.com/site/elekmole/twitter4jtop/01-twitter-class/22-gethometimeline
0478nobodyさん
2010/06/06(日) 19:26:47ID:WWdDH7jD自分のhomelineに最新のつぶやきが表示されたときに、
そのつぶやきのstatusのidを取得したいのですが、どのように
実装すればよいでしょうか・・・。どなたかご教授頂ければ大変嬉しいです・・。
どうぞよろしくお願いいたしますorz
0479nobodyさん
2010/06/06(日) 19:50:51ID:???どう実装すればいいかわからん
0480nobodyさん
2010/06/06(日) 19:51:36ID:???多分statusesの先頭にあるのが最新のつぶやきだと思うから、
statuses.get(0).getID()とかで取得できるんじゃないかな?
0481nobodyさん
2010/06/06(日) 19:57:30ID:WWdDH7jDありがとうございます><!!!
こ、こうでしょうか・・・
ResponseList<Status> statuses = null;
try {
Twitter twitter = new Twitter("my id" , "mypw");
statuses = twitter.getHomeTimeline(); //HomeTimelineを取得
twitter.retweetStatus(statuses.get(0).getId());
エラーが出なかったので、GAEに上げてみました。
テストを行い、後ほど報告させていただきます。
0483nobodyさん
2010/06/06(日) 20:12:45ID:WWdDH7jDできました!!!!!!!!!!
理想どおりに動いています!!
本当にありがとうございました!!!
感謝、感謝です!!!
このbotを、人の役に立てるよう改良していきたいと思います。
本当にありがとうございました。
0484nobodyさん
2010/06/07(月) 00:14:38ID:???RFC読んだけど流れはわかったのに付録のコード見てさらによくわからなくなったわ
とりあえずSHA-1はどっかしらで用意しなきゃいけないみたいだな
0485nobodyさん
2010/06/07(月) 00:15:17ID:???0486nobodyさん
2010/06/11(金) 02:06:51ID:???php5でbotを作っているのですが、cronの代わりにwindowsの
タスクスケジューラで定期更新し作ろうと思っています。
テストのためにコマンドラインでbot.phpを実行すると、worning require_once
や fatal errorなどディレクトリが間違ってる系のエラーが出て
bot.phpが動いてくれません。
しかし、レン鯖で↑と同じディレクトリ構成(phaさんのダウンロードまんま)
で作って手動でブラウザ実行するとちゃんと動いてくれます。
何が原因かさっぱりわからず困ってます。どなたか教えていただけないでしょうか?
またはこれ以外にcronと似たようなソフトとかあったら教えていただきたいです。
0487nobodyさん
2010/06/11(金) 02:46:06ID:???0488nobodyさん
2010/06/11(金) 03:45:22ID:???うちはそうしてるけど。
0489nobodyさん
2010/06/11(金) 03:46:50ID:???0490nobodyさん
2010/06/11(金) 04:24:11ID:???という所まで調べてわかったので、エラーの出ているファイルのパス設定を
絶対参照に直してだいぶエラーは減りました。
しかし、C:\twitbot\PEAR\HTTP\Request2\Exception.phpファイルの
エラー箇所を調べてみると記述が
class HTTP_Request2_Exception extends PEAR_Exceptionで、アンダーバーで
つながれており、
どういう風な記述でパスを直したらよいかわからず残ってしまいました・・・
>>488さん
>その該当ディレクトリに移動してから実行するバッチファイル作れば
linuxではディレクトリ移動してから〜のやり方がなんとなくわかったのですが、
windowsでもできるのでしょうか?(windowsでつくっています)
>スケジューラ使おうとしたけどなんかうまくいかなかったんで
そうなんですか・・もうすこし粘ってみて無理そうだったらおすすめの
MFAを試してみます。
ありがとうございました!!
0491nobodyさん
2010/06/11(金) 11:51:23ID:???もう解決したようだけど、こんなのもあるよ
疑似cron
ttp://www.synck.com/contents/technote/technote_1236834699.html
0492nobodyさん
2010/06/11(金) 13:46:09ID:???ttp://api.twitter.com/1/statuses/mentions.xml(いつもはjson)
からは取れなくなりました?前から?
1相手にフォローしてもらって「フォローして」とリプライをもらう
2botがフォローする
のようにしており、前はちゃんとフォローしてたんですが、
今日はダメでしたorz
0493nobodyさん
2010/06/11(金) 23:34:23ID:???0494nobodyさん
2010/06/11(金) 23:36:01ID:???0495nobodyさん
2010/06/16(水) 16:12:42ID:???0496nobodyさん
2010/06/16(水) 16:46:03ID:???まだテスト稼動中なので、xampp+擬似cronで自分のPCで稼働させてます。
そのうちどっか借りて動かすかもしれません。
0497nobodyさん
2010/06/19(土) 01:16:58ID:???0498nobodyさん
2010/06/19(土) 09:57:07ID:???動かない動かないってうるさいわ
そんなに気になるなら有料か自鯖にしろって
0499nobodyさん
2010/06/19(土) 10:44:48ID:???Twitter、BASIC認証終了を8月に延期 W杯対応で - ITmedia News
http://www.itmedia.co.jp/news/articles/1006/18/news066.html
2010年06月18日 17時05分 更新
Twitter APIのBASIC認証の終了が、当初予定の6月末から8月末に延期。W杯の影響でシステム負荷が高くなり、ひんぱんにエラーが出るなど不安定な状態になっているため。
米Twitterは6月18日、Twitter APIのBASIC認証の終了日を、当初の6月末から8月末に延期すると発表した。サッカーワールドカップ(W杯)の影響でシステム負荷が高くなり、ひんぱんにエラーが出るなど不安定な状態になっているため。
BASIC認証は、8月16日から段階的に縮小。31日までの間、1日当たりのAPIを呼ぶ回数制限(late limit)を減らしていく。31日からは、BASIC認証のAPIコールにはすべて、HTTP 403エラーを返す。
Twitterは、ID・パスワードを渡さずにトークンでAPI認証できるOAuthと、OAuthの簡易版で、デスクトップアプリなどでも利用できる「xAuth」も提供しており、BASIC認証のサービス提供者に移行を呼び掛けている。
0500nobodyさん
2010/06/19(土) 20:27:32ID:???0501nobodyさん
2010/06/20(日) 01:24:25ID:???0502nobodyさん
2010/06/20(日) 13:34:02ID:???最近、無料鯖で動かしてると、問答無用で規制されることもあるみたいね。そういう注意書きしてるところもあるし。
いろいろやりたいなら、キャラボットのソースいじって自分でGAEにデプロイした方が安全かもね。
0503nobodyさん
2010/06/22(火) 08:08:58ID:???マジでなぜかわからん
0504nobodyさん
2010/06/22(火) 08:15:40ID:???そんなことはないどこの工作員だ死ねカスとか言われたんだけどなんなのあれ
0505nobodyさん
2010/06/22(火) 10:14:13ID:???何かあるごとにキャラボすばらしいって褒めてるのもいる
0507nobodyさん
2010/06/22(火) 11:26:17ID:???0508nobodyさん
2010/06/23(水) 22:57:33ID:???うちのは普通に動いてるよ。
もちろんtwitterのサーバがエラー返すときはあるが、それはGAEのせいではないし。
先週くらいまではtwitterの方が不安定だったから、そっちが原因じゃないの?
■ このスレッドは過去ログ倉庫に格納されています