Skip to content

rk0uhey/Notification-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notification-Bot

node version LICENSE

概要

世の中には30分ごとにWebサイトを監視するという謎のバイトがあるらしい🤔

Notification-Bot(以下、本Bot)は、任意の時間間隔でWebサイト/Twitterアカウントの更新を監視し、LINE BOTで通知することができる。また、サイトのどの箇所が更新したかも通知することができる。

また本Botは定期実行する必要があり、HostingサービスとしてFirebaseを使用する前提で作成している。

DEMO

notification-bot-demo1 notification-bot-demo2

デプロイまでの流れ

  1. LINE BOTを作成する
  2. Twitter APIトークンを作成する
  3. Firebase Projectを作成する(Blazeプラン)
  4. Realtime Databaseの設計を行う
  5. 必要に応じてファイル内容の変更を行う
  6. firebaseへデプロイする

Realtime Databaseの設計

"db": {
  "HTML": {
    "1": {
      "body": "dummy",
      "id": 1,
      "mode": "dummy",
      "url": "dummy"
    },
    "2": {
      "body": "dummy",
      "id": 2,
      "mode": "dummy",
      "url": "dummy"
    }
  },
  "TWITTER": {
    "1": {
      "id": 1,
      "time": "dummy",
      "twitterid": "dummy"
    },
    "2": {
      "id": 2,
      "time": "dummy",
      "twitterid": "dummy"
    }
  },
  "USERID": {
    "1": {
      "id": 1,
      "userid": "dummy"
    },
    "2": {
      "id": 2,
      "userid": "dummy"
    }
  }
}

変更が必要な箇所

./ 変更内容
.firebaserc deploy先のプロジェクトIDを記述する
functions/ 変更内容
index.js module.exportsにて、監視開始時間/監視終了時間/定期監視時間を変更する
functions/data/ 変更内容
site.json 監視したいURL/Twitterアカウントを記述する
template_message.json メッセージを変更する
functions/env/ 変更内容
db-url.json Firebase realtime databaseのurlを記載する
firebase-project.json Firebaseプロジェクトの情報を記載する
linebot.json LineBotのアカウント情報を記載する
twitter_api_token.json Twitterトークン情報を記載する

ローカルでの実行、デプロイ

上記のファイルを変更した後、ローカルでの実行やデプロイが可能となる。

~Notification-Bot/
> firebase deploy

ローカルでの実行

  1. node_modulesをインストールする
~Notification-Bot/
> cd functions

~Notification-Bot/functions/
> npm install
  1. funtionsのserve
~Notification-Bot/functions/
> cd ..

~Notification-Bot/
> firebase serve --only hosting,functions
  1. ngrokを使いトンネリング(好みのポートで)
~
> ngrok http 8000
  1. Webhookの設定 LINE DevelopersのBotのWebhook settingsに、ngrokが発行したURLを登録する

注意

  • 本BotはFirebaseのBlazeプランで動かす前提となっている。Blazeプランは従量課金制となっているため、注意すること。

  • 実行時にメモリ不足のエラーが出た場合は、firebase functionsのメモリを増設する必要がある

Contributor

License

"Notification-Bot" is under MIT license.

About

Webサイト監視BOT

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •