블로그
텔레그램 알림 봇 만들기, 원하는 키워드가 뜰 때만 울리게 하는 법
2026년 8월 30일
한 줄 답변: 텔레그램 알림 봇은 "무엇을 감시할지(수집) → 언제 울릴지(판정) → 어디로 보낼지(발송)" 세 단계로 이루어진 작은 프로그램입니다. 봇 자체는 텔레그램의 BotFather에게 말을 걸어 무료로 몇 분 만에 만들 수 있고, 메시지 발송도 API 호출 한 번이면 끝납니다. 어려운 것은 가운데 단계인 판정입니다. 조건을 느슨하게 잡으면 하루에 수십 번 울려서 결국 알림을 꺼버리고, 빡빡하게 잡으면 정작 필요한 순간을 놓칩니다. 노마랩은 뉴스에 관심 키워드가 실릴 때만 알림을 보내는 종목캐치(2026년 6월 17일 구글 플레이 출시, 뉴스를 10분마다 수집해 키워드 매칭 후 발송, 밤 10시부터 아침 8시까지는 발송하지 않음)와, 주식 체결이 일어날 때 텔레그램으로 알려주는 오토트레이더(2026년 8월 16일 텔레그램 알림 탑재)를 직접 만들어 운영하고 있습니다. 이 글은 그 두 프로그램에서 "필요한 것만 울리게" 만들기 위해 실제로 정한 것들을 정리한 것입니다.
텔레그램 알림 봇은 어떤 구조로 동작하나요?
알림 봇이라고 하면 텔레그램 쪽 설정이 전부인 줄 아는 분이 많은데, 텔레그램은 마지막 단계의 "전달 통로"일 뿐입니다. 실제로 만들어야 하는 부분은 세 덩어리이고, 각각 준비물과 난이도가 다릅니다.
| 단계 | 하는 일 | 준비물 | 난이도 |
|---|---|---|---|
| 1. 감시(수집) | 뉴스·공시·웹페이지·내 프로그램의 상태를 정해진 주기로 가져온다 | 데이터 출처(API 또는 크롤링), 실행 주기 | 출처에 따라 크게 다름 |
| 2. 판정(필터) | 가져온 것 중 "지금 알려야 하는 것"만 고른다 | 키워드 목록, 제외어, 중복 방지, 시간대 규칙 | 가장 오래 걸리는 부분 |
| 3. 발송 | 텔레그램 봇 API로 메시지를 보낸다 | 봇 토큰, 챗ID | 가장 쉬움(API 호출 1회) |
노마랩이 종목캐치에서 실제로 잡은 주기가 감이 잡히는 예입니다. 뉴스 수집은 10분에 한 번(매시 0·10·20분처럼) 돌고, 알림 발송은 수집이 끝나도록 3분을 띄워 매시 3·13·23분처럼 뒤따라 돕니다. 수집과 발송을 한 덩어리로 묶지 않고 나눈 이유는 수집이 늦어지거나 실패해도 발송 쪽이 "최근 30분 안에 들어온 것"만 보고 알아서 따라가게 하려는 것입니다. 종목캐치는 알림 통로가 텔레그램이 아니라 앱 푸시(FCM)이지만, 1·2단계는 텔레그램 봇과 완전히 같고 3단계의 API 주소만 다릅니다.
텔레그램 봇을 만들려면 무엇이 필요한가요?
3단계(발송)에 필요한 것은 딱 두 가지, 봇 토큰과 챗ID입니다. 순서는 이렇습니다.
- 봇 만들기. 텔레그램에서 BotFather를 검색해 대화를 열고
/newbot을 보내면 봇 이름과 아이디(끝이 bot으로 끝나야 함)를 묻습니다. 답하면 긴 문자열의 토큰을 줍니다. 이 토큰이 곧 봇의 열쇠라서 남에게 보이면 안 됩니다. 비용은 없습니다. - 봇에게 먼저 말 걸기. 봇은 먼저 말을 걸 수 없습니다. 알림을 받을 사람이 봇을 찾아 아무 메시지나 한 번 보내야 합니다.
- 챗ID 알아내기. 봇이 받은 최근 메시지 목록(getUpdates)을 조회하면 그 안에 보낸 사람의 챗ID가 들어 있습니다. 오토트레이더에는 이 과정을 버튼 하나로 줄인 "내 챗ID 찾기"를 넣었습니다. 토큰을 저장한 뒤 버튼을 누르면 봇에게 온 마지막 메시지에서 챗ID를 꺼내 채워 주고, 대화가 없으면 "봇에게 아무 메시지나 먼저 보내세요"라고 안내합니다. 이 단계에서 막히는 분이 가장 많아서 만든 버튼입니다.
- 보내기. 봇 API의 sendMessage에 챗ID와 본문을 실어 보내면 끝입니다. 그룹이나 채널로 보내려면 봇을 그 방에 초대하고 그 방의 챗ID를 쓰면 됩니다.
오토트레이더에 넣으면서 정한 원칙이 하나 있습니다. 알림이 실패해도 본업(매매)을 막지 않는다. 텔레그램 서버가 느리거나 토큰이 잘못돼도 프로그램은 그냥 계속 돌고, 실패 사유는 설정 화면의 테스트 발송 버튼에서만 보여줍니다. 그래서 API 호출에 10초 제한을 걸고, 토큰과 챗ID가 비어 있으면 아예 조용히 건너뛰게 했습니다. 알림 기능이 붙은 프로그램이 알림 때문에 멈추는 일은 생각보다 흔해서 처음부터 이렇게 잡아야 합니다.
원하는 키워드가 뜰 때만 울리게 하려면 무엇을 걸러야 하나요?
여기가 알림 봇의 본체입니다. "키워드가 포함되면 보낸다"로 시작하면 첫날은 잘 되는 것 같다가 며칠 안에 알림을 끄게 됩니다. 종목캐치를 운영하면서 실제로 걸었던 거름망은 다섯 겹입니다.
- 수집어(무엇을 가져올지). 애초에 감시 범위를 좁힙니다. 종목캐치는 "특징주·테마주·상한가·시황·급등주·신고가·실적" 같은 수집어 목록으로 뉴스를 가져옵니다. 전체 뉴스를 다 긁어 놓고 거르는 것보다 들어오는 양 자체를 줄이는 편이 뒤 단계가 전부 가벼워집니다.
- 제외어(무엇을 버릴지). 키워드는 맞는데 엉뚱한 기사가 섞입니다. 야구단 기사, 시·군 행정 평가처럼 종목명이 우연히 들어간 것들을 제외어 목록으로 걸렀습니다.
- 신호어(진짜인지 확인). 가장 효과가 컸던 겹입니다. 기사에 증권 관련 신호어(주가·상승·매수 같은 말)가 하나도 없으면 저장 자체를 하지 않습니다. 이걸 넣기 전에는 "카카오"라는 키워드에 "카카오톡" 기사가 전부 걸려 들어왔습니다. 부분 문자열 매칭의 함정입니다.
- 중복 방지. 같은 뉴스를 같은 사람에게 두 번 보내지 않도록 발송 기록을 남기고 대조합니다. 언론사 여러 곳이 같은 내용을 받아쓰면 제목만 다른 기사가 줄줄이 들어오기 때문에, 발송 기록이 없으면 한 사건에 알림이 다섯 번 옵니다.
- 시간대 규칙. 밤 10시부터 아침 8시까지는 보내지 않습니다. 밤사이 들어온 뉴스는 아침 8시 이후 첫 발송에 몰아서 갑니다. 새벽 3시 알림 한 번이면 사용자는 알림을 끕니다.
정리하면, 알림이 시끄러운 문제의 답은 "키워드를 잘 고르는 것"이 아니라 키워드 앞뒤에 제외어·신호어·중복 방지·시간대를 붙이는 것입니다. 이 네 가지는 감시 대상이 뉴스든 재고든 공고든 똑같이 필요합니다. 상담 때 "키워드만 알려주시면 되죠?"라고 물으시면 저희가 제외어와 시간대부터 되묻는 이유입니다.
감시할 데이터는 어디서 가져오나요?
1단계(수집)의 난이도는 출처가 결정합니다. 출처는 크게 네 가지입니다.
- 공식 API가 있는 경우. 뉴스 검색 API, 공시(DART) API, 공공데이터 API처럼 제공자가 열어둔 창구입니다. 가장 안정적입니다. 종목캐치의 공시 알림은 DART 공시를 15분마다 가져오는데, 종목코드로 정확히 맞추기 때문에 뉴스와 달리 잘못 붙는 경우가 0건입니다.
- API가 없는 웹페이지. 공고 게시판, 재고 페이지, 경쟁사 가격표처럼 화면으로만 존재하는 것은 주기적으로 페이지를 읽어 이전과 달라진 부분을 찾아야 합니다. 금융기관 5곳 보도자료 수집기가 이 방식이고, 이때는 대상 사이트의 약관과 robots.txt를 먼저 확인합니다. 판단 기준은 크롤링 프로그램 제작 글에 정리해 두었습니다.
- 내 프로그램 안의 사건. 주문 체결, 결제 완료, 오류 발생처럼 이미 돌고 있는 프로그램에서 생기는 일입니다. 오토트레이더의 체결 알림이 여기 해당합니다. 수집 단계가 없어서 가장 빨리 만들어집니다.
- 엑셀·구글 시트 같은 파일. 담당자가 시트에 값을 넣으면 조건에 따라 알림이 가는 구조입니다. 수집은 쉽지만 "누가 언제 값을 바꿨는지"를 어떻게 알아챌지 정해야 합니다.
텔레그램·앱 푸시·문자 중 어느 채널이 맞나요?
3단계(발송) 통로는 바꿔 끼울 수 있습니다. 받는 사람이 누구냐에 따라 고릅니다.
| 채널 | 받는 사람 준비 | 건당 비용 | 맞는 경우 |
|---|---|---|---|
| 텔레그램 봇 | 텔레그램 설치 + 봇에게 먼저 말 걸기 | 없음 | 본인·팀 내부용, 개발자·투자자처럼 텔레그램이 익숙한 사용자 |
| 앱 푸시 | 내 앱 설치 + 알림 허용 | 없음(앱이 있어야 함) | 불특정 다수에게 서비스로 제공할 때(종목캐치 방식) |
| 문자(SMS) | 없음(전화번호만) | 건당 과금 | 앱 설치를 기대할 수 없는 고객·거래처 |
| 카카오 알림톡 | 없음(전화번호) | 건당 과금 + 템플릿 사전 승인 | 정형화된 안내(예약·배송)를 고객에게 |
사내용이나 본인용이면 텔레그램이 가장 빠르고 싸며, 같은 봇을 그룹방에 넣으면 팀 전체가 같이 받습니다. 반대로 알림을 받을 사람에게 "텔레그램 깔고 봇 찾아서 말 거세요"라고 부탁할 수 없는 관계(고객·거래처)라면 문자 쪽입니다. 문자는 발신번호 등록과 수신 동의가 따로 필요해서 대량 문자 자동 발송 글에 준비물을 정리해 두었습니다.
봇은 어디서 돌려야 하나요?
알림 봇은 켜져 있어야 의미가 있습니다. "어디서 24시간 돌 것인가"를 처음에 정하지 않으면 잘 만든 봇이 PC를 끄는 순간 멈춥니다.
- 내 PC. 오토트레이더처럼 어차피 장중에 켜두는 프로그램이면 그 안에 붙이는 것이 가장 단순합니다. 대신 PC가 꺼지면 같이 꺼집니다.
- 서버(클라우드). 24시간 감시가 목적이면 작은 서버나 서버리스 함수에 올립니다. 종목캐치는 데이터베이스의 예약 실행(cron)이 수집 함수를 10분마다 깨우는 구조로, 무료 플랜 범위 안에서 돌게 설계해 운영비 0원으로 유지하고 있습니다. 다만 무료 플랜은 일정 기간 활동이 없으면 잠드는 규칙이 있어 이를 막는 장치를 따로 걸어 두었습니다.
- 사무실의 남는 PC. 서버 요금이 부담되면 안 쓰는 PC를 켜두고 작업 스케줄러로 돌리는 방법도 있습니다. 정전·재부팅 뒤 자동 시작을 반드시 넣어야 합니다.
의뢰하기 전에 무엇을 정해두면 되나요?
다음 여섯 가지만 적어 보내주시면 구조와 견적이 바로 나옵니다. 특히 2번과 3번이 제작 기간을 좌우합니다.
- 무엇을 감시하나. 사이트 주소나 API 이름, 또는 "내 프로그램의 어떤 사건"인지.
- 울려야 하는 조건. 키워드 목록만이 아니라, 그 키워드가 들어가도 안 울려야 하는 경우(제외어)를 함께 주세요. 예시 기사 두세 개면 충분합니다.
- 얼마나 빨리 알아야 하나. 1분 안에 알아야 하는지, 10분이면 되는지, 하루 한 번 몰아 받아도 되는지. 주기가 짧을수록 서버 부담과 출처의 호출 제한 문제가 커집니다.
- 안 울려야 하는 시간. 야간, 주말, 휴장일처럼 알림을 멈출 때.
- 누가 받나. 본인 1명인지, 팀 그룹방인지, 사람마다 키워드가 다른지. 사람마다 다르면 키워드 등록 화면이 따로 필요합니다.
- 어디서 돌리나. 켜둔 PC인지, 서버인지. 서버면 월 운영비를 누가 어떻게 낼지.
비용은 어떻게 잡히나요?
텔레그램 발송 자체는 무료이고 코드도 짧아서, 금액을 가르는 것은 3단계가 아니라 1·2단계입니다. 공식 API에서 가져와 키워드 하나로 판정하는 봇과, API 없는 사이트를 크롤링해 제외어·중복 방지·시간대·사용자별 키워드까지 넣는 봇은 다른 작업입니다. 여기에 24시간 서버에 올리는지, 키워드를 사용자가 직접 바꾸는 화면이 필요한지, 감시 대상 사이트가 바뀌었을 때 손볼 여지를 잡아두는지가 더해집니다. 금액이 정해지는 원리는 자동화 프로그램 제작 비용이 정해지는 원리에 따로 정리해 두었습니다.
자주 묻는 질문
코딩을 몰라도 텔레그램 알림 봇을 만들 수 있나요?
봇을 만들고 토큰을 받는 것까지는 코딩 없이 됩니다. 그다음 "무엇을 감시해서 언제 보낼지"는 프로그램이 필요합니다. 감시 대상이 이미 알림 연동을 지원하는 서비스라면 설정만으로 되는 경우도 있으니, 무엇을 감시할지부터 알려주시면 프로그램이 필요한지 아닌지 먼저 말씀드립니다.
텔레그램 봇은 정말 무료인가요?
봇 생성과 메시지 발송은 텔레그램이 무료로 제공합니다. 비용이 생기는 곳은 봇을 24시간 돌릴 서버와, 감시할 데이터의 출처(유료 API)입니다.
여러 명이 같이 받으려면 어떻게 하나요?
그룹방이나 채널을 만들고 봇을 초대한 뒤 그 방의 챗ID로 보내면 방에 있는 모두가 받습니다. 사람마다 다른 키워드로 받고 싶다면 사람별 챗ID와 키워드를 저장하는 구조가 필요해서 작업이 한 단계 늘어납니다.
알림이 늦게 오거나 빠지면 어떻게 하나요?
대부분 수집 주기와 출처의 호출 제한 문제입니다. 종목캐치는 발송 단계가 "최근 30분 안에 들어온 것"을 매번 다시 훑기 때문에 수집이 한 번 늦어져도 다음 발송에 따라잡습니다. 이런 되짚기 규칙을 처음부터 넣어두면 빠지는 알림이 크게 줄어듭니다.
주식·코인 알림 봇도 만들어 주나요?
뉴스·공시·가격 조건 알림은 만듭니다. 다만 알림은 정보를 전달하는 것일 뿐 수익을 보장하지 않으며 투자 권유가 아닙니다. 종목캐치도 화면에 "투자 권유 아님"을 명시하고 있고, 남의 유료 정보를 무단으로 긁어 재전송하는 봇은 만들지 않습니다.
텔레그램 대신 카카오톡으로 받을 수 있나요?
카카오톡은 개인 간 메시지를 프로그램이 보내는 통로가 없고, 알림톡은 사업자 등록과 템플릿 승인이 필요합니다. 본인·팀 내부용이면 텔레그램이, 고객 대상이면 문자나 알림톡이 현실적인 선택입니다.
어디까지 걸러야 할지부터 같이 정해 드립니다
무엇을 감시하고 싶은지, 예시 두세 개만 보내주시면 공식 API로 될 일인지, 크롤링이 필요한지, 어떤 거름망이 필요한지부터 알려드립니다. 견적 확인은 무료입니다.