Slack上で、DialogPlayで作成したチャットボットを利用することができます。
1.Slackボット作成
①アプリ作成
②ボットユーザー作成
③アクセストークン取得
2.DialogPlay公開設定
3.Slackボット設定
4.Slackボット動作確認
①Slackボットを追加
②チャンネルにSlackボットを追加
5.システム変数
@公開先情報
Slackボット作成
アプリ作成
- 〔Slack API〕を開いて、”Go to Slack“ボタンをクリックしてください。
- 『ワークスペース』を入力し、”続行する“ボタンをクリックしてください。
- 『メールアドレス』、『パスワード』を入力し、”サインイン“ボタンをクリックしてください。
- 再度〔Slack API〕を開き、”Your Apps“をクリックしてください。
- “Create New App“ボタンをクリックしてください。
- 『App Name』にアプリケーション名を入力、『Development Slack Workspace』よりワークスペースを選択し、”Create App“ボタンをクリックしてください。
ボットユーザー作成
- 左メニューの"OAuth & Permissions"をクリックしてください。
- 『Scopes』>『Bot Token Scopes』内の”Add an OAuth Scope”ボタンをクリックしてください。
- 以下のスコープを追加してください。
chat:write
users:read
channels:history
groups:history
im:history
files:read
reactions:read - 左メニューの"App Home"をクリックしてください。
- 『Your App’s Presence in Slack』内の”Edit”ボタンをクリックしてください。
- 各項目を入力し、”Addボタンをクリックしてください。
No 項目名 説明 1 Display name(Bot Name) チャットボット名(80文字未満) 2 Default username Slack上で使用されるチャットボットのユーザー名(21文字以内)
ローマ字小文字、数字、ピリオド、ハイフン、アンダースコアのみ入力可 - 『Always Show My Bot as Online』を”On“に設定してください。
アクセストークン取得
- 左メニューの”Install App”をクリックしてください。
- ”Install App to Workspase”ボタンをクリックしてください。
- “許可する“ボタンをクリックしてください。
- 『Bot User OAuth Access Token』の”Copy“ボタンをクリックし、アクセストークンを取得してください。
DialogPlay公開設定
- 左メニュー『チャットボット公開』内の『新規公開』をクリックしてください。
- 各項目を入力後、”公開”ボタンをクリックしてください。
No. 項目名 説明 1 アプリケーション名 チャットボット名を入力 2 公開先プラットフォーム 「Slack」を選択 3 公開するチャットボット 公開対象のチャットボットを選択 4 オペレーター機能 有効にすることで、チャット中にオペレーターを呼び出すことが可能
詳細は【オペレーター画面の操作方法について】をご覧ください5 Bot User OAuth Access Token 【Slackボット作成 - アクセストークン取得】手順4で取得したアクセストークンを入力 6 スレッド内のメッセージ スレッド内のメッセージについて、チャットボットが反応する条件を選択 7 スレッド外のメッセージ スレッド外のメッセージについて、チャットボットが反応する条件を選択 8 リアクション(絵文字) リアクション(絵文字)にチャットボットが反応するかを選択 - 公開後、『コールバックURL』が生成されますので、”コピー“ボタンをクリックし、値を取得してください。
Slackボット設定
- 再度〔Slack API〕を開き、左メニューの”Event Subscriptions”をクリックし、設定画面内の『Enable Events』を”On“にしてください。
- 『Request URL』に【DialogPlay公開設定】手順3で取得した「コールバックURL」を入力し「Verified」と表示されることを確認してください。
- 『Subscribe to bot events』の項目を展開し、”Add Bot User Event“ボタンをクリックしてください。
- 以下のイベントを追加し、“Save Changes“ボタンをクリックしてください。
message.channels
message.groups
message.im
reaction_added
reaction_removed - 左メニューの”Interactivity & Shortcuts”をクリックし、設定画面内の『Interactivity』を”On“にしてください。
- 『Request URL』に【DialogPlay公開設定】手順3で取得した「コールバックURL」を入力し、“Save Changes” をクリックしてください。
Slackボット動作確認
Slackボットを追加
- チャットボットを追加したワークスペースにログインし、左メニューの”App“をクリックしてください。
- 作成したSlackボットをクリックしてください。
- 実際に対話を行い、動作を確認してください。
Slackボットとの一対一のやり取りとなる為、メンション(@ボット名)なしの発言でもSlackボット宛のメッセージとなります。
チャンネルにSlackボットを追加
- Slackボットを追加したワークスペースにログインし、Slackボットを参加させたいチャンネルをクリックしてください。
- ””より詳細を開き、その他から”アプリを追加する”をクリックしてください。
- 作成したSlackボット横の”追加”ボタンをクリックしてください。
- 実際に対話を行い、動作を確認してください。
デフォルトではメンション(@ボット名)を付けて発言することで、Slackボットが反応します。
メンションなしの発言にも反応させたい場合は上部DialogPlay公開設定をご参照ください。
システム変数
@公開先情報
Slackに公開した場合に、以下のシステム変数が追加で使用可能となります。
{{@公開先情報.slack.***}}という形式で使用可能です。
(例: チャンネルのIDを取得したい場合は、{{@公開先情報.slack.channel}}となります。)
共通項目
変数名 | 説明 |
---|---|
channel | チャンネルのID |
user | ユーザーのID |
ts | 発言やリアクションをした日時(UNIX時間) |
通常発言の場合
変数名 | 説明 |
---|---|
type | 'message' |
text | 発言内容 |
thread_ts |
スレッドの親発言の日時(UNIX時間) ※スレッド内発言の場合のみ |
files.count |
ファイルの数 ※ファイル添付時のみ |
files.0 |
1つ目のファイルの情報 例: files.0.nameでファイル名を取得 取得可能な情報はSlack API ガイドを参照 files.1, files.2,...と指定することで2つ目以降のファイルを取得可能 ※ファイル添付時のみ |
絵文字リアクションの場合
変数名 | 説明 |
---|---|
type |
リアクション追加の場合: 'reaction_added' リアクション削除の場合: 'reaction_removed' |
item |
リアクションされた発言の以下の情報 item.type: 発言のtype item.channel: 発言されたチャンネル item.ts: 発言された日時(UNIX時間) |
セレクトボックスやボタンなどを操作した場合
変数名 | 説明 |
---|---|
type | 'interactive_message' |
thread_ts |
スレッドの親発言の日時(UNIX時間) ※スレッド内発言の場合のみ |