hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

最近のTemtterプラグイン

最近プラグインを作ったりしてTermtterが便利になってきたので,ご紹介です.

Gemにはまだ入っていません

最近作ったプラグインなので,gem termtterには,まだ入っていません.GithubのTermtterをcloneしてbin/termtterを使うと,今回紹介するプラグインが使えます.
https://github.com/jugyo/termtter

UserStream受信する

Termtterはデフォルトでは定期的にタイムラインを取得しに行くが,user_streamプラグインを利用すると,UserStreamを受信できます.
favoriteされた,followされた,statusをdeleteした,listに追加されたり外されたりした,といったイベントも流れてきて便利です.
Termtterはデフォルトでは定期的にタイムラインを取得しに行くので,1分くらいは何か入力したりすることができますが,UserStreamで1秒ごとに何か流れてくると,日本語を打ったりするのが不便です.そこで,TermtterをIRCサーバーにして,IRCクライアントから利用すると便利です.

IRCサーバーにする

irc_gwプラグインを使うと,TermtterがIRCサーバーになります.#termtterチャンネルからTermtterの全ての機能を利用できます.gem net-ircが必要です.
デフォルトで16669番をlistenします.ポートはconfigで変更できます.

config.plugins.irc_gw.port = 6669

パスワードで認証とかはしないので,Termtterをサーバーで動かして外部に公開等する際はtiarra等を使うとよいです.


発言するには,普通にIRCに発言するようにします.

こんにちは

コマンドを実行するには,/つきでコマンドを入力します.

/search テスト

コマンド: の形式でもコマンドを実行できます.MacのLimeChatでは,コマンドを途中まで入力してタブを押すと,補完されて,この形になります.

search: テスト


iPhoneのLimeChatから利用すると便利で,evalコマンドを使うと,iPhoneからRubyのコードを実行することができます.
例えば,以下のようにして,現在時刻を知ることができます.iPhoneからRubyのコードを実行して現在時刻を知ることができ,大変便利です.

> eval Time.now
=> 2011-02-13 13:50:22 +0900

MacのLimeChatとiPhoneのLimeChatで動作確認しています.

短縮URLを展開してタイトルをつける

Termtterには短縮URLを展開するプラグインが4種類あります.
appendtitleプラグインを使うと,短縮URLを展開して,ページのタイトルを追加することができます.

例えば,以下のbit.lyのURLが貼られたツイートが,

便利なウェブサービスです http://bit.ly/fHJ1N9

以下のように,bit.lyが展開され,リンク先のページのタイトルを含むツイートになります.

便利なウェブサービスです http://b.hatena.ne.jp/ (はてなブックマーク)

bit.lyのリンクを片っ端から開いていく必要がなくなり,便利です.

MongoDBにログを貯める

mongoプラグインを使うと,UserStreamで受信したタイムラインやイベントをMongoDBに保存することができます.
ローカルにMongoDBが動いていて,gem mongoが必要です.
mongoプラグインを使うと,MongoDBを用いたコマンドが定義されます.

mongo_favsコマンド

mongo_favsコマンドを使うと,MongoDBのログからfavstarみたいなのを生成できます.以下のように,自分の発言のうち,最近favoriteされたり,RTされたりしたものを表示します.

> mongo_favs
(中略)
fav(12) fuba, nknh, seiichirou2, nomolk, riko, todesking, cale_dat, romanticanti, gotical, hanazulu, sinenai, herrenmoral RT(4) fuba, mori_dev, todesking, cale_dat 努力温泉芸者っていうバンドやりたい
fav(1) tily gem easy_mplayer,かっこいいしよくできてるけど,pauseするとunpauseできない,irbでMPlayerのインスタンスを評価すると勝手に再生されるfav(1) siyo さらなる「#!」URL批判 - karasuyamatenguの日記 http://htn.to/abMK5v
fav(1) cxx BBT2公開されたら使おうと思いながら2年くらい経ってる
RT(1) technolize 人肉のレシピ 1品 [クックパッド] 簡単おいしいみんなのレシピが92万品 http://htn.to/eHouJh

favstarを見に行く必要がなくなり,便利です.

mongo_searchコマンド

mongo_searchコマンドで,MongoDBからツイートを検索できます.
データベースを全文検索できるので,Twitterの検索APIにはインデックスが作られないようなキーワードでも検索でき,便利です.


また,受信したログが全て保存されているので,他のアプリケーションからデータを利用でき,役立ちます.

リプライをim.kayacに通知する

im_kayacプラグインを使うと,リプライを受信した瞬間にim.kayacに通知できます.設定したキーワードを受信もできます.
iPhoneLimeChatはバックグラウンド実行していると,自動的に10分ほどで接続が切れるので,このように通知が来るのは便利です.
gem im-kayacが必要です.

readlineがないとおかしくなる

readlineがないと,おかしくなることがります.readlineがないと,Readline.readlineがスレッドコンテキストの切り替えをブロックして,タイムラインが流れてこず,エンターキーを連打すると少し流れてくる,といった状態になります.
rvmを利用している場合は,rvmがreadlineのパッケージを管理しているので,それを利用するとよいです.
こんな感じです.

rvm package install readline
rvm install 1.9.2 -C --with-readline-dir=$HOME/.rvm/usr
rvm install 1.8.7 -C --with-readline-dir=$HOME/.rvm/usr


readlineが入っているかどうかは,irbを起動して,C-rを入力します.

(reverse-i-search)`':

と表示されれば,readlineが入っています.

termtter configです

ぼくのtermtter configです.上に述べたプラグインを読み込んで,細かい設定をしています.

config.token_file = "~/.termtter/token"

# 発言する際に確認を求めない
config.confirm = false
# 標準出力に色をつけない
config.plugins.stdout.colors = [0]
# デフォルトでは開発者が発言すると赤く光るが,色をつけたくないので,抑制する
config.plugins.stdout.sweet_color = 0

# プラグインをロード
Termtter::Client.init do |t|
  t.plug 'irc_gw'
  t.plug 'user_stream'
  t.plug 'appendtitle'
  t.plug 'mongo'
end


Termtterは便利ですが,便利なプラグインが200個くらいあって,何がどういう機能を持っていて,どれがメンテナンスされているのか全く分からないので,ほしい機能は自作すると良いです.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy