webページの更新を通知するbotを作った

webページの更新を通知するbotを作りました.

先日,某コミュニティサイトを利用することになったんですが(mixiみたいなイメージのサイト),更新(他のひとの書き込みとか)を通知する機能が無かったんです.定期的に手動でログインして・・・ていうのはしんどいので,解決するためbotを作成しました.

あと研究室の先輩が過去にbot開発していたのもあって,自分も卒業までにやっとこうかなと.

概要

コードはこちら

github.com

名前はhubota(ひゅぼた)です.

hubot製のbotです.

定期的にWebページを見に行って,前回から変化していれば通知を送ります.特徴は以下の通り.

特徴

ログインが必要なサイトに対応

対象がコミュニティサイトなので,ログイン処理をしてから目的のページへアクセスに行きます.

むしろログインが不要な場合は想定していません.

目的ページの要素を指定できる

HTMLの要素に付けられたidを指定して,その部分だけ比較します.ログイン回数とか含まれてると,毎回内容が変わってしまうので,この機能を付けています.

こちらも全体を比較したいっていうケースはまだ非対応です.

さらにオプションで,その中の特定のclassについては確認対象から除外することができます.

間隔を指定できる

cronと同じ形式で確認間隔・時間を指定できます.

その他

ajax使って表示する中身を取ってくるようなサイトには非対応です.

botですが,現状は会話機能とか一切ないです.そのうち付けたい.

現状IFTTTを使って,更新をお知らせするようになっています.IFTTTを選んだのはLINEへ通知が送れるからです.ユーザ数が多いという点でLINEは圧倒的ですよね.

IFTTTとの連携についてはこちらの記事で書きました.よろしければご覧ください.

自作のアプリからIFTTTを通じてLINEにメッセージを送る方法 - mbuchiのブログ

ただ上の記事を書いてから数日後にIFTTTがリニューアルしてて,現状のとはデザインが違ったりしてます.悲しい.

おわりに

webページの更新を通知するbotを作りました.私の環境では,IFTTTからLINEに通知を送るようにしています.

設定ファイルの書き換えだけでいろいろなサイトに対応させれるよう,出来る限りしたつもりです.

Node.jsを書いたのは初めてなので,色々ツッコミどころがあるかと思います.よろしければコメント,issueなどいただけると勉強になります.

こんな機能があると良いといったことも大歓迎です(実装するとは言ってない.)

参考にしたサイト