본문 바로가기
개발&프로그래밍

[N8N 활용] 매일 아침 나만의 비서 만들기: 뉴스 & 날씨 텔레그램 자동 전송

by 재아군 2025. 11. 29.

안녕하세요!

오늘은 한 단계 더 나아가 매일 아침 눈을 떴을 때, 나에게 꼭 필요한 정보만 모아서 알려주는 '모닝 브리핑 봇'을 만들어 보려고 해요.

 

일어나자마자 날씨 앱 켜고, 포털 뉴스 훑어보고, 미세먼지 확인하고... 이 루틴만 줄여도 아침 시간이 훨씬 여유로워집니다.

n8n을 활용해 날씨와 주요 뉴스를 긁어와서(Crawling), 텔레그램으로 깔끔하게 받아보는 법!

 

 

 

 

지금 바로 시작해 볼게요.

 

이 워크플로우로 할 수 있는 것

이 글을 따라 하시면 매일 아침 지정된 시간에 아래와 같은 메시지를 받게 됩니다.

⛅ 오늘 [서울] 날씨 정보 상태: 맑음 / 기온: 15°C / 비 올 확률: 0%

📰 오늘의 주요 뉴스 (Top 3)

  1. [속보] n8n, 업무 자동화의 새로운 표준 등극 (링크)
  2. 개발자 생산성 도구, 어디까지 진화하나 (링크)
  3. ...

 

준비물 체크리스트

  1. n8n 실행 환경: (이제 다들 있으시죠?)
  2. OpenWeatherMap API 키: 날씨 정보를 가져오기 위해 필요합니다. (무료 가입 가능)
  3. 텔레그램 봇 토큰 & Chat ID: 알림을 받을 메신저입니다.

1단계: 아침 7시 기상! Schedule Trigger 설정

가장 먼저 '언제' 이 봇을 실행할지 정해야겠죠? n8n 캔버스에서 Schedule Trigger 노드를 추가합니다.

  • Trigger Interval: Days
  • Time: 07:00 (여러분의 기상 시간에 맞춰주세요)
  • Mode: Every Day

이제 매일 아침 7시가 되면 n8n이 기지개를 켜고 일을 시작합니다.

 

2단계: 오늘의 날씨 정보 가져오기 (HTTP Request)

날씨 정보를 가져오는 가장 쉬운 방법은 OpenWeatherMap API를 사용하는 것입니다. 무료 플랜으로도 개인용 봇을 만들기엔 충분해요.

  1. HTTP Request 노드를 추가하고 Schedule 노드와 연결합니다.
  2. Method: GET
  3. URL: https://api.openweathermap.org/data/2.5/weather
  4. Query Parameters:
    • q: Seoul (원하는 도시 영문명)
    • appid: (여러분의 API Key)
    • units: metric (섭씨 온도로 받기 위해 필수!)
    • lang: kr (한국어 응답)

 

이제 'Execute Node'를 눌러보면 JSON 형태로 현재 날씨 데이터가 들어오는 것을 확인할 수 있습니다.

여기서 temp(기온), description(날씨 설명) 정보를 활용할 거예요.

3단계: 뉴스 기사 수집하기 (RSS Read)

뉴스를 크롤링하는 방법은 여러 가지가 있지만, 초보자도 링크가 깨질 걱정 없이 가장 안정적으로 사용하는 방법은 RSS 피드를 활용하는 것입니다. 구글 뉴스의 RSS를 이용해 볼까요?

  1. RSS Feed Read 노드를 추가합니다. (날씨 노드 뒤에 연결하거나, 별도로 병렬 연결 후 Merge 해도 됩니다. 편의상 직렬로 연결할게요.)
  2. URL: 구글 뉴스 RSS 주소 (예: https://news.google.com/rss?hl=ko&gl=KR&ceid=KR:ko)
  3. Limit: 아침부터 너무 많은 뉴스는 피곤하죠? 3~5개 정도로 제한해 줍니다.

만약 특정 키워드(예: "부동산", "AI", "주식") 뉴스만 보고 싶다면 구글 뉴스 검색 결과의 RSS 주소를 넣으면 됩니다. 이게 바로 나만의 맞춤형 뉴스 큐레이션이죠!

 

4단계: 텔레그램으로 예쁘게 보내기

이제 수집한 날씨와 뉴스 정보를 예쁘게 포장해서 보낼 차례입니다.

  1. Telegram 노드를 추가합니다.
  2. Credentials: @BotFather를 통해 발급받은 봇 토큰을 입력합니다.
  3. Chat ID: 메시지를 받을 본인의 Chat ID를 입력합니다. (userinfobot 등을 통해 확인 가능)
  4. Text: 여기에 n8n의 강력한 기능인 Expression(표현식)을 사용합니다. 날씨 노드와 뉴스 노드에서 나온 데이터를 조합해 보세요.
Plaintext
 
굿모닝! ☀️ 오늘의 모닝 브리핑입니다.

🌡 날씨 정보
- 상태: {{$node["HTTP Request"].json["weather"][0]["description"]}}
- 기온: {{$node["HTTP Request"].json["main"]["temp"]}}°C

📰 주요 뉴스
1. {{$node["RSS Feed Read"].json[0]["title"]}}
   🔗 {{$node["RSS Feed Read"].json[0]["link"]}}

2. {{$node["RSS Feed Read"].json[1]["title"]}}
   🔗 {{$node["RSS Feed Read"].json[1]["link"]}}

3. {{$node["RSS Feed Read"].json[2]["title"]}}
   🔗 {{$node["RSS Feed Read"].json[2]["link"]}}

오늘도 활기찬 하루 보내세요! 💪

 

(팁: Loop 노드를 사용하면 뉴스 개수가 변동되어도 유동적으로 처리할 수 있지만, 초보자 분들은 위처럼 직접 지정하는 방식이 직관적입니다.)

 

 

 

 

마무리: 흩어진 정보를 한곳으로 모으는 힘

 

이제 워크플로우를 저장하고 'Active' 상태로 변경해 주세요.

내일 아침부터는 핸드폰을 켜서 앱을 이리저리 오갈 필요 없이, 텔레그램 메시지 하나로 세상 돌아가는 소식과 날씨를 파악할 수 있습니다.

 

이 워크플로우가 익숙해지면 '환율 정보'를 추가하거나, '매일 아침 유튜브 인기 영상'을 크롤링해 올 수도 있겠죠?

 

n8n과 함께 여러분의 상상력을 자동화해 보세요.

댓글