GPT 봇 및 ChatGPT 활용한 텔레그램 연동 크몽 외주 알림 프로그램 만들기

GPT 봇 및 ChatGPT 활용한 텔레그램 연동 크몽 외주 알림 프로그램 만들기

GPT 봇 및 ChatGPT 활용한 텔레그램 연동 크몽 외주 알림 프로그램 만들기

부업 및 외주 프로젝트 탐색을 자동화하는 효율적인 방법

오늘 만들 것
부업 및 외주 프로젝트 탐색을 자동화하는 효율적인 방법

프리랜서 활동이나 부업을 진행할 때 가장 번거로운 일 중 하나는 실시간으로 등록되는 신규 프로젝트를 확인하는 과정입니다. 여러 아웃소싱 플랫폼에 수시로 접속하여 새로고침 버튼을 누르는 작업은 몰입을 방해하고 일상적인 피로도를 높이는 주된 요인이 됩니다. 이러한 수동 작업에서 오는 비효율성을 개선하기 위해, 인공지능 기술과 메신저 플랫폼을 결합한 스마트 알림 장치를 구축해 볼 수 있습니다. 인공지능과의 대화를 통해 단계적으로 코드를 작성해 나가면 프로그래밍 지식이 부족한 초보자라도 의뢰 정보를 실시간으로 수신하는 자동화 환경을 손쉽게 마련할 수 있습니다. 반복적인 탐색 업무를 자동화하여 시간을 확보하고, 중요한 비즈니스 제안에 집중할 수 있는 파이프라인 설계 방식을 소개합니다.

구현에 필요한 필수 요소

자동 알림 프로그램을 완성하는 데 필요한 준비 단계는 무척 단출합니다. 복잡한 서버 인프라나 대규모 데이터베이스 없이도 파이썬 실행 환경과 대화형 AI 도구인 ChatGPT, 그리고 메시지 수신처 역할을 할 텔레그램만 있으면 충분합니다. 구체적으로는 데이터 처리와 가공 방향을 지시할 OpenAI API 키와, 생성된 메시지를 개인 단말기로 전달하는 데 사용될 봇 토큰 및 수신 대상 대화방 식별값(Chat ID)이 요구됩니다. 이러한 식별값 정보들은 봇 관리자와의 대화를 통해 몇 가지 설정만으로 빠르게 확보할 수 있어, 실질적인 개발 작업으로 진입하기 위한 기초 토대로 삼기 좋습니다.

1
대상 웹페이지 데이터 수집 설계

자동화의 첫걸음은 타겟이 되는 공개 웹페이지로부터 신규 프로젝트 정보를 주기적으로 긁어오는 수집 모듈을 만드는 것입니다. BeautifulSoup 라이브러리를 활용하면 웹페이지의 HTML 문서에서 원하는 정보를 손쉽게 파싱할 수 있습니다. 인공지능에게 구체적인 뼈대 코드를 요청하여 기본 구조를 생성하는 것으로 작업을 시작합니다.

AI에게 보낸 프롬프트
파이썬 BeautifulSoup 라이브러리를 사용해서 크몽의 '의뢰 찾기' 페이지의 신규 의뢰 목록을 수집하는 함수를 작성해줘. 의뢰 제목, 카테고리, 예산 정보를 가져와서 리스트로 반환하는 간단한 코드만 먼저 짜줘.

대화형 AI에 명령어를 전송하면 타겟 웹 주소 설정과 필요한 HTTP 요청 헤더가 기재된 기초 코드가 출력됩니다. 대형 플랫폼의 서버는 비정상적인 로봇 접근을 제한하는 경우가 많으므로, 요청 헤더에 실제 웹 브라우저의 접속 정보인 User-Agent를 포함해야 안정적인 데이터 수집이 가능합니다. 이처럼 요청 간격을 조절하는 지연 시간을 확보하여 정교하게 스크립트를 작성하면, 웹 데이터가 터미널 화면에 정상적으로 파싱되어 출력되는 모습을 관찰할 수 있습니다.

2
메시지 전송 모듈 구현

원하는 정보를 성공적으로 추출했다면, 이를 일상에서 사용하는 메신저로 실시간 송신할 차례입니다. 텔레그램의 API 규격은 단순한 HTTP 요청 형태를 띠고 있어 파이썬의 requests 모듈과 연동하여 간편하게 메시지 발송 기능을 구현하기 적절합니다. 앞서 작성한 데이터 파싱 코드에 메시지 전송 로직을 붙여넣기 위해 다음과 같이 추가 지시를 작성합니다.

AI에게 보낸 프롬프트
이전 코드에 텔레그램으로 수집한 의뢰를 발송하는 send_telegram_message 함수를 덧붙여줘. 의뢰 제목, 예산, 마감일을 깔끔하게 줄바꿈해서 보여주는 텔레그램 템플릿으로 출력되게 가공해줘.

수정된 스크립트가 실행되면 새로 등록된 프로젝트 정보가 지정한 대화방으로 바로 전송되는 시스템이 구성됩니다. 텍스트 가독성을 더 끌어올리기 위해 텔레그램이 지원하는 마크다운 서식을 활용할 수도 있습니다. 제목을 굵은 서식으로 강조하고 예산 정보에 통화 기호 및 천 단위 쉼표를 부여하는 식의 편집을 가미하면 화면에서 한눈에 필요한 정보를 식별하기가 무척 수월해집니다.

3
필터링 조건 설정 및 중복 수신 방지

수집과 전송 로직이 연동되었더라도 필터링 조건이 없으면 매번 모든 의뢰 정보가 쏟아져 들어오게 됩니다. 이는 오히려 불필요한 알림 피로를 유발하므로, 내가 강점을 가진 분야의 특정 단어를 검출하고 이미 전송된 정보는 제외하는 캐싱 규칙을 설계해야 합니다. 로컬 텍스트 파일 기반의 데이터 관리 메커니즘을 추가해 봅니다.

AI에게 보낸 프롬프트
의뢰 제목에 '리액트' 또는 '웹개발' 같은 지정 키워드가 들어간 의뢰만 필터링하는 기능을 추가해줘. 그리고 이미 발송한 의뢰의 ID는 local_cache.txt 파일에 한 줄씩 기록해서, 다음 요청 때 중복으로 발송하지 않게 방어해줘.

이 기능을 추가하면 스크립트가 주기적으로 동작하더라도 로컬 디렉터리에 생성된 파일에 저장된 이전 식별자 목록을 먼저 대조하게 됩니다. 이미 전송된 의뢰는 제외되고 오직 새로 등록된 고유 키워드 조건에 일치하는 데이터만 필터링을 거쳐 발송됩니다. 결과적으로 불필요한 트래픽 낭비와 잦은 메신저 호출을 예방하여 알림 피로를 줄여줍니다.

연동 과정의 주요 지연 현상 해결 방안

자동 알림 시스템을 구동하다 보면 웹페이지에서 정보를 가져오지 못하거나 403 Forbidden 같은 네트워크 응답 오류가 일어날 수 있습니다. 이는 웹사이트 서버가 자동화 스크립트의 접근 패턴을 제한해서 발생하는 대표적인 현상입니다. 이 문제를 방어하려면 HTTP 헤더에 웹 브라우저처럼 보이도록 User-Agent 값을 대입해야 합니다. 웹페이지의 보안 수준이 한층 더 높다면 정적 크롤러 대신 Playwright 같은 라이브러리를 이용해 브라우저 환경을 모방하는 방법도 고려할 만합니다.

만약 프로그램 상에서는 메시지가 전송되었다고 뜨지만 모바일 화면에서 확인되지 않는다면, 대개 인증 토큰 값이 틀렸거나 봇과의 최초 대화 설정이 생략된 경우입니다. 텔레그램에서 봇을 새로 개설한 다음 반드시 대화 시작 버튼을 눌러 채팅방을 활성화해야 정상적으로 통신이 완료됩니다. 식별 아이디 값이 음수로 시작하는 채널인지 혹은 양수의 개인 대화방인지 꼼꼼히 구별하는 절차도 도움이 됩니다.

또한 로컬 디렉터리에 캐시 목록이 저장되는데도 동일한 의뢰가 거듭 전송된다면 HTML의 노드 트리 구조가 소폭 변경되었을 확률이 큽니다. 데이터에서 고유 ID를 떼어내는 CSS 선택자 영역의 규칙이 정확하게 매핑되는지 점검해 보고, 문자열 가공 범위가 파싱 대상 태그와 어긋나지 않았는지 디버깅을 거쳐야 원치 않는 중복 발송을 완벽히 통제할 수 있습니다.

기능 고도화를 위한 확장 방향성

한 걸음 더

구축한 알림 구조는 단독 실행에 그치지 않고 여러 비즈니스 파이프라인과 통합하여 가치를 더욱 키울 수 있습니다. 수집된 프로젝트의 요구 사양 요약본을 대형 언어 모델에 다시 입력하여 내 전문 분야와의 일치성을 점수로 매기거나, 관련 이력 정보를 바탕으로 자동으로 제안 메일의 초안까지 구상해 주는 자동 작성 모듈로 확대하는 모델을 생각해 볼 수 있습니다. 메신저 채널을 여럿으로 나누어 중요도가 매우 높은 건만 따로 분류하여 알리는 다중 채널 전송 체계를 적용하는 것도 한 가지 접근 방식입니다.

관련 검색어

  • 🔍 ChatGPT 사용법
  • 🔍 ChatGPT 비교
  • 🔍 Telegram 사용법
  • 🔍 Telegram 비교
  • 🔍 크몽 알림 봇 사용법
  • 🔍 크몽 알림 봇 비교

댓글 쓰기

다음 이전