ラベル twitter の投稿を表示しています。 すべての投稿を表示
ラベル twitter の投稿を表示しています。 すべての投稿を表示

2012年2月14日火曜日

Rails 3.2 + omniauthでハマった。



Rails 3.2 + omniauthでTwitter連携アプリを作ろうと思いたち、omniauth-twitterを使おうとしてハマったのでメモ。


アクセスすると次のようなエラー



NoMethodError
undefined method `include?' for nil:NilClass

Gemfileでomniauthにgitのリポジトリを設定したら直った。



gem 'omniauth', :git => 'git://github.com/intridea/omniauth.git'





2011年12月13日火曜日

ホモスレbotを書きました。



ホモスレのURLをツイートするホモスレbotを書きました。


Twitter

ホモスレbot


ソースコード(ライセンスはWTFPL)

hanachin/homosure ? GitHub


要求


最近はホモスレ多いですよね。1日に何本も立ってる気がします。


僕が欲しかったもの



  • 手動でホモスレ検索する手間が省ける

  • 面白いホモスレならTwitterで誰かがつぶやいてくれているはず

  • 2chの生のホモスレではなくまとめが見れればよい

  • 既に見た事あるスレは見なくてもいい

  • なるべくホモスレでの検索結果を汚さない


欲しかったので作る、いつもの流れですね。


実装


何度か使ってなれているので、Twitterのgemを使っています。


Twitterの「ホモスレ」の検索結果からURLを抽出し、DBにデータを蓄積しツイートするようになってます。


既にツイートしたことのあるURLはツイートしないようになってます。


一旦Mechanizeで実際にアクセスすることで、リダイレクト後のURLを取得するようになっています。(なっているはずです、多分)


実際にアクセスする前のURLと、実際にアクセスしたURLが違う場合(リダイレクトなど)データベースで、リダイレクト後のページとひもづけてます。


これから機能を追加するなら




  • Twitterでそのホモスレの検索結果の隆盛等をグラフで表示する

  • URLリダイレクタを挟んでクリック数等の情報を取得する

  • 【今日のホモスレ】や【お勧めのホモスレ】等、既にDBにあるホモスレからリコメンドする

  • ページの内容からホモスレ度を判定する

  • 蓄積したホモスレのURLを元に、ホモスレを掲載してるまとめブログの一覧を作り、RSS等からもホモスレ情報を集める


まとめ


前から欲しいなーと思ってたので作りました。快適な生活に一歩近づきましたね。


もっと需要の高そうな別のワードに対するbotを作成するときに役立つかもしれません。


ホモスレbot作った話をブログに公開することで更にアレなものを作っても公開出来る謎の自信がつきました。





2011年11月28日月曜日

RubyでシンプルなTwitterクライアント書いた



シンプルなTwitterクライアント書きました。


hanachin/tsurube ? GitHub


名前はTwitter×Ruby、ついるび、つるび、つるべ、ということでtsurube。


コマンドラインで動作するTwitterクライアントを30分くらいで作れるPythonはかっこいい - YAMAGUCHI::weblog


こちらの記事をを見てRubyでやってみたくなった。


「30分? よゆー」と思ってたけどずるずる時間かかって実装力の足りなさを痛感しました。


今のところ




  • tl タイムライン取得

  • tl 40 タイムライン取得(1-200の間で指定)

  • mentions, m メンション見る

  • login, l ログイン

  • exit, quit, q 終了

  • tw ついーと


あたりのコマンドは実装した。基本的なツイートする、TL見る、メンション見る、終了する。が実装出来たし満足。


config.ymlに認証情報を登録したらすぐ使えます。


困ったところ


コンソールの操作するgem使った事ない

カーソルキーの上押すと前のコマンドが見れたり、Emacsバインドで編集出来れば最高なんですが、そういう事が出来るgemを僕は知らない。


探そうと思ったけどHighLineで対処。


今度良さそうなgemをいくつか試しておこうと思う。


warning: regexp match /.../n against to UTF-8 string

日本語で発言するときにここのコードで「warning: regexp match /.../n against to UTF-8 string」が出た。


faraday/lib/faraday/utils.rb at master ? technoweenie/faraday ? GitHub


UTF-8の文字列に対してRegExpのオプションでnを渡して漢字コード無視ってるのが問題なよう。


エラーメッセージでググると同じ問題がいくつか出てきた。


FaradayのUtilsのescapeメソッドの中身をEscapeUtilsのescape_url使うようにして対処。


工夫したとこ


元ネタのライセンスが面白かったので同じものを採用。


参考:WTFPL - Wikipedia


ログインが必要な処理をブロックで渡して、ログインしてなかったらログインを促すメッセージをだしブロックを実行しない、ログインしていたらブロックを実行する。


という風に書いてみた。ブロック可愛いよブロック。





2010年7月12日月曜日

7月ももう半ば

こんばんは。
一昨日はAdobe Flex User Group Tour 2010 Okinawaに参加してきました.
http://tour.fxug.net/2010/okinawa/
いやー、Catalystすごかった。プログラマいらず orz

懇親会も参加してきました。あんまりしゃべれなかったけどw
本も頂いて感謝。

思った事
  • 学生でも名刺持ってた方が良い
  • Twitterアカウントも持ってた方が良い
  • スマートフォン(特にiPhone)アツい
Twitteは以前やってたけど若さ故の過ちかアカウント消したんですよね。
ということでTwitterアカウント作りなおしました。
http://twitter.com/hanachin_
気軽にフォローよろしくお願いします。