Slack
AnyyはSocket ModeでSlackに接続します。動作するアカウントには、Web API/メッセージ操作用のボットトークンと、WebSocket接続用のアプリトークンの両方が必要です。
1. Slackアプリを準備する
Slackのアプリ設定で次を行います。
- 対象ワークスペース用のアプリを作成します。
- Socket Modeを有効にします。
- Socket Modeスコープ付きのアプリレベルトークンを作成します。
- 選択した会話の読み取り、メッセージ送信、対応ファイルの取得に必要なボットスコープを追加します。
- ダイレクトメッセージとメンション付きグループ会話に必要なメッセージイベント購読を有効にします。
- スコープを変更したら、アプリをワークスペースにインストールまたは再インストールします。
DashboardにはSocket Mode、イベント購読、アプリトークンのスコープ、ボットトークンのスコープに関する外部側の前提条件が表示されます。アカウントを有効にする前に満たしてください。
2. Anyyに接続する
Dashboard → Channel → Add → Slackを開き、既定のSocket Mode項目を使います。次を入力します。
- ボットトークン(
xoxb-…)。 - アプリトークン(
xapp-…)。 - AnyyのアカウントID。
ダイレクトメッセージとグループのポリシーはCLIウィザードで設定します。Dashboardの認証情報フォームには表示されません。
CLIでの設定は次のとおりです。
anyy setup channel
アカウントを有効にするには両方のトークンが必要で、Profileのシークレット参照として保存されます。
3. ポリシーを選ぶ
Slackの既定値はDMがpairing、グループがmentionです。DMポリシーはopen、allowlist、pairing、disabled、グループポリシーはmention、open、allowlist、disabledに対応します。
CLIウィザードでSlackを選んでポリシーを変更します。既存の許可リストはSlackのユーザー/チャンネルIDを使用しますが、現在の設定アクションではリスト項目を編集できません。新しいアカウントの設定ではペアリングを推奨します。共通のアクセス上の制限を参照してください。
4. 再読み込みしてテストする
anyy channel reload
anyy channel doctor slack
アプリにDMを送るか、許可されたチャンネルでメンションします。DMのPairingを使う場合は、保留中の要求を承認します。
anyy channel pairing list --channel slack
anyy channel pairing approve --request REQUEST_ID
スレッドとファイル
AnyyはSlackのスレッドタイムスタンプをチャンネルのルートに保持し、元のスレッド内に返信します。対応する受信ファイルはボット認証情報でダウンロードされ、サイズ確認後にスコープ付き添付ファイルとして配置されます。
Socket Modeには公開の受信Webhook URLは不要ですが、GatewayからSlackへの外向きネットワーク接続は必要です。
Slackトークンのスコープは、インストールされたアプリへの許可で決まります。アプリ設定だけを変えても、再インストールするまでは現在のボットトークンが更新されない場合があります。
トラブルシューティング
| 症状 | 確認する項目 |
|---|---|
| Socket接続ができない | Socket Mode、xapp-トークン、そのスコープ、外部へのネットワーク接続 |
| 認証できるがメッセージが届かない | イベント購読、ボットスコープ、アプリのインストール、チャンネルへの参加 |
| 投稿に失敗する | xoxb-トークンと対象の会話への書き込みスコープ |
| DMが保留される | Pairingを承認してから新しいメッセージを送信 |
| ファイルを読めない | ファイルスコープ、非公開ダウンロードへのアクセス、アダプターのメディア制限 |
共通のアクセス許可管理については、メッセージングプラットフォームを参照してください。