はじめに. Slack側の設定
- 上記からCreate Appする。
from scratch
を選択でOK. - App Nameや使用したいWorkspaceを入力.
- Socket ModeをONにする(Internal Workspaceだけで使用する場合はね).
App-Level Tokens
を作成する.- イベントの設定.
Event Subscription
をクリックして、有効化. Subscribe to bot events
→Add Bot User Event
→message.channel
を選択. これで、チャネルに投稿されたメッセージをイベントとして取得可能に.OAuth & Permissions
を選択. Bot Token SpaceのAdd an OAuth Scope
をクリックして、chat:write
を選択。これでボットがメッセージを投稿可能に.Install App
を選択. 使用したいWorkspaceを選択.
Node.js側
.env
を作成する.
$ touch .env
2. 上記にSLACK_APP_TOKEN
、SLACK_BOT_TOKEN
の情報を記入する.
2.1. SLACK_APP_TOKEN
.
Basic Information
→ App-Level Tokens
→ Token Name
にある値.
2.2. SLACK_BOT_TOKEN
.
Install App
にある値.
SLACK_APP_TOKEN="xapp-hogehoge" SLACK_BOT_TOKEN="xoxb-hogehoge"
3. bolt
とdotenv
をyarnする.
3.1. Bolt: Slack のボットを開発するための Node.js のライブラリ.
3.2. dotenv: .env
ファイルから環境変数を設定し、それを読み込むためのライブラリ.
$ yarn add @slack/bolt dotenv
4. Javascript作成.
'use strict'; const bolt = require('@slack/bolt'); const dotenv = require ('dotenv'); dotenv.config(); const app = new bolt.App({ token: process.env.SLACK_BOT_TOKEN, appToken: process.env.SLACK_APP_TOKEN, socketMode: true, logLevel: 'debug' }); app.message(/hello/i, ({message, say}) => { say(`what's up? <@${message.user}>`); }); app.start();
詳しくは、こちら.