kimotter

コマンドラインからツイートを投稿する Ruby 製クライアントです。Twitter API を直接は使わず、mala API(http://api.ma.la/twitter/ にあった Web の投稿フォーム)を Mechanize で操作して投稿します。gem として公開していました。

使い方

Ruby 1.9 と nokogiri・mechanize が必要です(README 由来)。

gem install kimotter
kimotter "ツイート本文"

投稿の前に、ページから取り出した確認メッセージへの同意を求められます。README の実行例です。

> kimotter "EventSource知らんかった、普通に便利そう"
嘘偽りなく自分がキモトであると誓います[y/N] y
hi kimoto. try to tweet your cool message
done!

オプションは -d, --debug(デバッグモード)と -f, --force(API 制限を無視して実行)の2つです。

内部設計

コンポーネント構成です。全体で約170行の小さな gem で、フォーム操作をやる Kimotter クラスと、対話まわりを受け持つ KimotterCLI の2層でできています。

kimotter のコンポーネント構成図

投稿1回の流れはこうなっています。

kimotter の投稿フローのシーケンス図

終了コードは、成功が 0、API 制限で止めたときが 1、確認プロンプトが EOF だったときが 2、y 以外で断ったときが 3 です。