홈 / n8n 워크플로 템플릿 / OpenWeatherMap을 이용한 텔레그램 날씨 알림 워크플로우

OpenWeatherMap을 이용한 텔레그램 날씨 알림 워크플로우

Telegram Weather Workflow

이 워크플로우는 메시지에 의해 트리거될 때 OpenWeatherMap에서 현재 날씨 정보를 텔레그램 채팅으로 보냅니다. 베를린의 날씨 데이터를 검색하고, 날씨 상태, 온도, 체감 온도로 응답합니다.

Webhook노드 3개생산성텔레그램날씨API

워크플로 소개

Telegram 날씨 워크플로우 분석

**"Telegram 날씨 워크플로우"**라는 제목의 이 n8n 워크플로우 템플릿은 사용자 메시지에 응답하여 Telegram을 통해 실시간 날씨 업데이트를 제공하는 실용적인 자동화입니다. n8n의 통합 기능을 활용하여 Telegram 메시징과 OpenWeatherMap의 실시간 날씨 데이터를 연결함으로써 사용자는 채팅 인터페이스를 벗어나지 않고도 즉각적이고 개인화된 날씨 보고서를 받을 수 있습니다.

워크플로우 기능

이 워크플로우는 Telegram 봇으로 들어오는 메시지를 수신 대기하며, 메시지를 받으면 미리 정의된 도시(이 경우 독일 베를린)의 현재 날씨 정보를 OpenWeatherMap API에서 자동으로 검색합니다. 그런 다음 이 데이터를 자연어 메시지로 형식화하여 대화를 시작한 사용자에게 다시 보내므로, 상호작용적이고 반응성이 뛰어난 날씨 도우미 역할을 합니다.

주요 기능 및 역량

  • 이벤트 기반 트리거: 모든 Telegram 메시지에 의해 활성화되어 응답성을 보장합니다.
  • 실시간 날씨 데이터: 최신 날씨 조건 및 온도 판독값을 가져옵니다.
  • 동적 메시지 개인화: 데이터 표현식을 사용하여 실제 날씨 값으로 응답을 사용자 정의합니다.
  • 원활한 채팅 통합: 원래 발신자의 채팅 ID를 사용하여 자동으로 회신합니다.
  • 낮은 유지보수 및 완전 자동화: 배포 후 수동 입력 없이 지속적으로 실행됩니다.

주요 노드 및 목적

  1. Telegram 트리거

    • 유형: n8n-nodes-base.telegramTrigger
    • 목적: 워크플로우의 진입점 역할을 합니다. 들어오는 Telegram 업데이트를 수신 대기하고 새 메시지가 수신되면 워크플로우를 트리거합니다.
    • 구성: "메시지" 업데이트만 캡처하도록 설정되어 봇으로 전송된 모든 텍스트가 흐름을 활성화합니다.
    • 자격 증명: "Telegram"이라는 미리 구성된 Telegram 봇 API 자격 증명에 연결됩니다.
  2. OpenWeatherMap

    • 유형: n8n-nodes-base.openWeatherMap
    • 목적: 지정된 위치의 현재 날씨 데이터를 가져옵니다.
    • 구성: 온도, 체감 온도, 날씨 설명과 같은 세부 정보를 포함하여 "berlin,de"(독일 베를린)의 날씨를 검색하도록 하드코딩되었습니다.
    • 자격 증명: "OpenWeatherMap" 아래에 저장된 인증된 OpenWeatherMap API 키를 사용합니다.
  3. Telegram (보내기)

    • 유형: n8n-nodes-base.telegram
    • 목적: 대화를 시작한 사용자에게 형식화된 메시지를 다시 보냅니다.
    • 구성:
      • text 매개변수는 n8n의 표현식 구문을 사용하여 친근한 메시지에 날씨 데이터를 동적으로 삽입합니다.
      • chatId는 원래 메시지를 보낸 사람의 ID와 일치하도록 동적으로 설정되어 올바른 회신 라우팅을 보장합니다.
      • 가독성과 사용자 참여를 높이기 위해 이모티콘을 포함합니다.

사용 사례 및 이점

  • 개인 비서 봇: 날씨 예보와 같은 유용한 일일 정보를 제공하는 간단한 챗봇을 만드는 데 이상적입니다.
  • 고객 지원 도구: 날씨 맥락이 중요한 여행 또는 이벤트 계획 서비스를 지원하도록 확장할 수 있습니다.
  • 교육 프로젝트: API 통합, 이벤트 기반 워크플로우 및 동적 데이터 처리를 가르치는 데 훌륭합니다.
  • 홈 자동화 통합: 사용자가 채팅을 통해 환경 조건을 쿼리할 수 있는 더 큰 스마트 홈 시스템의 일부가 될 수 있습니다.

이점은 다음과 같습니다.

  • 실제 API를 사용한 빠른 응답 시간.
  • 높은 재사용성—다른 도시 또는 추가 날씨 지표에 맞게 조정할 수 있습니다.
  • 사용자 친화적인 출력으로 상호 작용 품질이 향상됩니다.
  • 명확한 노드 분리 및 직관적인 논리 덕분에 최소한의 설정이 필요합니다.

단계별 워크플로우 로직

  1. 트리거 단계:

    • 사용자가 연결된 Telegram 봇으로 메시지(예: "안녕" 또는 "날씨 가져와")를 보냅니다.
    • Telegram 트리거 노드가 이 메시지를 감지하고 워크플로우를 활성화하며 발신자의 채팅 ID를 포함한 전체 메시지 객체를 전달합니다.
  2. 데이터 검색 단계:

    • 워크플로우는 OpenWeatherMap 노드로 진행됩니다.
    • 이 노드는 OpenWeatherMap API에 HTTPS 요청을 보내 독일 베를린의 현재 날씨 데이터를 요청합니다.
    • 응답을 받으면 온도(main.temp), 체감 온도(main.feels_like), 날씨 조건(weather[0].description)과 같은 필드를 포함하는 구조화된 JSON을 출력합니다.
  3. 응답 생성 및 전달 단계:

    • Telegram (보내기) 노드가 다음으로 실행되며, 이전 두 노드의 데이터를 사용합니다.
      • 표현식을 사용하여 사람이 읽을 수 있는 메시지를 구성합니다.
        • 날씨 설명(예: "가벼운 비")을 삽입합니다.
        • 섭씨 단위의 실제 온도와 체감 온도를 추가합니다.
        • 톤을 향상시키기 위해 친근한 이모티콘을 포함합니다.
      • ={{$node["Telegram Trigger"].json["message"]["chat"]["id"]}}를 사용하여 수신자를 동적으로 설정하여 올바른 사용자에게 회신이 가도록 합니다.
    • 메시지는 동일한 Telegram 봇을 통해 전송되어 상호 작용 루프를 완료합니다.

요약하자면, 이 워크플로우는 n8n이 외부 API와 메시징 플랫폼을 연결하여 강력하고 대화형 자동화를 가능하게 하는 방법을 보여줍니다. 간단한 트리거를 지능적이고 데이터 기반 응답 시스템으로 전환합니다.

사용 방법: JSON을 다운로드한 뒤 n8n에서 “파일에서 가져오기”를 선택하세요.