Ruby - いいかんじのTwitterBot用ライブラリ(for Ruby)がみつからなかったので自作した話

TwitterBotをつくろうと思ってライブラリを探してみたんだけど、自分の直感的にあうものがなかったので作った。

Railsでの使用を考えてるけど、ふつうのRubyだけでも使えるはず。

気が向いたらgemにします。

 

githubhttps://github.com/t-silva/twitty

 

Twitterの公式APIを使うにあたってOAuthでうんちゃらする仕組みが必要だったので、ちろっと検索して代わりにやってくれるライブラリをいただきました。しばそんさんに感謝。

URL:  OAuthコンシューマの仕組みと実装 〜 Ruby編 - しばそんノート

 

考えてた仕様

  • Bot用だし、Botクラスが欲しいなぁ
  • Botのタイムラインを要求したらツイート一覧が返ってくるから、ツイートごとのクラスも欲しいなぁ
  • ユーザごとのクラス作って、user.tweet('hello')みたいに@ツイートしたいなぁ

ぼちぼち作ってて困ったのが、「つぶやく」という動詞と「つぶやいたもの」という名詞がどちらも"tweet"と呼ばれていること。

なので、「つぶやく」ということはtwintと呼ぶことにしました。みんなtwintしよう! Can you tweet? Noooo!! I can only TWINT!!

 

あと、@がついていないリプライ。これの名称知らなかったので調べてみたら、public replyっていうのね。公開リプライ。

 

アルファー版が完成

出来たものがこれ

  • Twittyクラス Bot用のクラス これをrequireすれば使えるよ
  • Tweetクラス ツイートそれぞれのクラス
  • Tweeterクラス ユーザそれぞれのクラス

twitty ex

 こんな感じに使える。consumer_keyとかaccess_tokenの取得方法は調べてください。

 

まだまだ機能が少ないので順次足していくつもりです。使ってもらえればモチベーションだだ上がりです。改良してもらえればハッピーです。