【Twitter】 BOT製作支援スレ part2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/01/18(月) 23:18:42ID:wnXKZf+jhttp://pc11.2ch.net/test/read.cgi/php/1254028559/
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の方が不安定だったから、そっちが原因じゃないの?
0509nobodyさん
2010/06/27(日) 16:04:27ID:fEFtgcNQtwitter APIを使って、twitterと連携したウェブサービスを開発しています。
携帯向けサイトでユーザー数が現在10万ぐらいです。
twitterのアカウントとパスワードを自社で管理しており、Basic認証でtwitter APIを利用しています。
ところが6/30にこのBasic認証が使えなくなる事を最近知りました。
OAuthやxAuthを代わりに使うのが正しい解決法だと思うのですが、
Basic認証によるAPIの利用でガチガチに作ってしまっているため、数日の改修で方式を変えるのはほぼ不可能な状態です。
Basic認証を使う方法を維持したまま解決する術は無いのでしょうか?
0511509
2010/06/27(日) 16:33:55ID:fEFtgcNQありがとうございます。
延期されていたのは知りませんでした。なんという情報弱者…。
1ヶ月かければなんとかなりそうです。
本当にありがとうございました。
0512nobodyさん
2010/06/27(日) 17:27:54ID:???basic認証使ったgateway何処かで公開されてたような
あと一月で対処できないならそういうの使わせてもらって対応期間稼ぐって手もある
0513nobodyさん
2010/06/27(日) 18:53:56ID:???0514nobodyさん
2010/06/28(月) 00:47:42ID:???さっさとOAuthつかって管理した方がいいんじゃない?
0515nobodyさん
2010/06/28(月) 00:57:46ID:???全ユーザーに設定やり直させるとかあり得ん
0518nobodyさん
2010/06/29(火) 09:49:03ID:???0519nobodyさん
2010/06/29(火) 10:13:48ID:s7BL9fdNっいうと限られてくると思うんだけど
0520nobodyさん
2010/06/29(火) 10:33:23ID:???0522nobodyさん
2010/06/29(火) 11:17:26ID:???0525nobodyさん
2010/06/29(火) 21:29:52ID:???0526nobodyさん
2010/07/01(木) 16:05:49ID:???0527nobodyさん
2010/07/04(日) 21:59:55ID:???自分は小さいサイトだけど結構な労力だった
アカウント設定も再度ユーザーにやらせることになって
上司からは何故か俺が怒られるし
twitterまじ死ねと思った
0528nobodyさん
2010/07/04(日) 22:06:39ID:???0529nobodyさん
2010/07/04(日) 22:35:18ID:???0530nobodyさん
2010/07/07(水) 08:21:44ID:???0531nobodyさん
2010/07/07(水) 08:38:04ID:???0533nobodyさん
2010/07/07(水) 13:07:11ID:???basicのほうもなんか調子悪い
0534nobodyさん
2010/07/07(水) 13:47:19ID:???変えるなら変えるでアナウンスしてほしいなorz
まぁ、増える分には困らないからいいんですが。
0535nobodyさん
2010/07/07(水) 16:04:42ID:???それにしても7時間くらい止まってるんだが…
0536nobodyさん
2010/07/07(水) 19:44:50ID:???0537nobodyさん
2010/07/08(木) 00:05:31ID:???復旧したこと言ってるけど、W杯終わるまで復旧させる気ないんだろな
0538nobodyさん
2010/07/08(木) 00:15:45ID:???その上、通常投稿のエラーのほうも引っかかったんで、お知らせすら流せなくてヤキモキしたぜ・・・
0539nobodyさん
2010/07/08(木) 00:38:35ID:???夕方ぐらいに確認したら、rate_limit_statusがバンバンカウント減ってたけど
今は全然減らないや
早く安定してほしいね
0540nobodyさん
2010/07/08(木) 06:46:19ID:???昨日の朝、実行間隔をいじったのと、フォロワーさんに不具合通知したらリプライ飛んでくる率が落ちた結果
安定した
0541nobodyさん
2010/07/08(木) 08:45:03ID:???安定しない
0542nobodyさん
2010/07/08(木) 10:24:55ID:???0543nobodyさん
2010/07/08(木) 15:15:05ID:???直ればいいんだけどな
0544nobodyさん
2010/07/08(木) 16:11:41ID:???0545nobodyさん
2010/07/09(金) 01:26:47ID:???仕様変更されたのか
0546nobodyさん
2010/07/09(金) 01:54:31ID:???仕様変更って具体的にどんな?よかったらソースください
0548nobodyさん
2010/07/09(金) 12:33:44ID:???教えたくないなら無視すればいいのに
0549nobodyさん
2010/07/09(金) 13:18:33ID:???0550nobodyさん
2010/07/09(金) 13:43:43ID:???0551nobodyさん
2010/07/09(金) 16:40:00ID:???自分含め知らない人間はいくらでもいる
0552nobodyさん
2010/07/09(金) 16:58:10ID:???同じソースって言ったって、すべてが同じではないんじゃない?
違うとこに問題があるとか。
それとも、1つのアカウントを2箇所で動かしてるの?
0553nobodyさん
2010/07/09(金) 20:56:59ID:???スプリクトの仕組みは同じでツイートする言葉とOAuthのキーが違うだけ。
1つのアカウントではなくて、複数アカウントです。
前述の通り同じソース+cronなんだが、複数持ってるbotのうち2つが
friends_timelineの言葉を拾ってフォロワーにリプライすることだけができない状態…
こんな状態で2日目に突入した
0554nobodyさん
2010/07/09(金) 23:07:13ID:???APIエラーだけじゃなくHTTPのも
■ このスレッドは過去ログ倉庫に格納されています