会社でLet's Chat&Hubotを試しに運用し始めたので、開発チームの話題提供用に定期的にはてブITカテゴリのホットエントリを呟かせるスクリプト書いてみた。
hubot_hatebu_it.coffee
cronJob = require('cron').CronJob
to_json = require('xmljson').to_json
request = require 'request'
module.exports = (robot) ->
new cronJob '00 30 09,12,15,18 * * 1-5', () =>
url = "http://b.hatena.ne.jp/hotentry/it.rss"
options =
url: url
timeout: 2000
headers: {'user-agent': 'node title fetcher'}
request options, (error, response, body) ->
to_json body, (err, data) =>
article = "はてブITカテゴリ ホットエントリ¥n"
for id, item of data["rdf:RDF"].item
title = item.title
link = item.link
article += "#{title} #{link}¥n"
robot.send {room:"ROOM_ID"}, article
, null, true, "Asia/Tokyo"
↓の記事を参考にRSSを取得して、パースしてタイトルとURL要素から文章を生成して呟かせる。
はてブAPIでwebサービスを作りたい全ての人に向けて書きました
- package.jsonにcron・xmljson・requestを追記
- 今回のスクリプトを適当にscriptディレクトリに放り込む
で準備完了。
指定した時間になったらつぶやいてくれる。
30件は流石にウザったいので個数減らそうかと検討中。