内定者ポータルサイトのメール通知機能が機能してなかったから、LINEに通知できるシステムを作った。
タイトル通り内定先のポータルサイトのメール通知機能が機能してなかった。
なので人事の方からのメッセージが来ているかいちいちログインして確認しなくては行けなかった。
結構めんどくさい。なのでサイトが更新(新着メッセージが来たら)されたらLINEに通知される仕組みを作った。
結構簡単で、
- curlを使ってhtmlソースを取得する。
- 取得したhtmlソースから正規表現を使って、個々のメッセージを囲んでいるdiv要素を全て抜き出し配列に格納。配列の要素数がメッセージ総数となる。
- (実行1回目)メッセージ総数を適当なテキストファイルに記録。DB使ってもいいけど、大袈裟かも。
- (実行2回目以降)メッセージ総数とテキストファイルに記録されている数を比べて異なる場合(この場合、メッセージが削除された時も通知しちゃうけど)、メッセージ総数をテキストファイルに上書きして、webhookを使ってLINEに通知する。
またこのシステムを自動で動かすためにcronを使う。
0 */1 * * * php /Applications/MAMP/htdocs/実行したいファイル.php
みたいにすることで毎時 0分に1時間おきにプログラムを実行してくれる。
crontab の書き方|プログラムメモ
LINEに通知が来るたび、しっかり機能してる〜!と思い嬉しい気持ちになってる。
では!