제미나이 핵심지표 요약하시는 거보고 따라 만든 Apps script용 코드
서울꼬북

Lv.1 서울꼬북 (1.♡.121.54)

2026년 2월 25일 PM 05:31 · 수정됨(21:51)

조회 1,107 공감 0

Beambob님께서 제미나이에 시키는 거 보고, 코드를 만들어 봤습니다.

https://damoang.net/free/5849065


구글 Apps Script을 사용해서 텔레그램으로 발송하는 겁니다.

중간에 막히면 제미나이에게 물어보시면 됩니다.


실행 방법


1단계: Gemini API 키 발급

Google AI Studio에 접속해서 'Get API key'로 새로운 프로젝트에서 API 키를 생성합니다. 무료 계정도 충분합니다.

https://aistudio.google.com/


2단계: 텔레그램 연동을 위한 사전 준비

봇 생성: 텔레그램에서 @BotFather를 검색하여 채팅을 시작하고, /newbot 명령어로 봇을 만듭니다.

봇 이름, 유저네임(중복 주의)을 입력하고 botToken을 생성합니다.


채팅 ID 확인: 생성한 봇(t.me/"봇 유저네임")을 클릭해서 아무 메시지나 보낸 후,

브라우저 주소창에 https://api.telegram.org/bot + botToken + /getUpdates를 입력합니다.

예시) https://api.telegram.org/bot1234567891:AAAAA~~~~/getUpdates 형태

출력되는 내용 중 "message_id":3,"from":{"id":4434567891," 형태의 숫자가 chatId입니다.


3단계: Google Apps Script 작성 및 트리거 설정

Google Apps Script 접속 후 **'새 프로젝트'**를 생성합니다.

https://script.google.com/


4단계: 맨 밑에 코드를 복사하여 붙여넣고 저장합니다. (API 키 부분에 복사한 키를 넣으세요.)


5단계: 트리거로 발송 시점을 정해놓습니다.

함수선택: sendDailyGeminiReport

이벤트 소스: 시간 기반

시간 기반 유형: 일별 타이머

시간 선택: 원하는 발송 시점


프로그래밍은 전적으로 제미나이가 했고 정상 실행까지 확인했습니다.

저도 잘 모르니 질문은 가급적 제미나이에게 물어보시는게 빠릅니다.

보고 받고 싶은 내용을 변경하시고 싶으시면 중간 const promptText = 이후 부분을 수정하시면 됩니다.


<이하 코드>


[code]function sendDailyGeminiReport() {

const apiKey = "구글 제미나이 API 입력";

const botToken = "텔레그램 봇 토큰ID 입력";

const chatId = 텔레그램 사용자 ID입력;

const now = new Date();

const formattedDate = Utilities.formatDate(now, "GMT+9", "yyyy-MM-dd HH:mm");

// 검색 시 활용할 명확한 오늘 날짜 문자열

const todayString = Utilities.formatDate(now, "GMT+9", "yyyy년 MM월 dd일");


// 검색 프롬프트 ` ` 사이 자유롭게 수정 가능

const promptText = `

[Search Query Instruction]

반드시 'google_search' 도구를 사용하여 오늘(${todayString})의 최신 데이터를 실시간으로 검색하라.

검색되지 않는 과거의 기억을 절대 사용하지 마라.


[역할 설정]

너는 금융 및 국제 정세 전문 분석가이며, 나의 '주인님'에게 매일 핵심 지표를 보고하는 비서이다. 모든 응답은 한국어로 작성하며, 예의 바르고 격식 있는 톤을 유지하라.


[시스템 지시: 실시간 외부 데이터 수집 모드]

오늘(${formattedDate})의 실제 시장 수치를 Google Search로 검색하여 작성하라.


[데이터 소스 및 제약 조건]

객관적 사실 우선: 1st-party 공식 문서(사업보고서, 공시, 법적 문건 등)와 고신뢰도 언론사 보도만을 근거로 한다.

출처 배제: 모든 온라인 커뮤니티 및 블로그의 정보는 2차 가공물이라 할지라도 절대 포함하지 않는다.

최신성: 현재 날짜와 시간 기준 2일 이내의 사건만 기재한다..

시각 요소 제한: 차트나 이미지를 생성하지 말고 오직 텍스트로만 구성한다.


[보고서 구성 및 가독성 최적화 양식]

1. 텔레그램 마크다운 기호인 '**'를 절대 사용하지 마라.

2. 각 섹션 제목 앞에는 반드시 관련 이모지를 붙여 시인성을 높여라.

- 🇺🇸📈[미국 증시], 🇰🇷📈[한국 증시], 💰[환율], 🇺🇸[미국 뉴스], 🇰🇷[한국 뉴스], 🌍[글로벌 뉴스]

- 항목 제목은 ▶ 특수문자, 세부 내용은 “-“로 시작하라.


[보고서 구성 및 양식]

헤드라인: 🔔 [${formattedDate}] 기준 주요 뉴스

도입부: "안녕하세요. 주인님. 현재 시각 주요 뉴스를 업데이트해 드립니다." (이후 간략한 시장 총평 1문장)


1. 필수 조사 6개 항목 (타이틀 30자 / 요약 150자 이내 준수)

[미국 증시] 뉴욕(DOW), 나스닥(NASDAQ) 종가 및 등락

[한국 증시] 현재 시간 기준 코스피(KOSPI), 코스닥(KOSDAQ) 종가 및 등락(KST 오전 9시 이전 전일 종가, KST 오전 9시에서 오후 3시 30분 사이 실시간 종가, KST 오후 3시 30분 이후 최종)

[환율] 원/달러 환율 실시간 현재가

[미국 뉴스] 중요 뉴스 3건 (개별 항목당 타이틀/요약 구분)

[한국 뉴스] 중요 뉴스 3건 (개별 항목당 타이틀/요약 구분)

[글로벌 뉴스] 미국/한국 제외 중요 뉴스 3건 (개별 항목당 타이틀/요약 구분)


2. 핵심 요약 분석

위 모든 항목을 종합하여 가장 중요한 내용 위주로 300자 이내의 주관적 분석을 제시한다.

분석 내용이 추측이나 예측을 포함할 경우 반드시 ⚠와 함께 '주관적 정보'임을 강조하라.


3. 마무리

응답 생성 날짜와 시간(KST)을 하단에 표시하라.

`;


//  gemini-2.5-flash 모델

const url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=" + apiKey;

const payload = {

"contents": [{ "parts": [{ "text": promptText }] }],

"tools": [{ "google_search": {} }]

};


try {

const response = UrlFetchApp.fetch(url, {

"method": "post",

"contentType": "application/json",

"payload": JSON.stringify(payload),

"muteHttpExceptions": true

});

const result = JSON.parse(response.getContentText());

if (result.candidates && result.candidates[0].content) {

let reportContent = result.candidates[0].content.parts[0].text;


// 텔레그램 메시지 전송

const telegramUrl = "https://api.telegram.org/bot" + botToken + "/sendMessage";

const telegramPayload = {

"chat_id": chatId,

"text": reportContent

};


UrlFetchApp.fetch(telegramUrl, {

"method": "post",

"contentType": "application/json",

"payload": JSON.stringify(telegramPayload),

"muteHttpExceptions": true

});

}

} catch (e) {

console.error("실행 중 오류: " + e.toString());

}

}[/code]

댓글 (3)

  • 븜븜맨 Lv.1

    02.25 · 106.♡.3.66

    오~~ 이런거 좋아요~ 검색해보고 유튜브도 뒤져보고 따라해보겠습니다~
    -컴맹 공돌이-
  • 기밀요원

    기밀요원 Lv.1

    02.25 · 121.♡.209.232

    와아~ 뭔지 하나도 모르겠어요 ㅋㅋㅋ @.@ ;;
    하지만 AI가 '금융 및 국제 정세 전문 분석가이며, 매일 핵심 지표를 보고하는 비서' 역할인 거 잖아요?!!
    오오~ 일반인(?)도 쉽게 붙여넣기 할 수 있게 만들어 주세요~;;
  • 14mm3

    14mm3 Lv.1

    02.25 · 121.♡.45.191

    잘 활용하겠습니다. 감사합니다.

댓글을 작성하려면 이 필요합니다.