Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Firebase + BoltではじめるSlackアプリ開発

mako_makok
November 21, 2020

Firebase + BoltではじめるSlackアプリ開発

この資料は2020/11/18に行われた、「自動化大好きエンジニアLT会」の発表資料です。
https://rakus.connpass.com/event/192101/

mako_makok

November 21, 2020
Tweet

More Decks by mako_makok

Other Decks in Technology

Transcript

  1. Bolt For JavaScript • Slackアプリ構築用のフレームワーク • Slack API Team謹製 •

    Slack API Client + Receiver + 便利な型定義 • TypeScriptで書かれている • For JavaScriptとあるだけあり多言語のSDKも提供されている ◦ Python, Java
  2. Firestore slash command でモーダル 表示をRequest モーダルを返却 Formを送信 Formの内容を登録 Functions 1.

    ユーザごとのパラ メータを取得 2. APIを叩く 3. webhookでそれぞれ のユーザにDM送信
  3. なぜFirebase? • 他のmBaaSだとAWS Amplifyがある ◦ ちょっと前までAmplifyにはemulatorがなかった ▪ 今はAmplifyにもlocal emulatorがある ◦

    AmplifyだとAppSyncがある ▪ Slack bot開発では特に使う必要がない • 個人的にFirebaseのほうが慣れている
  4. Boltの利点 • slackアプリ作成に必要なものが全部入ってくる ◦ Receiver(express)も内包されているので別途インストールの必要 なし • 便利な関数 ◦ ack()

    ◦ say() ◦ etc... export const expressReceiver = new ExpressReceiver ({ signingSecret: config.slack.secret, endpoints: '/events', processBeforeResponse: true }) export const app = new App({ receiver: expressReceiver , token: config.slack.token, processBeforeResponse: true })
  5. Bolt for JavaScriptの利点 • Slackアプリのviewを作成するBlock Kitという仕組みがある ◦ section一個につきプロパティ5~10個程度書くので物量がある • 便利な型定義

    ◦ Blockの型定義 ◦ 他にもSlackは色々できる分Payloadが長くなりがち ◦ 型定義のおかげで補完を効かせながら書ける