extended-riece-keyword-message-filter

Riece 上で、指定した nick から発言があった場合に強調表示する advice.

特定の人のポストをnotifyに出したい

http://wassr.jp/user/kuraku/statuses/hefXosqfhq

riece-keyword-message-filter に渡ってる message ってベクタで、中に発言者情報も含まれているから、それ見てなんかする advice 書けばよいかも

http://wassr.jp/user/elim/statuses/2EPjDvguI0

Wassr でこんな遣り取りがありましたので、ひとまず書いてみました。

(defvar riece-notify-nicks (list "elim"))

(defadvice riece-keyword-message-filter
  (around extended-riece-keyword-message-filter (message))

  (let ((speaker (aref (riece-message-speaker message) 0))
        (message-text (riece-message-text message)))

    (mapcar (lambda (nick)
              (when (string-match nick speaker)

                (put-text-property 0 (length speaker)
                                   'riece-overlay-face
                                   riece-keyword-face
                                   speaker)

                (put-text-property 0 (length message-text)
                                   'riece-overlay-face
                                   riece-keyword-face
                                   message-text)))
            riece-notify-nicks))
  ad-do-it)

(ad-enable-advice 'riece-keyword-message-filter
                  'around
                  'extended-riece-keyword-message-filter)

riece-notify-nicks で指定した nick から発言があると、nick と発言に riece-keyword-face を適用します。

さて九楽さんの意図に沿えているかしら。