매일 아침 10시 텔레그램 자동 브리핑, 클로드코드로 직접 만든 후기
할 일 앱을 몇 개 갈아타다 포기하고, 아침 브리핑을 클로드코드로 직접 짰다. 텔레그램 봇이 매일 10시에 메시지 2개를 보낸다. 어제 수집한 자료 요약 하나, 오늘 할 일 목록 하나.
만든 건 거창하지 않다. 정해진 시각에 스크립트가 깨어나서, 텔레그램 봇으로 메시지를 두 개 보낸다. 그게 다다. 근데 이걸 왜 앱 놔두고 직접 만들었냐가 이 글의 절반이고, 만들고 나서 하루 만에 뭘 뜯어고쳤나가 나머지 절반이다. 코드를 보여주려는 글은 아니고, 비슷한 걸 고민하는 사람이 "아 이 정도면 되는구나" 감을 잡으라고 쓴다.
📑 목차
- 1. 앱을 몇 개 써봤는데 하나도 안 맞았다
- 2. 아침 10시에 도착하는 메시지 2개
- 3. 왜 하나로 안 묶고 둘로 나눴나
- 4. 배선은 두 조각뿐이었다
- 5. 한쪽이 막혀도 다른 쪽은 도착하게 갈라놨다
- 6. 첫 발송 다음 날 바로 줄였다
- 7. 정리, 누가 만들면 좋은가
▲ 아침 10시에 텔레그램으로 도착한 브리핑 메시지 2개 (자체 제작 이미지)
1. 앱을 몇 개 써봤는데 하나도 안 맞았다
할 일이 너무 많다. 회사 일도 있고, 따로 굴리는 프로젝트도 있고, 읽어야 할 자료는 계속 쌓인다. 머리로 관리가 안 되는 지점이 분명히 있더라.
그래서 할 일 관리 앱을 몇 개 써봤다. 유명한 것들 다 써봤는데, 하나씩 걸렸다. 어떤 건 폰에서 넣은 게 노트북에서 애매하게 보이고, 어떤 건 구조를 앱이 정해준 틀대로만 쓰게 만든다. 결정적으로, 아침에 내가 앱을 열어야 보인다. 안 열면 없는 거나 마찬가지고. 그게 제일 컸다.
내가 원한 건 세 가지였다. 첫째, 폰이든 컴퓨터든 어디서 열어도 자유롭게 추가하고 고치고 지울 수 있을 것. 둘째, 업무 시작할 때 알아서 나한테 밀어줄 것. 셋째, 그 메시지를 채팅 맨 위에 고정해두고 하루 종일 다시 볼 수 있을 것.
여기에 하나 더 붙였다. 어제 내가 저장해둔 자료들 요약도 같이 받고 싶었다. 저장만 해놓고 안 읽으면 그냥 쓰레기통이잖아. 아침에 쭉 훑으면서 오늘 반영할 게 있는지 보려고 넣었다.
읽으려고 저장한 게 아니라 저장하려고 저장한 거였다는 걸, 요약을 받고 나서야 알았다.
참고로 예전에 코워크로 정기 리포트를 받아본 글을 쓴 적 있는데(코워크 /schedule 자동 리포트 편), 그건 성격이 다르다. 그쪽은 바깥 자료를 모아 요약해서 리포트로 받는 쪽이고, 이번 건 내가 직접 관리하는 관심사 요약과 내 할 일 정리다. 남이 정리해주는 뉴스가 아니라, 내가 넣어둔 것만 내 앞에 다시 갖다놓는 물건이라고 보면 된다.
2. 아침 10시에 도착하는 메시지 2개
지금 오는 건 이렇다.
첫 번째 메시지는 어제 수집한 자료 요약이다. 전날 저장해둔 것들을 짧게 줄여서 목록으로 준다. 제목만 나열하지 않고 한 줄씩 요약을 붙인 게 핵심인데, 제목만 보면 "아 그거" 하고 넘기게 되고 한 줄이라도 내용이 붙어야 손이 간다. 자료가 어떻게 모이는지는 텔레그램으로 던지면 노트가 되는 편에 이미 적어놨으니 여기선 넘어가겠다.
두 번째 메시지는 할 일 목록이다. 이건 채팅에 고정해둔다. 텔레그램은 메시지를 채팅 맨 위에 핀으로 붙여둘 수 있고, 봇이 보낸 메시지도 붙일 수 있다. 그래서 아침에 한 번 오고, 그 뒤로는 스크롤을 얼마나 하든 위에 남아 있다.
목록에는 오늘 처리할 것과 몇 주 뒤에 볼 것이 같이 들어간다. 급한 것만 보면 중장기 건은 계속 밀리다가 어느 날 갑자기 발등에 떨어지더라. 둘을 한 화면에 놓는 게 목적이었다. 빠뜨리는 걸 줄이려고.
할 일 자체는 그냥 텍스트 파일이다. 폰에서도 열리고 노트북에서도 열린다. 앱이 아니라 파일이라서 어디서든 고칠 수 있고, 스크립트는 아침에 그 파일을 읽어서 보내주기만 한다.
3. 왜 하나로 안 묶고 둘로 나눴나
처음엔 하나에 다 담으려고 했다. 자료 요약 밑에 할 일 붙이면 되지 싶었지.
근데 고정 때문에 갈렸다. 핀은 하나만 의미가 있다. 자료 요약까지 같이 고정되면 위쪽이 길어져서, 정작 봐야 할 할 일이 접힌다. 요약은 아침에 한 번 읽고 흘려보내면 되는 거고, 할 일은 하루 종일 다시 보는 거다. 쓰임이 다른데 한 덩어리로 묶으면 둘 다 애매해진다.
나눠놓으니 부수 효과가 하나 더 있었다. 알림이 두 번 온다는 것. 처음엔 성가실 줄 알았는데, 하나는 읽는 거고 하나는 붙잡는 거라 오히려 구분이 됐다. 요약 알림이 뜨면 커피 마시면서 읽고, 할 일 알림은 위로 올려두고 하루를 시작한다.
▲ 할 일 메시지는 고정, 자료 요약은 흘려보내는 구조 (자체 제작 이미지)
4. 배선은 두 조각뿐이었다
막상 만들고 보니 부품이 두 개였다. 정해진 시각에 깨우는 것, 그리고 메시지를 보내는 것.
정해진 시각에 깨우는 건 맥에 이미 들어 있는 기능을 썼다. launchd라고, 맥이 프로그램을 정해진 시각이나 조건에 자동 실행해주는 기본 장치다. 설정 파일에 "매일 10시 0분"을 적어두면 그 시각에 스크립트를 돌려준다. 별도 프로그램을 깔 필요가 없고, 맥이 켜져 있으면 알아서 돈다.
메시지를 보내는 쪽은 텔레그램 봇이다. 봇은 텔레그램 앱 안에서 BotFather라는 공식 봇한테 말을 걸어 만들면 되고, 만들면 토큰이라는 긴 문자열을 준다. 그 토큰으로 메시지 보내기를 호출하는 게 끝이다. 여기서 어려운 건 없었고, 오히려 헷갈린 건 내 채팅방 번호를 알아내는 거였는데 그것도 클로드코드한테 물어보니 확인용 스크립트를 하나 만들어줬다.
시킬 때는 바로 짜라고 하지 않고 계획부터 받았다. 이 습관은 프롬프트 편에 정리해둔 그대로다. 계획을 보면 "아 이건 내가 생각한 거랑 다르네" 하는 게 초반에 걸러진다. 그리고 토큰은 코드에 박지 말고 따로 빼달라고 했다. 이런 자동 실행물은 권한을 어디까지 열지도 미리 정해두는 게 낫고, 그 부분은 권한 세팅 편에 따로 적어놨다.
전체 만드는 데 걸린 시간은 반나절 정도. 대부분은 코드가 아니라 "뭘 받고 싶은지" 정하는 데 썼다.
5. 한쪽이 막혀도 다른 쪽은 도착하게 갈라놨다
이게 제일 실용적인 교훈이었다.
처음 버전은 스크립트 하나가 순서대로 돌았다. 자료를 모아 요약하고, 그다음 할 일을 읽어서 보내고. 근데 요약 단계에서 한 번 걸리니까 뒤에 있던 할 일까지 통째로 안 왔다. 아침에 아무것도 안 오길래 뭐지 했지.
원인을 보니 당연했다. 요약은 변수가 많다. 어제 저장한 게 하나도 없을 수도 있고, 요약을 맡긴 쪽이 응답을 안 줄 수도 있다. 반면 할 일은 파일 하나 읽어서 그대로 보내는 거라 실패할 구석이 거의 없다. 튼튼한 걸 약한 것 뒤에 세워놨으니, 약한 게 넘어질 때 같이 넘어진 거다.
그래서 둘을 갈랐다. 각자 따로 돌고, 하나가 실패해도 다른 하나는 그냥 간다. 그리고 실패했을 땐 조용히 넘어가지 않게 했다. "어제 수집분 요약을 못 만들었다, 이유는 이거다" 한 줄이라도 오게. 아무것도 안 오는 것과 실패했다고 오는 것은 완전히 다르다. 전자는 내가 며칠 뒤에나 알아차린다.
자동화에서 제일 무서운 건 에러가 아니라 무음이다. 이건 이번 건 말고도 여기저기서 계속 확인하게 된다.
▲ 순차 연결과 분리 실행의 실패 범위 비교 (자체 제작 이미지)
6. 첫 발송 다음 날 바로 줄였다
첫 메시지를 받고 나서 좀 웃겼다. 내가 설계할 땐 알차다고 생각했는데, 실제로 폰에서 보니까 길었다.
섹션을 4개 넣었었다. 어제 요약, 오늘 할 일, 이번 주 예정, 그리고 참고 링크 묶음. 폰 화면에서 스크롤을 세 번 넘게 하니까 뒤쪽은 그냥 안 읽게 되더라. 그래서 다음 날 3개로 줄였다. 정확히는 참고 링크 묶음을 뺐다. 그건 필요할 때 내가 찾아 들어가면 되는 거였고, 매일 아침에 들이밀 이유가 없었다.
컨펌 라인도 뺐다. "확인했으면 답장 주세요" 같은 걸 넣어놨는데, 내가 나한테 답장할 리가 없잖아ㅋㅋ 처음엔 뭔가 있어 보여서 넣었던 것 같다.
바꾸고 나니 메시지가 폰 한 화면에 거의 들어온다. 스크롤 없이 읽히는 게 생각보다 중요했다. 여기서 배운 건, 이런 건 설계 단계에서 아무리 고민해도 한 번 받아보기 전엔 모른다는 거다. 만들고 하루 굴려보고 줄이는 게 훨씬 빠르다.
지금도 완성이라고 생각하진 않는다. 요약 품질은 아직 들쭉날쭉하고, 자료가 많은 날은 목록이 길어져서 눈이 미끄러진다. 이건 다음에 손볼 자리로 남겨뒀다.
7. 정리, 누가 만들면 좋은가
솔직하게 먼저 말하면, 앱으로 해결되는 사람은 앱 쓰는 게 낫다. 만들 필요도 없고, 유지할 필요도 없다. 잘 만든 할 일 앱들은 진짜 잘 만들어져 있고, 나도 안 맞아서 나왔지 나빠서 나온 게 아니다.
직접 만들 만한 사람은 이런 쪽이다. 할 일을 앱 틀이 아니라 그냥 파일로 굴리고 싶은 사람. 폰이든 노트북이든 어디서든 열어서 고치고 싶은 사람. 그리고 무엇보다, 아침에 자기가 열어봐야 보이는 구조가 이미 몇 번 실패한 사람. 나는 세 개 다 해당됐다.
처음부터 크게 잡을 필요는 없었다. 정해진 시각에 메시지 하나 보내는 것부터 되면, 거기에 뭘 담을지는 그다음에 붙이면 된다. 나도 요약은 나중에 붙였고, 실패 분리는 한 번 데이고 나서 넣었다. 순서가 거꾸로였어도 어차피 같은 자리에 도착했을 것 같다.
혹시 비슷한 걸 만들다가 비용이 신경 쓰인다면 비용 아끼는 습관 편도 같이 보면 된다. 이런 자동 실행물은 매일 도니까 습관 하나가 한 달 단위로 티가 난다.
3줄 요약 - 앱이 안 맞아서 아침 브리핑을 직접 만들었다. 어디서든 고칠 수 있고, 아침에 알아서 밀어주는 게 목적이었다. - 매일 10시에 텔레그램 메시지 2개. 어제 수집분 요약은 읽고 흘리고, 할 일 목록은 채팅에 고정해서 하루 종일 본다. - 요약과 할 일을 분리해 한쪽이 실패해도 다른 쪽은 가게 했고, 첫 발송 다음 날 섹션을 4개에서 3개로 줄였다.
머리로 할 일을 붙잡고 있느라 아침마다 뭔가 새는 느낌이면, 하나부터 받아보는 걸로 시작해도 된다. 나는 이걸로 아침에 헤매는 10분을 줄였다. 그거면 충분하더라.
이 글은 내가 직접 만들어 쓰는 방식을 정리한 경험 기록이고, 정보 제공이 목적이다. 작성 시점(2026년 8월) 기준이라 요금·기능·명령 방식은 공식 페이지에서 바뀔 수 있으니 결제나 설치 전에 원문을 한 번 확인하는 걸 권한다. 특정 제품 사용을 권유하거나 결과를 보장하지 않는다.
참고한 공식 자료 - 클로드코드 개요: code.claude.com/docs - 맥 정해진 시각 자동 실행(launchd): Apple Developer 문서 - 텔레그램 봇 만들기(BotFather): core.telegram.org/bots/features - 텔레그램 메시지 보내기: Bot API sendMessage - 텔레그램 메시지 고정: Bot API pinChatMessage