mico はmikutterに接続して使うためのコンソールです.起動中のmikutterに接続してmikutterコマンドを叩いたりして楽しく遊ぶことができます.mikutterをCUIで操作したい場合やプラグインを書くときに役立つと思います.
現在の実装ではmikutterをEmacsから操作するための mikutter-mode に依存しているので,まずはそちらをインストールして下さい.インストール後, mico を起動するとmikutterに接続されます.その状態で何かコマンドを打ち込むとmikutter内で式が評価されて結果が出力されます.
mikutter> Service => Service mikutter> Service.primary => #<Service penguin2716> mikutter> Service.primary.post :message => "みこみこみこ〜w" => #<Deferred:Deferred:0x007fa5aac6cee0...> => true
非同期のAPIを呼ぶとDeferredが返ってきますが,これについても次のように記述することでAPIの結果に対して処理を行うことができます.
mikutter> Service.primary.twitter.followings => #<Deferred:0x007fa5a7a67eb8...> => true mikutter> $((Service.primary.twitter.followings)).class => Array mikutter> $((Service.primary.twitter.followings)).size => 1973
非同期APIの実行結果に関しては次のようにして変数に格納できます.APIの実行には回数制限があるので,実行結果に対して何らかの処理を行う場合は次のようにして変数に格納すると良いでしょう.また変数の先頭に@をつけてインスタンス変数にしないとあとで参照できなくなるので注意します.
mikutter> Service.primary.twitter.followings.next{ |result| @result = result } => #<Deferred:0x007fa5a3b333f0...> => true mikutter> @result.size => 1973
先頭に.をつけると,シェルコマンドとして実行します.
mikutter> .pwd /home/penguin mikutter> .uptime 18:33:28 up 14:40, 1 user, load average: 0.09, 0.20, 0.25
また,ツイートする際はpostエイリアスコマンドが使えます.
mikutter> post みこみこみこ〜w => #<Deferred:Deferred:0x007fa5aac6cee0...> => true
次のようなファイルを作れば,mikutter console scriptみたいな感じで書けます.
#!/path/to/mico.rb UserConfig[:mumble_basic_font] = 'Sans 10' UserConfig[:mumble_basic_color] = [0, 0, 0] UserConfig[:mumble_reply_font] = 'Sans 8' UserConfig[:mumble_reply_color] = [255*0x66, 255*0x66, 255*0x66] UserConfig[:mumble_basic_left_font] = 'Sans 10' UserConfig[:mumble_basic_left_color] = [0, 0, 0] UserConfig[:mumble_basic_right_font] = 'Sans 10' UserConfig[:mumble_basic_right_color] = [255*0x99, 255*0x99, 255*0x99] UserConfig[:mumble_basic_bg] = [65535, 65535, 65535] UserConfig[:mumble_reply_bg] = [65535, 255*222, 255*222] UserConfig[:mumble_self_bg] = [65535, 65535, 255*222] UserConfig[:mumble_selected_bg] = [255*222, 255*222, 65535]
MITライセンスです.