Skip to content

Slack ​

Memoh Bot を Slack につなぎます。DM の受信、チャンネルやスレッドへの参加、添付ファイルの読み取り、ファイルの送信、ストリーミング返信に対応します。

前提条件 ​

  • アプリをインストールできる Slack ワークスペースと、Slack API コンソール へのアクセス。
  • Memoh Bot。チャネルはその プラットフォーム タブで設定します。

手順 ​

1. Slack API コンソールでアプリを作成する ​

  1. Slack API コンソール を開き、Create New App をクリックします。
  2. Bot をインストールするワークスペースを選択します。

TIP

アプリの設定ページは開いたままにしておいてください。ステップ 2 から 5 はすべてここで行います。

2. Slack API コンソールで Socket Mode を有効にする ​

Memoh の Slack アダプターは Socket Mode を使うため、Bot token に加えて app-level token も必要です。

  1. Basic Information で Socket Mode を有効にします。
  2. App-Level Token を作成し、scope に connections:write をチェックします。
  3. 生成された token をコピーします。xapp- で始まります。

3. Slack API コンソールで Bot Token Scopes を追加する ​

OAuth & Permissions で、Slack アダプターに必要な scope を追加します。

  • app_mentions:read:チャンネル内での Bot への @メンションを受信
  • channels:history:パブリックチャンネルのメッセージを読む
  • groups:history:プライベートチャンネルのメッセージを読む
  • im:history:DM を読む
  • mpim:history:グループ DM を読む
  • chat:write:返信とスレッドメッセージを送信
  • files:read:アップロードされたファイルや画像を読む
  • files:write:ファイルを送信
  • reactions:write:リアクションの追加/削除

会話名やメタデータを Memoh でより完全に表示したい場合は、次も追加することをおすすめします。

  • channels:read
  • groups:read
  • im:read
  • mpim:read

4. Slack API コンソールでイベントを購読する ​

Event Subscriptions で bot events を有効にし、Slack アダプターが処理する受信イベントを追加します。

  • app_mention
  • message.channels
  • message.groups
  • message.im
  • message.mpim

5. Slack API コンソールでアプリをワークスペースにインストールする ​

  1. OAuth & Permissions で Install to Workspace をクリックします。
  2. 権限の確認画面で内容を確認し、承認します。
  3. Bot User OAuth Token をコピーします。xoxb- で始まります。

6. Memoh で Slack チャネルを追加する ​

  1. Bot の詳細ページを開き、プラットフォーム タブに移動します。
  2. Add Channel をクリックし、Slack を選択します。
  3. 次を入力します。
    • Bot Token:xoxb- で始まる token
    • App-Level Token:xapp- で始まる token
  4. Save and Enable をクリックします。

7. Slack で Bot を会話に追加する ​

チャネルを有効にしたあとも、この Slack アプリを使いたい会話に参加させておく必要があります。

  • DM:アプリとの DM を開いてメッセージを送信します。
  • パブリックチャンネル:Bot をチャンネルに招待します。
  • プライベートチャンネル:インストール後に明示的にチャンネルへ招待します。

認証情報 ​

フィールド説明
Bot Tokenワークスペースへのインストール後にコピーする Bot User OAuth Token(xoxb- で始まる)。
App-Level TokenSocket Mode 用に作成した、connections:write scope 付きの token(xapp- で始まる)。

2 つの token は、同じ Slack アプリ・同じワークスペースのものでなければなりません。

動作確認 ​

Bot をチャンネルに招待して @メンション付きで /help を送るか、DM で /help を送ります。Bot がコマンド一覧を返せば、チャネルは機能しています。

グループチャット ​

Slack ではチャンネルがグループチャットに相当します。Bot をパブリックまたはプライベートチャンネルに招待し、@メンションすると会話できます。返信はスレッドで続けられます。スレッドに対応しているのは Slack チャネルだけです。

無効化と認証情報の更新 ​

Bot の プラットフォーム タブから、いつでもこのチャネルを無効化・削除できます。認証情報を更新するときは、Bot Token と App-Level Token のフィールドを更新して保存してください。

よくある質問 ​

なぜ token を 2 つ入力するのですか? ​

Memoh の Slack アダプターは Socket Mode を使います。xoxb- で始まる Bot token に加えて xapp- で始まる app-level token が必要で、両方が同じ Slack アプリ・同じワークスペースのものでなければなりません。

Bot はメッセージを送れるのに、アップロードされた画像やファイルを読めない ​

files:read scope が有効になっているか確認してください。

接続はできているのに、受信メッセージがまったく届かない ​

Event Subscriptions の bot events と、対応する history 系 scope をもう一度確認してください。

Published under AGPLv3