[n8n] 실전 (2) - 환율 떨어지면 알림! 텔레그램 알림 봇 만들기

반응형

[n8n] 실전 (2) - 환율 떨어지면 알림! 텔레그램 알림 봇 만들기

 

지난 시간, 우리는 매일 아침 환율을 구글 시트에 기록하는 봇을 만들었습니다. 그런데 환율을 매번 엑셀을 켜서 확인해야 한다면 반쪽짜리 자동화겠죠?

오늘은 [환율이 내가 원하는 가격(예: 1450원) 밑으로 떨어졌을 때만] 내 핸드폰(텔레그램)으로 긴급 알림을 보내주는 기능을 추가해 보겠습니다.

이것만 알면 [주식 폭락 알림], [비가 오면 우산 챙기기 알림] 등 무엇이든 만들 수 있습니다.


📋 준비물

 

[n8n] 실전 (1) - 매일 아침 달러 환율, 구글 시트에 자동 기록하기 (무료 API)

[n8n] 실전 (1) - 매일 아침 달러 환율, 구글 시트에 자동 기록하기 (무료 API) n8n 설치와 구글 연동까지 마치셨나요? 고생 많으셨습니다! 이제 지루한 설정은 끝났습니다. 오늘부터는 n8n이 왜 **'업무

dt-simulation.tistory.com

 


1단계: 나만의 텔레그램 봇 만들기 (1분 컷)

n8n이 나에게 메시지를 보내려면 '로봇' 대리인이 필요합니다. 텔레그램에서 아주 쉽게 만들 수 있습니다.

  1. 텔레그램 검색창에 [BotFather]를 검색하고 클릭합니다. (파란색 인증 마크 확인!)
  2. 채팅방에 들어가 /newbot 이라고 입력합니다.
  3. 봇 이름을 짓습니다. (예: MyRichBot)
  4. 봇 아이디를 짓습니다. (반드시 끝이 bot으로 끝나야 함. 예: rich_alert_bot)
  5. 성공하면 긴 Access Token(토큰)을 줍니다. 이 값을 복사해 두세요! (중요)

텔레그렘 방 생성 및 API 발급 확인

 


2단계: n8n에 자격 증명(Credential) 등록하기 ★제일 중요★

방금 받은 토큰을 가지고 n8n에 가서 [이거 내 봇이야] 라고 등록부터 해야 합니다. 이 과정을 먼저 해두면 나중에 Flow 만들 때 아주 편합니다.

  1. n8n 화면 왼쪽 메뉴에서 자격 증명(Credentials) 아이콘(열쇠 모양)을 클릭합니다.
  2. 우측 상단 [Add Credential] 버튼을 누릅니다.
  3. Telegram API를 검색해서 선택합니다.
  4. 설정창이 뜨면:
    • Access Token: 아까 BotFather에게 복사한 토큰을 붙여넣습니다.
    • User: (비워둬도 됩니다)
  5. [Save] 버튼을 누릅니다.

이제 n8n이 여러분의 텔레그램 봇을 자유자재로 조종할 수 있게 되었습니다!

텔레그램 채팅방 토근 세팅


2단계: 내 채팅방 ID(Chat ID) 알아내기

봇이 "누구에게" 메시지를 보낼지 알려줘야 합니다.

  1. 방금 만든 내 봇을 검색해서 [시작] 버튼을 누르고, 아무 말이나(예: hi) 한 번 보냅니다.
  2. 텔레그램 검색창에 [@RawDataBot]을 검색해서 들어갑니다.
  3. [시작]을 누르면 복잡한 글자들이 쏟아지는데, 그중 chat 항목 아래에 있는 id 숫자(예: 123456789)를 복사합니다.

chatID 검색하기


3단계: n8n에 텔레그램 연결하기

이제 n8n으로 돌아옵니다.

  1. 지난번 만든 워크플로우의 HTTP Request(환율 가져오기) 노드 뒤에 +를 누릅니다.
  2. Telegram 노드를 검색해서 추가합니다. -> 노드는 Telegram 중 무작위로 가지고 와서 재설정
  3. Credential: Create New를 누르고, 아까 복사한 Access Token을 붙여넣습니다.
  4. Resource: Message, Operation: Send Message 선택.
  5. Chat ID: 아까 알아낸 내 ID 숫자를 넣습니다.
  6. Text: "현재환율 : {{ $json.rates.KRW }}원" (이전 노드 데이터 매핑)
  7. [Execute Node]를 눌러 내 폰으로 메시지가 오는지 확인합니다.
반응형

n8n 세팅화면
작동 확인


4단계: 조건 걸기 (If 노드) ★오늘의 핵심★

지금 상태라면 매일 아침 무조건 메시지가 옵니다. 우리는 [1450원 이하일 때만] 받고 싶습니다.

  1. HTTP Request 노드와 Telegram 노드 사이의 연결선을 클릭해서 끊습니다(휴지통 아이콘).
  2. 그 사이에 If 노드를 추가합니다.
  3. Condition(조건) 설정:
    • Value 1: Expression을 켜고 환율 값(rates.KRW)을 드래그.
    • Operation: Smaller or Equal (작거나 같다 <=)
    • Value 2: 1450 (원하는 목표 환율 입력)
  4. If 노드의 True(참) 출력 선을 Telegram 노드에 연결합니다.
    • 해석: 환율이 1450보다 작으면(True) -> 텔레그램을 보내라.

if node 추가
조건문 설정
True 랑 telegram 과 연결하기


마무리

이제 여러분의 봇은 훨씬 똑똑해졌습니다. 매일 아침 9시에 깨어나서(Schedule) -> 환율을 확인하고(HTTP) -> 구글 시트에 적은 뒤(Sheets) -> "가격이 싼가?" 고민해 보고(If) -> 싸다면 나에게 텔레그램을 보냅니다(Telegram).

이 If 노드만 잘 활용하면 "비 오면 우산 챙겨 알림", "특정 키워드 뉴스 알림" 등 못 할 게 없습니다.

다음 시간에는 지금까지 배운 것을 총동원해서 "뉴스 기사를 크롤링해서 텔레그램으로 전달해주는 봇"에 도전하겠습니다.

 

n8n 실전 (3) - RSS 를 이용한 뉴스 수집 및 텔레그램 전송

n8n 실전 (3) - RSS 를 이용한 뉴스 수집 및 텔레그램 전송 이번 포스팅에서는 RSS 데이터를 수집하고 집계하는 기초적인 방법과 실전 운영 환경에서는 '데이터 중복(Data Redundancy)' 문제를 반드시 해

dt-simulation.tistory.com

 

반응형