Ubuntuで利用可能なTwitterクライアントとして、
インストール
mikutterとは、
Ubuntuのリポジトリにはmikutterのパッケージが収録されており、

基本設定とみくったーちゃん
UnityのDashを使ってmikutterを起動すると、

「次へ」

提示してくださったURLをクリックすると、

ご厚意に感謝しつつ
実績とチュートリアル
mikutterの操作説明には
現在はTwitterアカウントの登録操作を終えたところなので、

他にも実績が用意されているので、
プラグインプログラミングインターフェイス
mikutterはプラグインのためのプログラミングインターフェイスを提供しています。プラグインを利用する、
プラグインの構成要素
プラグインは、
試しに、
$ mikutter generate my_dump directory generated: /home/mocchi/.mikutter/plugin/my_dump file generated: /home/mocchi/.mikutter/plugin/my_dump/my_dump.rb
出力されたファイルの内容を確認すると、
# -*- coding: utf-8 -*-
Plugin.create(:my_dump) do
end
このブロックがプラグインのエントリーポイントとなります。基本的には、
プラグインは定義ファイルを持つことを推奨されています。mikutterのコア機能は、
$ mikutter spec ~/.mikutter/plugin/my_dump/
my_dump: name> my_dump
my_dump: description> Plulgin tutorial to dump tweet
---
slug: :my_dump
depends:
mikutter: 3.3.6
plugin: []
version: '1.0'
author:
name: my_dump
description: Plugin tutorial to dump tweet
プラグインに最低限要求されるのは、
プラグインのロード確認
それではプラグインをロードしてみましょう。今回はプラグインが読み込まれたことがわかるよう、
# -*- coding: utf-8 -*-
Plugin.create(:my_dump) do
p('my_plugin')
end
標準出力された文字列がわかるよう、
$ mikutter "my_plugin"
上のように、
$ mikutter --debug ... notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:135:in `load': plugin loaded: /home/mocchi/.mikutter/plugin/my_plugin/my_plugin.rb ...
フックイベントとハンドラ
これだけだとプラグインがロードされた時にしか処理を行うことができません。mikutterにはフックイベントが設けられており、
試しに、
# -*- coding: utf-8 -*-
Plugin.create(:my_dump) do
onupdate do |service, messages|
p('updated')
end
end
mikutterを端末ソフトウェアで実行してしばらく待つと、
# -*- coding: utf-8 -*-
Plugin.create(:my_dump) do
onupdate do |service, messages|
for message in messages do
if message.respond_to?('body') then
p(message.body())
end
end
end
end
プラグインのブロックの実行コンテキスト
処理を記述したブロックですが、
下の例は、
# -*- coding: utf-8 -*-
class MyPlugin < Plugin
def dump(message)
p(message)
end
end
MyPlugin.create(:my_dump) do
onupdate do |service, messages|
for message in messages do
if message.respond_to?('body') then
self.dump(message.body())
end
end
end
end
まとめ
今回は素敵なTwitterクライアントであるmikutterの使い方と、