docs(dingtalk): explain group subscriptions and card interaction events

This commit is contained in:
Hyu
2026-10-10 21:30:07 +08:00
parent f41981b356
commit 3bee9c19f9
3 changed files with 39 additions and 0 deletions
+13
View File
@@ -132,3 +132,16 @@ This article uses DingTalk Windows desktop version as an example, click `Search`
Click on the bot to chat with it.
If you want to add it to a group, click `Group Management`, `Robots`, `Add Robot` in the DingTalk group, then search for the bot name to use it in the group.
## Event subscriptions
Select Stream mode under Event Subscriptions in the DingTalk app console and enable the required events. This is separate from the robot message callback setting.
- `chat_add_member` maps to `group.member_joined`, once per affected member.
- `chat_remove_member` / `chat_quit` map to `group.member_left`, distinguishing removal from voluntary departure.
- `chat_update_title` / `chat_update_owner` map to `group.info_updated`.
- Ordinary card interactions emit `dingtalk.card_action`. Recognized feedback uses `feedback.received`; managed input forms retain their existing interaction flow without duplicate triggers.
- Group disbanding and other subscribed events use `platform.specific`, preserving the native event name in `action` and the original headers and payload in `data`.
Group events depend on application permissions and supported group types. Member notifications containing only unionId remain platform-specific; unionId is not treated as a messaging user ID. Message editing, recall, reactions, friend requests and bot mute events are not advertised without a confirmed corresponding push capability.
+13
View File
@@ -133,3 +133,16 @@ LangBot は DingTalk アプリのワンクリック作成とクレデンシャ
ボットをクリックしてチャットします。
グループに追加したい場合は、DingTalk グループの「グループ管理」、「ロボット」、「ロボットを追加」をクリックし、ボット名を検索してグループで使用します。
## イベント購読
DingTalk アプリ管理画面のイベント購読で Stream モードを選択し、必要なイベントを有効にしてください。ロボットのメッセージ受信設定とは別の設定です。
- `chat_add_member` → `group.member_joined`(メンバーごとに通知)。
- `chat_remove_member` / `chat_quit` → `group.member_left`(削除と自主退出を区別)。
- `chat_update_title` / `chat_update_owner` → `group.info_updated`。
- 通常のカード操作 → `dingtalk.card_action`。識別可能な評価は `feedback.received`、管理対象フォームは既存の対話処理に渡し、重複実行を防ぎます。
- グループ解散などその他の購読イベントは `platform.specific` に渡し、`action` にイベント名、`data` に元のヘッダーとデータを保持します。
グループイベントにはアプリ権限とグループ種別の制限があります。unionId のみを含むメンバー通知はプラットフォーム固有イベントとして保持します。メッセージ編集・撤回・リアクション、友達申請、ボットのミュートなど、対応するプッシュが未確認のイベントは対応済みと表示しません。
+13
View File
@@ -132,3 +132,16 @@ LangBot 支持一键创建钉钉应用并自动填写凭证,无需手动复制
点击机器人即可和机器人聊天。
如果想要添加到群里,那么点击钉钉群的`群管理`,`机器人`,`添加机器人`,然后搜索机器人名称就可以在群中使用。
## 事件订阅
在钉钉应用后台的「事件订阅」选择 Stream 模式,并勾选需要的事件。机器人收消息与事件订阅是两个入口,只开启机器人 Stream 收消息不会收到群变动事件。
- `chat_add_member` → `group.member_joined`,多人变更逐人触发。
- `chat_remove_member` / `chat_quit` → `group.member_left`,区分移除与主动退出。
- `chat_update_title` / `chat_update_owner` → `group.info_updated`。
- 普通卡片点击或提交 → `dingtalk.card_action`;可识别的点赞反馈仍使用 `feedback.received`,LangBot 管理的人工输入表单继续交给原交互流程,避免重复触发。
- 群解散及其他已订阅事件使用 `platform.specific`,`action` 保留钉钉事件名,`data` 保留原始头部与事件数据。
群事件受钉钉的应用权限和群类型范围限制,并非所有机器人所在群都支持。仅有 unionId、缺少可用用户 ID 的成员通知保留为平台专属事件,不把 unionId 当作可发送消息的用户 ID。消息编辑、撤回、表情反应、好友申请及机器人禁言等尚未确认有对应通用推送,不声明为支持。