# 텔레그램 알림 연동 방법

매매봇이 **신규 공지**, **매매 예약**, **Live 진입·청산** 소식을 텔레그램으로 보내려면  
봇 토큰과 채팅 ID 두 가지만 준비하면 됩니다. (5~10분)

---

## 1단계 — 텔레그램 봇 만들기

1. 스마트폰 또는 PC에서 **텔레그램**을 실행합니다.
2. 검색창에 **`@BotFather`** 를 입력하고 공식 봇을 엽니다.
3. 대화창에서 **`/start`** 를 보냅니다.
4. **`/newbot`** 을 보냅니다.
5. 봇 **이름**을 입력합니다. (예: `내 매매봇`)
6. 봇 **사용자명**을 입력합니다. 반드시 **`bot`** 으로 끝나야 합니다.  
   (예: `my_trade_alert_bot`)
7. BotFather가 **`HTTP API Token`** 을 알려줍니다.  
   예: `7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
8. 이 토큰 전체를 복사해 두세요. → GUI **「봇 토큰」** 칸에 붙여넣습니다.

> 토큰은 비밀번호와 같습니다. 다른 사람에게 공유하지 마세요.

---

## 2단계 — 내 채팅 ID 확인하기

봇이 **어느 채팅으로** 메시지를 보낼지 알려줘야 합니다.

### 방법 A — @userinfobot 사용 (가장 쉬움)

1. 텔레gram 검색에서 **`@userinfobot`** 을 찾아 **`/start`** 를 보냅니다.
2. 봇이 **`Id: 123456789`** 같은 숫자를 알려줍니다.
3. 이 숫자를 복사합니다. → GUI **「채팅 ID」** 칸에 붙여넣습니다.

### 방법 B — 직접 만든 봇으로 확인

1. 1단계에서 만든 **내 봇**을 검색해 대화를 엽니다.
2. **`/start`** 버튼 또는 메시지를 한 번 보냅니다. (필수)
3. PC 브라우저에서 아래 주소를 엽니다.  
   `https://api.telegram.org/bot<봇토큰>/getUpdates`  
   (`<봇토큰>` 자리에 1단계 토큰을 넣습니다)
4. JSON 결과에서 **`"chat":{"id":123456789`** 부분의 숫자가 채팅 ID입니다.

---

## 3단계 — 매매봇 GUI에 입력

1. 프로그램 상단 **`텔레그램 알림`** 버튼을 클릭합니다.
2. **「알림 사용」** 에 체크합니다.
3. **봇 토큰**, **채팅 ID** 를 입력합니다.
4. **`저장`** 을 누릅니다.
5. **`테스트 알림 보내기`** 를 눌러 텔레그램에 메시지가 오는지 확인합니다.

설정 파일 위치: `state/telegram_config.json` (로컬 PC에만 저장)

---

## 어떤 때 알림이 오나요?

| 상황 | 알림 내용 |
|------|-----------|
| 신규 거래유의·상장 공지 감지 | 공지 종류, 출처, 코인, 제목 |
| 매매 예약 (모의/Live) | 전략, 코인, 거래소, 진입·종료 예정 시각 |
| Live 실제 진입 | 성공/실패, 거래소, 마진 |
| Live 시간 청산 | 청산 결과, 수익률 |

**「▶ 시작」** 으로 공지 감시를 켜야 신규 공지 알림이 동작합니다.

---

## 자주 나는 문제

### 「Unauthorized」 / 토큰 오류
- 봇 토큰을 처음부터 끝까지 다시 복사했는지 확인하세요.
- 공백이 앞뒤에 붙지 않았는지 확인하세요.

### 「chat not found」 / 채팅을 찾을 수 없음
- **내 봇에게 `/start` 를 한 번 보냈는지** 확인하세요.
- 채팅 ID가 숫자만 있는지 확인하세요. (하이픈 없음)

### 테스트는 되는데 공지 알림이 안 옴
- **「알림 사용」** 체크 및 **저장** 했는지 확인하세요.
- 실시간 탭에서 **「▶ 시작」** 이 실행 중인지 확인하세요.
- 감시 시작 직후 피드에 있던 공지는 **등록만** 하고 알림·매매는 하지 않습니다.  
  **그 이후 새로 올라온 공지**만 알림됩니다.

### 알림이 너무 많을 때
- 텔레그램 설정 창에서 **「알림 사용」** 체크를 해제하고 저장하세요.

---

## 보안 안내

- 봇 토큰·채팅 ID는 **`state/telegram_config.json`** 에만 저장됩니다.
- Git 등 외부에 올리지 마세요. (`.gitignore`에 포함됨)

문제가 계속되면 **「연동방법 보기」** 창과 **테스트 알림** 오류 메시지를 함께 확인하세요.
