콘텐츠로 이동

Telegram 연동

StockClaw는 FLASH와 ALERT 시그널을 개인 Telegram 채팅으로 푸시할 수 있습니다 — 파이프라인 실행당 최대 두 개의 메시지로 그룹화(FLASH 모음 하나, ALERT 모음 하나)되므로 시그널마다 알림이 울리지 않습니다.

일회성 설정

1. 봇 시작

Telegram을 열고 @stockclaw_notify_bot을 탭한 뒤 Start를 누르세요(또는 /start 전송).

이 단계는 선택이 아닙니다

Telegram은 봇이 먼저 대화를 시작하는 것을 허용하지 않습니다. 당신이 첫 메시지를 보내기 전까지 봇은 DM 권한이 없어 — 푸시가 chat not found로 조용히 실패합니다.

2. chat id 확인

@userinfobot을 열고 /start를 보내면 다음과 같이 답장이 옵니다:

Id: 123456789
First: Kaitao

123456789만 복사하세요(공백 없이 숫자만).

3. StockClaw에 연결

설정 → Telegram 연동으로 이동. chat id를 붙여넣고, 선택적으로 @username을 추가한 뒤("Linked as" 행에 표시되는 장식용), Link를 클릭합니다.

다음 파이프라인 실행에서 FLASH/ALERT 시그널이 생기면 Telegram으로 도착합니다.

그룹 채팅

공유 그룹(가족 포트폴리오, 팀 채널)에 봇이 포스팅하게 하고 싶다면?

  1. 그룹을 만들거나 기존 그룹을 사용합니다.
  2. @stockclaw_notify_bot을 멤버로 추가합니다.
  3. 아무 관리자나 그룹 안에서 /start@stockclaw_notify_bot을 보냅니다 — DM과 같은 규칙.
  4. 그룹의 chat id는 음수입니다(예: -1001234567890). 찾으려면 아무 그룹 메시지를 @userinfobot으로 전달하세요 — 그룹의 Forwarded from id로 응답합니다.
  5. 그 음수 id를 StockClaw에 붙여넣으세요. 동일하게 동작합니다.

두 계정, 같은 채팅

두 StockClaw 계정이 같은 chat id를 연결하는 것을 막지 않습니다 — "가족 공유 채팅" 패턴입니다. 두 사용자의 시그널이 같은 Telegram 채팅으로 팬인됩니다. 관심종목이 겹치면 같은 뉴스 이벤트가 시그널 두 개(계정당 하나)를 만들어 Telegram 메시지 두 개로 도착할 수 있습니다. 겹쳐도 괜찮다면 그대로 쓰시면 되고, "누가 트리거했는지" 라벨이 필요하다면 이슈를 열어주세요.

메시지는 어떻게 생겼는가

모든 배치 메시지에는 다음이 포함됩니다:

  • 헤더(⚡ StockClaw AI — FLASH 또는 🔔 — ALERT)와 시그널 개수.
  • 시그널별 블록: 요약(EN + ZH), 영향 % 및 link_type이 들어간 영향받는 티커 막대 차트, impact/confidence 수치, 그리고 개별 지연시간이 포함된 5-agent breakdown.
  • 원본 URL.
  • 시그널 id(앞 8자, 지원 / 디버그용).

대시보드의 시그널 카드가 시각적 대응물입니다 — 의도적으로 비슷합니다.

연결 해제

설정 → Telegram 연동 → Unlink. user_settings 행의 telegram_chat_id가 null로 설정됩니다. 푸시는 즉시 중단됩니다. Telegram 쪽 봇 권한은 유지되므로 — 봇을 다시 시작하지 않고도 나중에 재연결할 수 있습니다.

문제 해결

메시지가 오지 않음:

  • 봇을 실제로 /start 했는지 확인(1단계).
  • Celery worker가 실행 중인지 확인 — 파이프라인 태스크는 worker가 소비해야 합니다.
  • 시그널 긴급도가 중요합니다: NOTE와 FYI는 대시보드 전용이며 Telegram이 아닙니다. FLASH와 ALERT만 푸시됩니다.
  • 서버의 worker 로그를 확인하세요; [run_user_pipeline] user=<your id>로 검색하면 — 전달 단계가 chat_id와 성공 여부를 출력합니다.

worker 로그에 "chat not found":

  • chat id가 틀렸거나, 사용자 / 그룹이 아직 봇을 /start 하지 않았습니다.

봇은 응답하는데 시그널이 없음:

  • 관심종목에 티커가 없거나, 오늘 FLASH/ALERT가 나온 뉴스가 없을 수 있습니다. NVDA 같은 인기 티커를 추가하고 Beat 두 주기(~40분) 기다려보세요.