チャットのチャンネル(部屋)毎にRSSを登録して、RSSリーダーにできるhubot scriptを作った。

https://github.com/shokai/hubot-rss-reader

去年nikezonoが「人の読んでるRSS読みたい、むしろRSSのリスト作ってお前コレ読めって薦めたり、他人にRSSの購読を追加してもらったりしたい」というような事を言ってた気がしたので、最近hubotが楽しいし作った。


こんなの


チャットはSlack.comで、HubotはHerokuに置いてつないでる。

「hubot rss add (URL)」とコマンドを発言すると部屋にRSSを追加できるようになっていて、チャットルームごとにRSSが購読できる。

Slackではプロジェクト毎に部屋を作ってGithubやTravisの通知を流すように運用している。

  • そのプロジェクトに関連あるリポジトリのRSSを流す
  • 研究室全員のgithubのfeedを流す部屋を作っておいて、個人活動を共有する
  • 技術系のblogを誰でも何でも登録していいよという部屋を作っておく

とかすると便利だと思う。若者のRSS離れを抑止できる。


インストール


https://www.npmjs.org/package/hubot-rss-reader

npmでhubotにインストールして

% npm i hubot-rss-reader --save

external-scripts.json に
["hubot-rss-reader"]
を追加すれば使える。


環境変数で色々設定できるが、しなくても適当に動く。
export HUBOT_RSS_INTERVAL=600      # 600秒ごとに更新チェック
export HUBOT_RSS_HEADER=:sushi: # RSS Header Emoji (デフォルトで寿司)
export DEBUG=hubot-rss-reader # debug printを有効にする


なおチャットルーム毎のfeedはredisに保存するようになっている。
hubotはデフォルトでredisを使うので、ふつうにredis-server起動しておけば特に必要ない。
herokuなら
% heroku addons:add redistogo:nano
でok


コマンド


追加と削除とリストしか今のところ無い。

hubot rss add https://github.com/shokai.atom
hubot delete add https://github.com/shokai.atom
hubot rss list