DingTalk
DingTalk 채널은 Stream 연결로 봇 이벤트를 수신하고 응답을 보냅니다. 상주 Gateway가 연결을 유지하므로 일반적인 설정에는 공개 수신 웹훅이 필요하지 않습니다.
필요한 항목
- 봇 기능이 있는 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 상태, 네트워크 안정성, 그다음 채널 다시 로드 |