Telegram 연동¶
무료 버전에는 없습니다
Telegram 전송은 StockClaw 무료 버전에 포함되지 않습니다. 이전에 Telegram을 연결했다면 연결은 유지되지만 아무것도 보내지 않습니다. 대신 휴대폰 및 브라우저 알림을 사용할 수 있습니다. 비용은 얼마인가요?를 보세요.
StockClaw는 시그널을 개인 Telegram 채팅으로 푸시할 수 있습니다 — 기본은 FLASH와 ALERT, 켜면 NOTE와 FYI도 — 푸시 주기(기본 30분마다)에 맞춰 등급별로 메시지 하나로 묶이므로 시그널마다 알림이 울리지 않습니다. 등급과 주기는 설정 → 알림 등급과 빈도에서 바꾸며, 휴대폰 및 브라우저 알림을 켰다면 같은 설정이 적용됩니다. 메시지는 앱 표시 언어로 전송됩니다(언어 참조).
일회성 설정¶
1. 봇 시작¶
Telegram을 열고 @stockclaw_notify_bot을 탭한 뒤 Start를 누르세요(또는 /start 전송).
이 단계는 선택이 아닙니다
Telegram은 봇이 먼저 대화를 시작하는 것을 허용하지 않습니다. 당신이 첫 메시지를 보내기 전까지 봇은 DM 권한이 없어 — 푸시가 chat not found로 조용히 실패합니다.
2. chat id 확인¶
@userinfobot을 열고 /start를 보내면 다음과 같이 답장이 옵니다:
123456789만 복사하세요(공백 없이 숫자만).
3. StockClaw에 연결¶
설정 → Telegram 연동으로 이동. chat id를 붙여넣고, 선택적으로 @username을 추가한 뒤("Linked as" 행에 표시되는 장식용), Link를 클릭합니다.
다음 파이프라인 실행에서 FLASH/ALERT 시그널이 생기면 Telegram으로 도착합니다.
그룹 채팅¶
공유 그룹(가족 포트폴리오, 팀 채널)에 봇이 포스팅하게 하고 싶다면?
- 그룹을 만들거나 기존 그룹을 사용합니다.
@stockclaw_notify_bot을 멤버로 추가합니다.- 아무 관리자나 그룹 안에서
/start@stockclaw_notify_bot을 보냅니다 — DM과 같은 규칙. - 그룹의 chat id는 음수입니다(예:
-1001234567890). 찾으려면 아무 그룹 메시지를 @userinfobot으로 전달하세요 — 그룹의Forwarded fromid로 응답합니다. - 그 음수 id를 StockClaw에 붙여넣으세요. 동일하게 동작합니다.
두 계정, 같은 채팅¶
두 StockClaw 계정이 같은 chat id를 연결하는 것을 막지 않습니다 — "가족 공유 채팅" 패턴입니다. 두 사용자의 시그널이 같은 Telegram 채팅으로 팬인됩니다. 관심종목이 겹치면 같은 뉴스 이벤트가 시그널 두 개(계정당 하나)를 만들어 Telegram 메시지 두 개로 도착할 수 있습니다. 겹쳐도 괜찮다면 그대로 쓰시면 되고, "누가 트리거했는지" 라벨이 필요하다면 이슈를 열어주세요.
메시지는 어떻게 생겼는가¶
모든 배치 메시지에는 다음이 포함됩니다:
- 헤더(
⚡ StockClaw AI — FLASH또는🔔 — ALERT)와 시그널 개수. - 시그널별 블록: 선택한 언어의 요약, 영향도 % 및 연관 유형이 들어간 영향받는 티커 막대 차트, 영향도/신뢰도 수치, 그리고 개별 지연시간이 포함된 에이전트 세부.
- 원본 URL.
- 시그널 id(앞 8자, 지원 / 디버그용).
대시보드의 시그널 카드가 시각적 대응물입니다 — 의도적으로 비슷합니다.
언어¶
Telegram 메시지는 앱 표시 언어로 전송됩니다. 설정 → 표시 또는 헤더의 언어 메뉴에서 고른 언어입니다. 계정에 저장되므로 휴대폰, 컴퓨터, 모든 알림(Telegram, 휴대폰 및 브라우저 알림, 이메일)이 같은 언어를 쓰며, 어느 기기에서 바꾸든 모두 함께 바뀝니다.
- 영어: 영어만 사용합니다. 중국어 출처의 시그널에 영어 요약이 없으면 중국어 제목 대신 해당 티커와 등급을 알려 주고 앱에서 확인하도록 안내합니다. 중국어 출처 이름은 생략되고 링크는 인코딩된 형태로 전송됩니다.
- 중국어 간체 / 번체: 중국어 요약과 중국어 라벨.
- 일본어 / 한국어: 라벨은 선택한 언어로 표시됩니다. 요약은 전송할 때 번역되며, 번역에 실패하면 영어로 표시됩니다.
등급 이름(FLASH, ALERT, NOTE, FYI)과 에이전트 이름은 모든 언어에서 그대로입니다.
연결 해제¶
설정 → Telegram 연동 → Unlink. user_settings 행의 telegram_chat_id가 null로 설정됩니다. 푸시는 즉시 중단됩니다. Telegram 쪽 봇 권한은 유지되므로 — 봇을 다시 시작하지 않고도 나중에 재연결할 수 있습니다.
문제 해결¶
메시지가 오지 않음:
- 봇을 실제로 /start 했는지 확인(1단계).
- Celery worker가 실행 중인지 확인 — 파이프라인 태스크는 worker가 소비해야 합니다.
- 시그널 긴급도가 중요합니다: 설정 → 알림 등급과 빈도에서 체크한 등급만 푸시됩니다(기본 FLASH와 ALERT). 메시지는 푸시 주기도 기다리므로 4시간 다이제스트라면 그 사이에는 아무것도 오지 않습니다.
- 방해 금지 시간은 Telegram에도 적용됩니다: 설정 → 방해 금지 시간이 켜져 있으면 내 시간대 기준 시작부터 종료 시간까지는 아무것도 보내지 않고, 보류된 시그널은 그 뒤 다음 다이제스트에 도착합니다.
- 서버의 worker 로그를 확인하세요;
[run_user_pipeline] user=<your id>로 검색하면 — 전달 단계가 chat_id와 성공 여부를 출력합니다.
worker 로그에 "chat not found":
- chat id가 틀렸거나, 사용자 / 그룹이 아직 봇을 /start 하지 않았습니다.
봇은 응답하는데 시그널이 없음:
- 관심종목에 티커가 없거나, 오늘 FLASH/ALERT가 나온 뉴스가 없을 수 있습니다.
NVDA같은 인기 티커를 추가하고 Beat 두 주기(~40분) 기다려보세요.