안녕하세요 케이입니다.

지난 글에서는 뉴스 검색 결과를 텔레그램에서 보기 편하도록 제목과 필요한 정보만 정리해서 보내는 방법을 알아봤습니다.

이번에는 뉴스 자동수집 시스템에서 가장 중요한 기능 중 하나인 자동 실행을 설정하는 방법을 알아보겠습니다.

지금까지 만든 시스템은 Google Apps Script에서 직접 실행하면 네이버 뉴스 검색 API에서 데이터를 가져오고, 정리된 결과를 텔레그램으로 전송하는 구조였습니다.

하지만 매일 직접 실행 버튼을 눌러야 한다면 완전한 자동화라고 하기는 어렵습니다.

Google Apps Script의 시간 기반 트리거를 이용하면 매일 정해진 시간에 프로그램이 자동으로 실행되도록 설정할 수 있습니다.

이 기능을 이용하면 컴퓨터를 켜두거나 매일 프로그램을 직접 실행하지 않아도 관심 있는 뉴스를 텔레그램으로 받아볼 수 있습니다.

Google Apps Script 트리거란 무엇인가

트리거는 특정 조건이 되었을 때 Google Apps Script의 함수를 자동으로 실행하도록 만드는 기능입니다.

뉴스 자동수집에서는 시간 기반 트리거를 사용할 수 있습니다.

예를 들어 매일 아침 뉴스 수집 함수를 실행하도록 설정하면 Google Apps Script가 지정된 일정에 따라 자동으로 프로그램을 실행합니다.

프로그램이 실행되면 설정해둔 뉴스 키워드를 검색하고 결과를 정리한 뒤 텔레그램으로 전송합니다.

사용자가 매번 직접 실행할 필요가 없습니다.

뉴스 자동수집에서는 이 트리거 기능이 자동화의 핵심 역할을 합니다.

뉴스 자동수집의 전체 흐름

시간 기반 트리거를 적용하면 전체 과정은 다음과 같습니다.

정해진 시간이 됩니다.

Google Apps Script가 뉴스 수집 함수를 실행합니다.

등록된 키워드를 확인합니다.

네이버 뉴스 검색 API에서 최신 뉴스를 가져옵니다.

중복 뉴스를 제외합니다.

필요한 뉴스 제목과 내용을 정리합니다.

텔레그램 메시지를 만듭니다.

텔레그램 봇으로 메시지를 전송합니다.

사용자는 텔레그램에서 결과를 확인합니다.

이 모든 과정이 자동으로 진행되기 때문에 매일 같은 검색어를 직접 검색하는 시간을 줄일 수 있습니다.

자동 실행 전에 수동 테스트부터 해야 한다

시간 기반 트리거를 설정하기 전에 가장 먼저 확인해야 할 것은 기존 뉴스 수집 기능이 정상적으로 작동하는지입니다.

자동화를 먼저 설정하면 오류가 발생했을 때 원인을 찾기 어려울 수 있습니다.

먼저 Google Apps Script에서 뉴스 수집 함수를 직접 실행합니다.

그리고 다음 항목을 확인합니다.

뉴스 검색 API가 정상적으로 호출되는지

원하는 검색 키워드 결과가 나오는지

중복 제거 기능이 정상적으로 작동하는지

텔레그램 메시지가 제대로 정리되는지

실제로 텔레그램으로 메시지가 도착하는지

이 과정이 모두 정상적으로 작동하는 것을 확인한 뒤 자동 실행을 추가하는 것이 좋습니다.

어떤 함수를 자동 실행할지 정한다

Google Apps Script의 트리거는 특정 함수를 실행하도록 설정합니다.

따라서 뉴스 자동수집 과정 전체를 실행하는 대표 함수를 하나 만들어두는 것이 관리하기 편합니다.

예를 들어 뉴스 검색, 결과 정리, 텔레그램 전송을 하나의 실행 흐름으로 연결한 함수가 있다고 생각해보겠습니다.

시간 기반 트리거에서는 이 함수를 선택합니다.

그러면 지정된 시간이 되었을 때 Google Apps Script가 해당 함수를 실행하고 전체 뉴스 수집 과정이 시작됩니다.

함수 이름은 나중에 봤을 때 어떤 역할을 하는지 알기 쉽게 만드는 것이 좋습니다.

예를 들어 뉴스 수집, 일일 뉴스 실행, 뉴스 자동 전송과 같이 의미를 쉽게 파악할 수 있는 이름을 사용할 수 있습니다.

시간 기반 트리거를 설정하는 방법

Google Apps Script에서는 프로젝트의 트리거 메뉴에서 새로운 트리거를 추가할 수 있습니다.

트리거를 추가할 때는 몇 가지 항목을 선택하게 됩니다.

먼저 실행할 함수를 선택합니다.

그다음 이벤트 유형에서 시간 기반 실행을 선택합니다.

이후 원하는 실행 주기를 설정합니다.

예를 들어 다음과 같은 방식으로 사용할 수 있습니다.

매시간

하루에 한 번

특정 요일마다

일정한 간격마다

개인용 뉴스 수집이라면 하루에 한 번 정도로 시작하는 것이 관리하기 편합니다.

뉴스를 받는 시간은 언제가 좋을까

자동수집 시간을 정할 때는 자신의 생활 패턴을 기준으로 정하는 것이 좋습니다.

예를 들어 출근 전에 뉴스를 확인한다면 아침 시간대에 실행할 수 있습니다.

업무를 시작하면서 확인한다면 업무 시작 시간보다 조금 전에 설정할 수 있습니다.

저녁에 하루 동안의 뉴스를 정리해서 확인하고 싶다면 저녁 시간에 실행하는 방법도 있습니다.

중요한 것은 뉴스가 도착했을 때 실제로 확인할 수 있는 시간으로 설정하는 것입니다.

알림이 너무 이른 새벽에 오거나 확인하지 않는 시간에 계속 쌓이면 자동수집의 장점이 줄어듭니다.

트리거의 실행 시간은 정확히 일치하지 않을 수 있다

Google Apps Script의 시간 기반 트리거를 사용할 때 알아둘 점이 있습니다.

설정한 시간과 실제 실행 시간이 항상 정확하게 일치하는 방식은 아닐 수 있습니다.

예를 들어 특정 시간대에 실행하도록 설정하면 해당 시간 범위 안에서 실행될 수 있습니다.

따라서 뉴스 자동수집을 특정 분까지 정확하게 맞춰야 하는 시스템보다는 매일 아침이나 저녁처럼 일정한 시간대에 실행하는 자동화에 적합합니다.

개인용 뉴스 수집이라면 몇 분 정도의 차이는 실제 사용에 큰 문제가 되지 않는 경우가 많습니다.

하루에 몇 번 실행하는 것이 좋을까

뉴스 자동수집을 만들면 처음에는 가능한 자주 새로운 뉴스를 받고 싶을 수 있습니다.

하지만 실행 횟수가 많다고 항상 좋은 것은 아닙니다.

하루에도 여러 번 검색하면 같은 뉴스가 반복해서 검색될 가능성이 높아집니다.

API 호출 횟수도 증가합니다.

텔레그램 알림도 많아집니다.

개인적으로 뉴스를 확인하는 목적이라면 처음에는 하루 한 번으로 시작하는 것이 좋습니다.

실제로 사용해보고 정보가 부족하다고 느껴진다면 오전과 오후 두 번으로 늘릴 수 있습니다.

중요한 뉴스가 자주 발생하는 분야라면 실행 횟수를 더 늘릴 수도 있습니다.

중복 제거 기능과 함께 사용하는 것이 좋다

시간 기반 트리거를 사용하면 중복 뉴스 제거 기능의 중요성이 더 커집니다.

예를 들어 오전과 오후 두 번 뉴스 검색을 실행한다고 생각해보겠습니다.

오전에 검색된 기사가 오후에도 검색 결과에 포함될 가능성이 높습니다.

중복 제거 기능이 없다면 같은 기사를 다시 받게 됩니다.

그래서 자동 실행을 설정하기 전에 이전에 전송한 뉴스 정보를 확인하는 기능을 함께 적용하는 것이 좋습니다.

새로운 기사만 남겨서 텔레그램으로 보내면 자동 실행 횟수를 늘려도 불필요한 알림을 줄일 수 있습니다.

새로운 뉴스가 없으면 전송하지 않아도 된다

시간 기반 트리거는 설정된 시간이 되면 자동으로 실행됩니다.

하지만 매번 새로운 뉴스가 있는 것은 아닙니다.

예를 들어 프로그램이 오전에 실행되었는데 검색 결과가 모두 이전에 받았던 뉴스일 수 있습니다.

이 경우 새로운 뉴스 목록이 없다면 텔레그램 메시지를 전송하지 않도록 만들 수 있습니다.

자동화가 실행되었다고 해서 반드시 메시지를 보내야 하는 것은 아닙니다.

새로운 정보가 있을 때만 알림을 보내도록 설정하면 텔레그램이 불필요한 메시지로 가득 차는 것을 막을 수 있습니다.

여러 키워드도 한 번에 자동 실행할 수 있다

지난 글에서 여러 검색 키워드를 하나의 목록으로 관리하는 방법을 알아봤습니다.

시간 기반 트리거를 적용하면 지정된 시간이 되었을 때 등록된 모든 키워드를 순서대로 자동 검색할 수 있습니다.

예를 들어 다음과 같은 키워드를 사용한다고 가정해보겠습니다.

ChatGPT

AI 자동화

AI 에이전트

로컬 AI

생성형 AI

트리거가 실행되면 Google Apps Script가 각 키워드를 순서대로 검색합니다.

중복된 뉴스를 제외하고 결과를 키워드별로 정리합니다.

마지막으로 하나의 텔레그램 메시지 또는 여러 메시지로 나누어 전송할 수 있습니다.

자동수집이 실행되지 않았다면 트리거부터 확인한다

뉴스가 평소에는 잘 오다가 특정 날짜에 들어오지 않았다면 여러 원인을 확인할 수 있습니다.

먼저 Google Apps Script에서 트리거가 정상적으로 등록되어 있는지 확인합니다.

트리거가 삭제되거나 비활성화된 경우 자동 실행이 이루어지지 않을 수 있습니다.

다음으로 실행 기록을 확인하는 것이 좋습니다.

함수가 실행되었지만 중간에 오류가 발생했을 수도 있습니다.

뉴스 API 요청이나 텔레그램 전송 과정에서 문제가 발생하면 실행은 시작되었지만 최종 메시지가 전달되지 않을 수 있습니다.

실행 기록을 확인하면 오류를 찾기 쉽다

Google Apps Script에서는 이전 실행 기록을 확인할 수 있습니다.

시간 기반 트리거로 실행된 작업도 기록이 남습니다.

뉴스가 오지 않았다면 해당 시간에 프로그램이 실제로 실행되었는지 확인할 수 있습니다.

실행 자체가 없었다면 트리거 설정을 확인합니다.

실행되었지만 실패했다면 오류가 발생한 부분을 확인합니다.

실행이 성공했는데 텔레그램 메시지가 없다면 새로운 뉴스가 없었는지 또는 텔레그램 전송 조건을 확인합니다.

이런 방식으로 문제 범위를 좁히는 것이 좋습니다.

코드 수정 후에도 자동 실행을 확인한다

뉴스 자동수집 시스템을 사용하다 보면 검색 키워드나 메시지 형식을 수정하게 됩니다.

코드를 변경한 다음에는 수동으로 한 번 실행해보는 것이 좋습니다.

수동 실행이 정상적으로 끝난 것을 확인한 뒤 다음 자동 실행 결과도 확인합니다.

특히 함수 이름을 변경했다면 기존 트리거가 어떤 함수를 실행하도록 설정되어 있는지 확인해야 합니다.

트리거에 등록된 함수가 삭제되거나 이름이 바뀌면 자동 실행에 문제가 생길 수 있습니다.

API 사용량도 함께 고려해야 한다

트리거 실행 횟수를 늘리면 뉴스 검색 API 호출 횟수도 증가합니다.

예를 들어 검색 키워드가 10개이고 하루에 세 번 실행하면 하루 동안 여러 차례 API 요청이 발생합니다.

따라서 자동 실행 주기를 정할 때는 사용하는 API의 요청 한도와 이용 조건도 고려하는 것이 좋습니다.

개인용으로 사용하는 경우에는 실제로 뉴스를 확인할 수 있는 횟수만큼만 실행하는 것이 효율적입니다.

필요 이상으로 자주 검색하면 API 사용량과 중복 처리 작업만 늘어날 수 있습니다.

자동수집 시간을 목적에 따라 나누는 방법

뉴스 수집 목적에 따라 실행 시간을 다르게 구성할 수도 있습니다.

예를 들어 일반적인 관심 뉴스라면 아침에 한 번 받을 수 있습니다.

업무 관련 뉴스라면 업무 시작 전과 오후에 한 번씩 받을 수 있습니다.

빠르게 변하는 기술 분야라면 조금 더 자주 확인하는 방식도 가능합니다.

중요한 것은 실행 횟수를 무조건 늘리는 것이 아니라 실제 활용 목적과 맞추는 것입니다.

매일 아침 뉴스 브리핑 형태로 사용할 수 있다

시간 기반 자동 실행 기능을 활용하면 뉴스 수집 봇을 개인용 아침 브리핑처럼 사용할 수 있습니다.

예를 들어 등록한 키워드가 다음과 같다고 생각해보겠습니다.

ChatGPT

AI 자동화

AI 에이전트

로컬 AI

매일 아침 Google Apps Script가 자동으로 이 키워드를 검색합니다.

중복 결과를 제거합니다.

각 분야의 최신 뉴스를 몇 개씩 선택합니다.

텔레그램 메시지로 정리해서 전송합니다.

사용자는 텔레그램만 열어보면 관심 분야의 주요 뉴스를 한 번에 확인할 수 있습니다.

뉴스 사이트를 여러 곳 방문하거나 검색어를 반복해서 입력할 필요가 없어집니다.

자동화는 단순할수록 관리하기 쉽다

처음 뉴스 자동수집 시스템을 만들 때 기능을 계속 추가하고 싶어질 수 있습니다.

하지만 실제로 오래 사용하려면 구조가 단순한 것이 관리하기 편합니다.

예를 들어 다음 정도만 있어도 충분히 실용적인 시스템이 됩니다.

관심 키워드 자동 검색

최신 뉴스 몇 개 선택

중복 뉴스 제거

읽기 좋은 메시지로 정리

하루 한 번 자동 실행

텔레그램 전송

이 기본 구조를 안정적으로 운영한 뒤 필요하면 새로운 기능을 추가하는 것이 좋습니다.

뉴스 자동수집 자동 실행 흐름 정리

전체 과정을 다시 정리해보겠습니다.

Google Apps Script에 뉴스 수집 함수를 준비합니다.

수동 실행으로 정상 작동하는지 확인합니다.

시간 기반 트리거를 생성합니다.

실행할 뉴스 수집 함수를 선택합니다.

원하는 실행 주기를 설정합니다.

정해진 시간이 되면 Google Apps Script가 자동으로 실행됩니다.

뉴스 API에서 데이터를 가져옵니다.

중복 뉴스와 불필요한 결과를 제외합니다.

텔레그램 메시지를 만듭니다.

새로운 뉴스가 있다면 텔레그램으로 전송합니다.

이 과정이 매일 반복되면 개인용 뉴스 자동수집 시스템의 핵심 자동화가 완성됩니다.

정리

Google Apps Script의 시간 기반 트리거를 이용하면 뉴스 자동수집 프로그램을 매번 직접 실행하지 않아도 됩니다.

정해진 시간이 되면 Google Apps Script가 뉴스 수집 함수를 자동으로 실행하고, 검색 결과를 정리한 뒤 텔레그램으로 전달할 수 있습니다.

처음에는 하루 한 번 정도로 시작하는 것이 좋습니다.

자동 실행 전에 반드시 수동으로 뉴스 검색과 텔레그램 전송 기능이 정상적으로 작동하는지 확인하는 것도 중요합니다.

여러 번 실행할 계획이라면 중복 제거 기능을 함께 사용해서 이미 받은 뉴스가 반복해서 전송되지 않도록 하는 것이 좋습니다.

새로운 뉴스가 없다면 메시지를 보내지 않는 방식으로 설정하면 불필요한 알림도 줄일 수 있습니다.

이제 키워드를 직접 검색하지 않아도 매일 정해진 시간에 관심 뉴스를 자동으로 받아볼 수 있는 기본적인 시스템이 완성되었습니다.

다음 글에서는 뉴스 API와는 다른 방식인 RSS를 이용해서 새로운 뉴스와 콘텐츠를 자동으로 수집하고 텔레그램으로 받아보는 방법을 알아보겠습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

글쓴이

bluekei9@keinote.com

관련 게시물

코딩 하나도 모르던 제가 결국 개인 뉴스 자동화 시스템을 만든 전체 과정

안녕하세요 케이입니다. 처음 이걸 시작할 때만 해도 텔레그램 봇이 정확히 어떻게 움직이는지 잘 몰랐습니다. API라는 말은 많이 들어봤지만 정확히 어떤 역할을 하는지도...

모두 읽어보기

텔레그램 봇 코드를 수정했는데 반영이 안 돼서 직접 원인을 찾아봤습니다

안녕하세요 케이입니다. 텔레그램 봇을 만들면서 꽤 답답했던 문제가 하나 있었습니다. 분명 Google Apps Script에서 코드를 수정했습니다. 저장도 했습니다. 그런데 텔레그램에서 테스트해보면 예전...

모두 읽어보기

텔레그램 뉴스봇이 갑자기 멈췄을 때 초보자인 제가 확인한 순서

안녕하세요 케이입니다. 앞에서는 Google Apps Script의 트리거를 이용해서 정해진 시간에 뉴스가 자동으로 오도록 만들어봤습니다. 자동으로 뉴스가 도착하니까 상당히 편했습니다. 그런데 며칠 사용하다...

모두 읽어보기

매번 검색하기 귀찮아서 자주 보는 뉴스 키워드를 저장해봤습니다

안녕하세요 케이입니다. 앞에서는 텔레그램으로 오는 뉴스 메시지를 조금 더 보기 좋게 꾸며봤습니다. 제목은 굵게 만들고, 설명은 짧게 붙이고, 긴 링크도 기사 보기처럼...

모두 읽어보기

텔레그램 뉴스 메시지가 너무 지저분해서 보기 좋게 꾸며봤습니다

안녕하세요 케이입니다. 앞에서는 텔레그램 뉴스봇에 뉴스 제목뿐만 아니라 간단한 설명까지 같이 표시해봤습니다. 기능 자체는 만족스러웠습니다. 제목만 볼 때보다 내용을 훨씬 빨리 파악할...

모두 읽어보기

뉴스 제목만 오던 텔레그램 봇에 간단한 내용까지 표시해봤습니다

안녕하세요 케이입니다. 앞에서는 텔레그램 뉴스봇에서 관심 없는 단어가 들어간 뉴스는 자동으로 제외하도록 만들어봤습니다. 뉴스 개수도 줄이고, 같은 기사도 어느 정도 걸러내고, 원하는...

모두 읽어보기