2012-01-16

mikutterでフォロー通知をタイムラインに流すプラグイン

以前作ったmikutterでフォロー通知をタイムラインに流すプラグイン。いちおうこっちにも載せておこう。

mikutterには標準でポップアップと音声の通知があるけど、けっこう見逃しちゃう。これはタイムラインに載るのであとからでも見返せる。

mikutter follow notify on timeline

下のファイルをmikutterのプラグインディレクトリに入れれば動いたり動かなかったり。たまに全アンフォロー通知が来るのでびびる (けど実際にアンフォローはされていない)。mikutterがうまくフォロワー一覧を取得できないとアンフォロー通知がだばっと来るのかな?

# -*- coding: utf-8 -*-
# mikutter にアクティビティ通知機能がついたので不要になりました。
Plugin.create(:follow_tlnotify) do
# フォロー通知
on_followers_created do |post, users|
text = _get_users_str(users)
text += "にフォローされました。"
Plugin.call(:update, nil, [Message.new(:message => text, :system => true)])
end
# アンフォロー通知
on_followers_destroy do |post, users|
text = _get_users_str(users)
text += "にアンフォローされました。"
Plugin.call(:update, nil, [Message.new(:message => text, :system => true)])
end
# ユーザー名を文字列にして返す
def _get_users_str(users_list)
users_head = users_list.shift(3)
users_str = users_head.map{|u| "@#{u[:idname]}"}.join(" ") + " "
users_str += "ほか#{users_list.length()}人" unless users_list.empty?
return users_str
end
end