# Telegram 트리거

> 내 Telegram 봇이 메시지를 받을 때마다 워크플로를 시작하고, 메시지의 텍스트, 사진, 동영상, 오디오를 그 뒤의 노드에 전달하세요.

Source: https://nodaro.ai/ko/docs/nodes/automate/telegram-trigger

**Telegram 트리거** 노드는 내 Telegram 봇이 메시지를 받을 때마다 워크플로를 시작합니다. 메시지의 텍스트와, 메시지에 들어 있는 사진, 동영상, 오디오 파일을 그 뒤의 노드에 전달합니다. 예를 들어 봇이 받는 모든 메시지를 이미지로 바꿀 수 있습니다. 트리거 자체는 무료입니다.

- Found in: Automate › Triggers
- Output: data
- API type: `telegram-trigger`

## 사용 시기
- 모든 텍스트 메시지로 이미지나 동영상을 생성하는 봇을 만듭니다.
- [텍스트 생성 - 모든 LLM](https://nodaro.ai/docs/nodes/automate/prompt) 노드로 메시지에 답하고, [Telegram 게시물](https://nodaro.ai/docs/nodes/publish/telegram-post)로 답변을 돌려보냅니다.
- 사람들이 봇에 보내는 사진, 동영상, 오디오 파일을 받습니다.
- 내 봇이 멤버인 그룹이나 채널의 게시물을 모아 하나씩 처리합니다.

## 빠른 시작
### 봇 연결
먼저 **연동**에서 내 Telegram 봇을 연결하세요. [SNS에 게시하기](https://nodaro.ai/docs/guides/publishing-to-social)를 참고하세요.

### 노드 추가 후 봇 선택
캔버스에서 Tab을 누르고 **자동화 › 트리거 › Telegram 트리거**를 선택하세요. 설정 패널의 **Telegram 봇**에서 봇을 고르세요.

### 메시지 필터링
필요하면 **채팅 ID 필터**에 채팅을 입력하고, 실행을 시작할 **메시지 유형**을 고르세요.

### 활성화 후 저장
**트리거 활성화**를 클릭한 다음 워크플로를 저장하세요. 저장하면 봇이 Telegram에 등록되고, 상태에 **활성: 메시지 수신 대기 중**이 표시됩니다.

### 봇에 메시지 보내기
이제 일치하는 모든 메시지가 실행을 시작합니다.

Workflow: 봇에 보낸 모든 텍스트 메시지가 이미지 생성의 프롬프트가 되고, Telegram 게시물이 이미지를 채팅으로 보냅니다.

- Telegram 트리거 → 이미지 생성 (프롬프트)
- 이미지 생성 → Telegram 게시물

## 설정
| 설정 | 기능 |
| --- | --- |
| **Telegram 봇** | 메시지를 받을 연결된 봇입니다. 필수입니다. 봇이 없으면 아무것도 등록되지 않습니다. 아직 연결된 봇이 없으면 패널에 **연동**으로 가는 링크가 표시됩니다. |
| **채팅 ID 필터** | 이 채팅의 메시지만 실행을 시작합니다. 예를 들어 `@channel`이나 `-100`으로 시작하는 숫자 ID입니다. 모든 채팅의 메시지를 받으려면 비워 두세요. |
| **메시지 유형** | 실행을 시작할 메시지의 종류입니다. **텍스트**, **사진**, **동영상**, **오디오**, **문서**가 있으며, 기본적으로 다섯 가지 모두 켜져 있습니다. |
| **트리거 활성화** | 트리거를 켭니다. **트리거 비활성화**로 끕니다. 변경 사항은 워크플로를 저장할 때 적용됩니다. |

패널 상단의 상태에 트리거의 상태가 표시됩니다.

| 상태 | 의미 |
| --- | --- |
| **활성: 메시지 수신 대기 중** | 트리거가 켜져 있고 봇이 선택되어 있습니다. |
| **봇을 선택하세요. 아직 메시지를 수신하지 않습니다** | 트리거는 켜져 있지만 봇이 선택되지 않았습니다. |
| **비활성** | 트리거가 꺼져 있습니다. |

## 노드가 전달하는 것
노드에는 출력이 **메시지** 하나 있습니다. 실행이 시작되면 Nodaro는 메시지에 들어 있는 내용에 따라 메시지를 연결된 노드에 전달합니다.

| 메시지에 들어 있는 것 | 전달되는 곳 |
| --- | --- |
| 텍스트 | 다음 노드의 프롬프트, 또는 게시 노드의 캡션 |
| 사진 | 이미지 노드의 레퍼런스 같은 이미지 입력 |
| 동영상 | 동영상 입력 |
| 오디오 | 오디오 입력 |

메시지는 채팅 ID와 메시지 ID도 함께 전달합니다. Nodaro는 실행이 시작되기 전에 사진, 동영상, 오디오 파일을 저장소에 다운로드합니다.

## 봇 하나에 여러 트리거
Telegram 봇은 메시지를 정확히 한 주소로만 보내므로, 같은 봇의 모든 트리거는 등록 하나를 공유합니다. 봇 하나에 원하는 만큼 워크플로를 연결할 수 있습니다. 들어오는 각 메시지는 모든 트리거의 **채팅 ID 필터**와 **메시지 유형**과 비교되며, 일치하는 트리거마다 자체 실행을 시작합니다.

트리거 하나를 제거해도 다른 트리거는 멈추지 않습니다. 트리거를 비활성화하거나 삭제하면 다음 저장 때 제거됩니다. 봇에 활성 트리거가 하나도 남지 않으면 Nodaro는 Telegram에서 봇의 등록을 제거합니다.

## 트리거된 실행이 실행하는 범위
다른 노드에 연결된 트리거는 자기 분기만 실행합니다. 트리거 다음의 노드와, 그 노드들이 입력으로 필요로 하는 모든 노드입니다. 아무것에도 연결되지 않은 트리거는 워크플로 전체를 실행합니다. 편집기에서 설정한 Telegram 트리거는 각각 자기 분기를 실행합니다. 따라서 채팅 필터가 서로 다른 두 트리거가 같은 봇에 있으면, 둘 모두와 일치하는 메시지는 별개의 실행 두 개를 시작합니다. 편집기에서의 수동 실행, API에서의 실행, 게시된 앱의 실행은 트리거의 분기로 제한되지 않습니다.

## 캔버스에서 실행 보기
편집기에서 워크플로가 열려 있으면, 메시지가 시작한 실행이 내가 직접 시작한 실행과 같은 방식으로 캔버스에 표시됩니다.

- 실행이 진행되는 동안 Telegram 트리거 노드에 <strong>메시지를 처리하는 중…</strong>이 표시됩니다.
- 실행이 닿는 노드에 진행 상황이 표시되며, 실행이 끝나도 결과가 노드에 남습니다. 메시지 자체는 **실행 기록**에 남습니다.
- 편집기는 약 10초마다 새 메시지 실행을 확인합니다.
- 실행 표시줄에 실행이 표시되며, 중지 메뉴는 다른 실행과 똑같이 동작합니다. [실행 중지](https://nodaro.ai/docs/concepts/running-workflows#stop-a-run)를 참고하세요.

나중에 워크플로를 열면, 그 뒤에 편집기에서 무언가를 실행하지 않은 한 노드에는 끝난 메시지 실행 중 가장 최근 것이 표시됩니다. 중지되었거나 버린 실행은 표시되지 않으며, 실행 뒤에 지운 결과도 표시되지 않습니다.

캔버스에는 메시지 실행만 표시됩니다. 일정, Webhook, API가 시작한 실행은 **실행 기록**에만 있습니다.

## 크레딧
Telegram 트리거는 무료입니다. 각 실행은 실행하는 노드의 비용을 지불합니다.

## 문제 해결
- **저장할 때 트리거를 등록하지 못했다는 경고가 나타납니다.** Telegram이 등록을 거부했으며, 경고에 이유가 표시됩니다. 흔한 원인 하나는 봇을 연결한 뒤 폐기된 봇 토큰입니다. 다른 원인은 `PUBLIC_URL`이 Telegram이 접근할 수 있는 HTTPS 주소가 아닌 셀프 호스팅 설치입니다. 등록에 실패하면 트리거가 만들어지지 않습니다.
- **그룹의 메시지에 아무 일도 일어나지 않습니다.** 봇은 BotFather에서 그룹 개인정보 보호 모드를 끄지 않는 한, 자신에게 보낸 그룹 메시지만 받습니다.
- **실행에 미디어가 없습니다.** Telegram은 봇이 최대 20MB의 파일을 다운로드하도록 허용합니다. 더 큰 파일은 미디어 없이 메시지만 도착합니다.

## 자주 묻는 질문

### Telegram 메시지로 워크플로를 시작하려면 어떻게 하나요?

“연동”에서 내 Telegram 봇을 연결하고, Telegram 트리거를 추가해 봇을 고른 다음, “트리거 활성화”를 클릭하고 워크플로를 저장하세요. 그러면 봇이 받는 모든 메시지가 실행을 시작합니다.

### 여러 워크플로가 같은 봇의 메시지를 받을 수 있나요?

네. 들어오는 각 메시지는 그 봇에 있는 모든 트리거의 필터와 비교되며, 일치하는 트리거마다 자체 실행을 시작합니다. 트리거 하나를 제거해도 다른 트리거는 멈추지 않습니다.

### 봇이 그룹의 메시지에 반응하지 않는 이유는 무엇인가요?

Telegram 봇은 그룹 개인정보 보호 모드를 끄지 않는 한, 자신에게 보낸 그룹 메시지만 받습니다. BotFather에서 봇의 개인정보 보호 모드를 끄세요.

### 트리거를 채팅 하나로 제한할 수 있나요?

네. “채팅 ID 필터”에 @channel이나 -100 뒤에 숫자가 이어지는 숫자 ID로 채팅을 입력하세요. 모든 채팅의 메시지를 받으려면 비워 두세요.

### Telegram 트리거에 크레딧이 드나요?

아니요. 트리거 자체는 무료입니다. 각 실행은 실행하는 노드의 비용을 지불합니다.
