Skip to content

Latest commit

 

History

History
88 lines (66 loc) · 3.75 KB

README.md

File metadata and controls

88 lines (66 loc) · 3.75 KB

connpass-notification

connpassを使用したイベント主催者向けのツールです。
connpass で自分が立てたイベントに対して参加・キャンセル・お問い合わせについてGmailが来た時にSlackに通知するツールです。

Deploy

connpass-notification でSlackに通知するためのステップは下記のとおりです。

First

clasp + typescriptを使って開発をしています。
claspのインストールは必須です。loginまで終わらせましょう

Second

自分の都合の良いディレクトリで下記のコマンドを実行していきます。

$ git clone [email protected]:bannzai/connpass-notification.git 
$ cd connpass-notification
$ clasp create --type standalone --rootDir ./src
$ vim ./src/settigs.ts # See: #Configure https://github.com/bannzai/connpass-notification#Configure
$ clasp push # Deploy to your Google Apps Script Editor

Configure

下記の項目を変更すれば使えるようになります。

function settings(): _Settings {
  return {
    'appName': 'Gmail',
    'searchWord': 'from: [email protected]',
    'registerWebHookURL': 'https://hooks.slack.com/services/XXXXXXXXX/YYYYYYYYY/ZZZZZZZZZZZZZZZZZZZZZZZZ',
    'registerNotificationChannel': '#registerOrCancel-channel',
    'cancelWebHookURL': 'https://hooks.slack.com/services/XXXXXXXXX/YYYYYYYYY/ZZZZZZZZZZZZZZZZZZZZZZZZ',
    'cancelNotificationChannel': '#registerOrCancel-channel',
    'contactWebHookURL': 'https://hooks.slack.com/services/XXXXXXXXX/YYYYYYYYY/ZZZZZZZZZZZZZZZZZZZZZZZZ',
    'contactNotificationChannel': '#contact-channel'
  }
}
  • appName にはSlackで通知される時に表示されてほしいユーザー名を入れてください。
  • searchWords には実際にGmailで検索をかけるキーワードを入れてください。
  • xxxxWebHookURL にはSlackのIncoming-WebHooksで作成したURLを入れてください。
  • xxxxNotificationChannel にはSlackのIncoming-WebHooksで設定した channel を入れてください。 # から始める必要があります。

Environment

connpass-notification を開発した時の諸々のバージョンです。

Environment Command Result Require
node node --version v8.12.0 yes
clasp clasp --version 2.0.1 yes
tsc tsc -v Version 3.3.3333 no

Tips

このツールのentrypointは main.tsmain という関数です。
Googleが提供しているGoogle Apps Script(GAS) の開発環境から動作を確認ができます。
clasp の open というコマンドで開発環境を開くことができます。

$ clasp open

ここから main.ts を選び main 関数を実行することで確認ができます。

仕組みとして未読のものを探して既読のメールにたどり着いたら関数が終わるようになっています。
もし未読のメールが多い場合は dryRun 関数を実行することができます。初期値として 1 が代入されており、この場合は最大1件の通知がされるようになります。

var max: number = null;
function dryRun() {
  max = 1;
  main();
}

GASには定期実行の設定もあり、Slackに流したい場合は設定することをおすすめします。

LICENSE

connpass-notification is available under the MIT license. See the LICENSE file for more info.