経緯
コードを書いている時にちょっとTLを確認したくなった時とか、TweetDeckとかを開いてしまうと集中力が切れてしまうので、ターミナル上で使えるtwitterクライアントが欲しかった
いろいろ探してみたが、どれもいい感じにstreamingを表示してくれるのがなかったので自分で作った
Flumtter
Flumtter自体プログラミングの練習がてら昔からちょくちょく作っていたんだけれど、今回ようやくgem化して公開してみました
github: flum1025/flumtter
rubygems: flumtter
何ができるの?
基本的なツイッタークライアントでできることは大抵できる
tmuxをインストールしてあれば--tmux
オプションを指定することでマルチユーザーマルチカラムで起動することもできる
またプラグインにも対応しているため、ほしい機能があったら簡単に実装可能
インストール
gemでサクッとインストール
$ gem install flumtter
UbuntuとMacではそれぞれ以下のものをインストールする必要がある
-
On Ubuntu
$ apt install ruby ruby-dev build-essential libncurses5-dev tmux
-
On MacOSX
$ brew install ruby tmux
実行
$ flumtter
初回起動時はConsumerKey, ConsumerSecretを聞かれるのでここからアプリケーション登録(write権限がないとツイートとDMができません)
二つ目以降のアカウント追加時はキーの入力をスキップすることができる
使い方
基本的にコマンド入力画面で?<Enter>
を入力するとヘルプやその画面で使用可能なコマンド一覧を表示する
メインのストリーミング画面では入力中のコマンドが表示されないので注意
特定のツイートオブジェクトに対して何か操作したい場合はindexを指定することで操作することができる
例: f 60<Enter>
60のツイートをファボる
※f<Enter>
した場合はindex入力画面が表示される
別ウィンドウからメインウィンドウへ戻りたい場合はESC
かCtrl+c
で戻れる
※メインウィンドウでCtrl+c
してしまうとアプリケーションが終了してしまうので注意
コマンドの詳細
-
^ Reconnection
ネットワークの切断等によってストリームが切れてしまった場合に再接続する -
= synchronize-panes off
上記モードの無効化
CLIコマンド
-h
でヘルプを表示
$ flumtter -h
Usage: flumtter [options]
-n, --name VALUE account name
-i, --index VALUE account index
-s, --non_stream without stream
-d, --debug debug mode
--args VALUE
--tweet VALUES new tweet
--tweet_with_image=V,V new tweet with image
--tpry pry with twitter instance
-l, --list user list
--timeline_load VALUE load timeline num
--[no-]timeline_load? load timeline on init
--pry console mode
--tmux enable tmux mode
--names=V,V,... set account names with tmux
-
name
起動するアカウントのscreen_nameを指定 -
index
起動するアカウントのindexを指定(AccountSelector画面のindex) -
non_stream
ストリームなしで起動 -
debug
デバッグモードで起動 -
args
-
tweet
ツイートする文字列を入力
例:flumtter -n flum_ --tweet ツイート
例:flumtter --tweet 複数ユーザーでツイート --names=user1,user2
-
tweet_with_image
画像を投稿
例:flumtter -n flum_ --tweet_with_image=画像投稿,~/Desktop/test.png
例:flumtter --tweet_with_image=複数ユーザーで画像投稿,~/Desktop/test.png --names=user1,user2
-
tpry
-
list
登録ユーザー一覧 -
timeline_load
起動時にタイムラインを読み込む数を指定 -
[no-]timeline_load?
起動時にタイムラインを読み込むかどうか -
pry
-
tmux
tmuxモードで起動
例:flumtter --tmux --names=user1,user2
-
names
複数ユーザーを指定
カスタマイズしたい
~/.flumtter/setting/setting.rb
をいじることでカスタマイズできる
色は以下の種類に対応
:white
:light_gray
:gray
:back
:red
:light_red
:green
:light_green
:brown
:yellow
:blue
:light_blue
:purple
:pink
:cyan
:light_cyan
Pluginを作りたい
~/.flumtter/plugins/
にファイルを配置することで起動時に自動的に読み込まれる
プラグインの書き方はflumtter/lib/flumtter/app/plugins/のファイルを参照
バグあったんだけど
バグを見つけたら実行環境、エラーログをissuesまでお願いします!