DingTalk
DingTalk ChannelはStream接続でボットイベントを受信し、返信を送信します。常駐するGatewayが接続を維持するため、通常の設定では公開の受信Webhookは不要です。
必要なもの
- ボット機能を備えたDingTalkアプリケーション。
- 有効になっているStreamのボットメッセージ購読。
- Client IDとClient Secret。
- アプリの識別情報で必要とされる場合は、任意のBot User ID、Bot Staff ID、Robot Code。
アプリケーションの設定時には、最新のDingTalk Stream SDKドキュメントを参照してください。
Dashboardで接続する
- Dashboard → Channel → Addを開きます。
- DingTalkを選びます。既定の項目はStreamです。
- Client IDとClient Secretを入力します。
- 任意のボット識別フィールドは、設定済みアプリケーションと一致する場合にだけ追加します。
- 認証情報を保存します。DMとグループのポリシーはCLIウィザードで設定します。
- DingTalkでStreamのボットメッセージ購読を確認します。
既定のアカウントIDはworkです。
アクセスポリシー
ダイレクトメッセージの既定値はpairingで、pairing、open、allowlist、disabledを指定できます。グループメッセージの既定値はmentionで、open、allowlist、disabledも指定できます。
anyy channel pairing list
anyy channel pairing approve --request REQUEST_ID
対話型ターミナルでanyy setup channelを実行し、DingTalkを選んでこれらのポリシーを編集します。Dashboardにはポリシー入力欄がなく、現在の設定機能にはDingTalkのリスト項目エディターもありません。メッセージングプラットフォームを参照してください。グループでは、まずボットを明示的にメンションしてテストします。
接続を検証する
anyy channel doctor dingtalk
anyy channel reload
再読み込み後に、ダイレクトメッセージとメンション付きのグループメッセージを送信します。各ポリシーの経路を個別に検証してください。
Gatewayを常駐させる
Streamの配信には稼働中のGateway接続が必要です。再起動やネットワーク変更の後にメッセージが届かなくなった場合は、DingTalkアプリの設定を変更する前にGatewayの状態を確認します。
トラブルシューティング
| 問題 | 確認する項目 |
|---|---|
| Streamが接続されない | Client ID/Secret、外部へのネットワーク接続、Stream購読 |
| ダイレクトメッセージが無視される | DMポリシーとペアリング/許可リスト |
| グループメッセージが無視される | グループポリシーと明示的なメンション |
| 受信できるが返信に失敗する | ボット識別フィールドとDingTalkアプリケーションの権限 |
| 接続が繰り返し切れる | Gatewayの健全性、ネットワークの安定性を確認してからChannelを再読み込み |