봇 알림에 대해 내린 가장 쓸모 있는 결정은, 어떤 봇이 나를 못 부르게 할지를 정한 것이었습니다.
왜 Telegram
1인 셋업에서 Telegram 봇은 가장 값싼 좋은 알림 채널입니다: 봇 토큰, chat id, HTTP POST 하나. 폰에 즉시 닿고, 무료고, 만들 앱도 지킬 수신함도 필요 없습니다. 실시간으로 알고 싶은 판단을 내리는 것엔 이걸로 충분합니다.
# 통합은 사실상 이게 전부
requests.post(
f"https://api.telegram.org/bot{TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": msg},
)(토큰·chat id는 환경변수에서, 레포엔 절대 안 넣음 — 모든 스크린샷에서 마스킹.)
다들 건너뛰는 부분: 전부가 알림을 보내면 안 된다
실제 돈을 만지지 않는 페이퍼·테스트 봇도 돌립니다. 그것들은 의도적으로 Telegram을 설정하지 않습니다. 즉 발송 시도가 실패하는데, 그 실패는 사고가 아니라 예상된 동작입니다. 알림 피로를 한 번 겪고서야 체득했습니다: 모든 봇이 나를 부르면, 나는 알림을 안 읽게 되고, 그러면 정작 중요한 하나를 놓칩니다.
그래서 규칙은 단순하고, 수신자에 관한 것이지 발신자가 아닙니다:
- 봇이 내가 반응할 실제 판단을 내림 → Telegram 연결, 실제 발송.
- 봇이 페이퍼·백테스트·실험 → Telegram 의도적으로 꺼둠. 발송 실패는 정상. 출력은 대시보드에 살고, 그건 봇이 나를 끊는 게 아니라 내가 원할 때 당겨봅니다.
플레이스홀더 — 실제 캡처 예정, 토큰·chat id 마스킹.
솔직한 부분
알림은 신호 대 소음 문제고, 기본 실패 모드는 커버리지 부족이 아니라 과잉입니다. 모든 것에 Telegram을 연결하는 건 책임감 있어 보이지만, 실은 그걸 무시하도록 자신을 훈련시키는 방법입니다. 규율은 인터럽트 채널을 진짜 반응할 소수의 이벤트에만 남기고, 나머지는 내가 당겨보는 대시보드에 조용히 두는 것입니다.
로그의 "알림 발송 실패" 한 줄이 불안하게 만든다면, 먼저 그 봇이 애초에 알림을 보내야 했는지 물어보세요. 제 봇 절반에겐 침묵이 올바른 출력입니다.