Mattermost
Bot:毎朝Googleカレンダーの予定を通知してくる秘書ねこBotの作り方

2017.05.08 [CREATIVE]

今までSlackを使っていたのですが、Mattermostへお引っ越しにすることになったので、MattermostでもBotの設定をしてみた備忘録です!ほぼSlack版と似た内容ですが、ちょっとだけ違うところもあるので記事を分けてみました。

まずは完成イメージ!

事前に準備しておくもの

  • Mattermostへの登録
  • Googleアカウント
  • Googleカレンダーに何かしら今日の予定を入れておく

STEP1. Webhook URLを取得

1-1. 「統合機能」ページへ移動する

1) 左上のチーム名をクリックします。

2) プルダウンメニューから「統合機能」を選択するとページへ移動します。(※「統合機能」が表示されていないときは、管理権限がある人に設定してもらいましょう。)

1-2. 内向きのウェブフックでWebhook URLを取得する

1) 統合機能の「 内向きのウェブフック」をクリックします。

2) ページ移動したら、右上にあるボタン「内向きのウェブフックを追加する」をクリックします。

3) 各項目を入力したら、右下の「保存する」ボタンをクリックします。

4) ページ移動したら、Webhook URLというのがあるので、そこにあるURLをどこかにメモしておきましょう!

STEP1はここまで!

STEP2. Googleスプレッドシートでスクリプトを作成

今回、GAS(Google Apps Script)というものを使います。Googleが提供するサーバーサイド・スクリプト環境です。

2-1. Googleドライブでスプレッドシートを新規作成

Googleドライブにアクセスして、左上の「新規」ボタンから「Googleスプレッドシート」を選択します。

2-2. スクリプトエディタを開く

メニューの「ツール」タブから「スクリプト エディタ」をクリックします。

2-3. コードをコピー&ペーストして編集

1) 下記のコードをまるっとコピペしましょう。

参考元
↑ コードは下記の記事を元にさせて頂いてます!ありがとうございます。

2) 次にコードの中のa〜gまでの6項目を編集してください。

  • 6行目:a. GoogleカレンダーのID ★通常はGoogleのメールアドレス
  • 7行目:b. メッセージの見出し
  • 13行目:c. メッセージ本文
  • 14行目:e. アイコン画像
  • 15行目:f. Botの名前
  • 52行目:g. Webhook URL ★ここにSTEP1で取得したWebhook URLを入れます

※ コードはほぼSlackと同じですが、48行目の「”contentType” : “application/json”」というのを入れないとMattermostは動かなかったのでご注意を!

2-4. 保存して実行してみる(承認を許可)

1) 三角ボタンをクリックして実行してみましょう。

2) 初回のみGoogleへのアクセス承認の許可が求められますのでポチポチと押しておきます。

Mattermostに秘書ねこさん来ましたか?これでほぼ完成です!

ここで引っかかるポイントチャネル名を間違えてる、カレンダーにスケジュールが入ってないetc.

STEP3. 通知の日時を指定する

最後に、毎朝秘書ねこさんにお知らせして欲しいので、トリガーを設定します。

プロジェクトのトリガーを設定する

1) メニュー「編集」タブから「現在のプロジェクトのトリガー」を選択します。

2) 現在のプロジェクトのトリガーのウィンドウが開いたら、「時間主導型」→「日タイマー」→「午前9時〜10時」と選択します。そうすると、Googleカレンダーにスケジュールが入っている時は、毎日、午前9時〜10時のどこかでBotが動くようになります。

これで、毎朝秘書ねこさんに会えます♪