카톡봇 실습 삽질기: 신버전 apk 설치부터 FastAPI 연동으로 카톡봇 대화목록 대쉬보드 구현하기

소개

3주차 카톡봇 과제를 수행하면서 단순히 따라하기보다는 직접 손을 움직이며 실험을 통해 개념을 익히자는 마음으로 임했습니다. 처음에는 낯선 개념이라 어려웠지만, 실제 실습을 통해 하나씩 감을 잡아갔습니다.

진행 방법

✅ 실제폰에서 메신저봇 R, apk 설치부터 시작

  • 휴대폰 Google Play 스토어에 있는 카톡봇 앱은 구버전입니다 ❌

  • 따라서 아래 링크에서 최신 버전(apk)을 직접 설치해야 합니다: 👉 MessengerBotTeam Releases

  • 제가 설치한 버전:

    messengerbot-0.7.39a-20250627-5ffba652-release.apk

  • 에러내용

에뮬레이터에서 실험할때는 성공했는데, 실제폰 연결하고, 똑같은 코드를 adb push했는데, 계속 에러가 뜹니다. 카톡봇 객체를 못가져온다고!!!!!!!!!!! 3일정도 해메다가 신버전 깔아서 해결

Runtime Error(CatBot_Multiturn)
ReferenceError: "BotManager" is not defined. (CatBot_Multiturn#24) at CatBot_Multiturn:24
캣봇 멀티텀 - 스크린샷
  • 현우님의 코드 기준으로도 런타임 오류 없이 작동하려면 이 최신버전이 필수입니다.

✅ 카톡봇 계정과 채팅방 설정

  • 카톡봇 계정을 위해 구입한 서브폰(실제폰)에서 카카오톡 봇 계정을 새로 만들고,

  • 내가 평소에 사용하는 휴대폰의 기존 채팅방에 해당 봇을 초대합니다.

  • 카톡봇은 수동적인 사람입니다. 누군가가 초대를 해줘야합니다. 저는 이 개념이 첨에 이해가 안가서 힘들었어요

    한국어 채팅창 스크린샷

✅ FastAPI 대시보드 서버 구축

프롬프트는 아래 내용을 주고 했습니다.

### 🗺️ 5단계 로드맵 (Part B와 동일 순서)
#### 1단계: 데이터베이스 설계 (30분) 📐

미션: "구글클라우드vm 서버 SQLite에 카톡 3요소 테이블 생성"

- 클로드에게: "카톡봇 데이터용 SQLite 테이블 3개 설계해줘"

- 코덱스에게: "메신저봇 제약사항 고려한 ID 전략과 구글클라우드vm 서버 경로 알려줘"

#### 2단계: FastAPI REST 레이어 (45분) 🌐

미션: "구글클라우드vm 서버에서 데이터 수집/조회 API 완성"

- 클로드에게: "FastAPI 라우터와 Pydantic 모델 설계해줘"

- 코덱스에게: "구글클라우드vm 서버 배포하고 실제 DB 연결 코드 작성해줘"

#### 3단계: 메신저봇 연동 (45분) 📱

미션: "실제폰 메신저봇 → 구글클라우드vm 서버 자동 전송"

- 코덱스에게: "메신저봇 JS에서 구글클라우드vm 서버로 HTTP 전송하는 코드 작성해줘"

- 클로드에게: "네트워크 오류 처리와 재시도 로직 설계해줘"

#### 4단계: 기본 검증 (20분) 📊

미션: "실제 카톡방에서 데이터 수집 기본 검증"

- 코덱스에게: "adb push 후 실제 테스트하고 로그 확인해줘"

- 클로드에게: "API 엔드포인트 정상 응답 확인해줘"

#### 5단계: 인터랙티브 위자드 (필수/40분) 🎮

미션: "!채팅데이터 명령어로 수집된 데이터를 직관적으로 확인"

- 클로드에게: "3단계 드릴다운 UI 설계해줘 (방목록→사용자목록→대화내역)"

- 코덱스에게: "소유자 인증과 상태관리 로직 구현해줘"

이번 과제의 핵심은 내 카톡 데이터 → 로컬대쉬보드로의 전환이었습니다. 이를 위해 다음과 같은 시스템을 직접 구축했습니다 👇

🔧 시스템 구성 요약

[실제폰 - 메신저봇]

↓ HTTP POST

[GCP VM 서버 - FastAPI (35.216.21.181:9000)]

↓ SQLite

[katokbot.db 데이터베이스]

↓ HTTP GET

[로컬 PC 브라우저 - 대시보드 UI]

📌 주요 구현 내용

  • FastAPI 서버를 GCP VM에 배포하고 SQLite3로 데이터 저장

  • 메신저봇 JS 코드에서 HTTP POST로 대화 데이터를 실시간 전송

  • 대시보드 UI에서 채팅방 목록 → 사용자 → 대화 내역까지 드릴다운 탐색 가능

  • 백엔드 연동 로그 확인, 실시간 통계 확인, 세션 초기화 기능 구현

  • 직접 작성한 주요 API:

    POST /api/chat/message

    GET /api/dashboard/stats/overview

    GET /api/dashboard/rooms

    GET /api/dashboard/rooms/{room}/users

    POST /api/chat/history

    DELETE /api/chat/session/{room}/{user}

  • 봇과의 연동도 CatBot_Multiturn.js에서 직접 수정 및 테스트했고, adb push와 컴파일까지 진행했습니다 ✅

결과와 배운 점

한국 앱 스크린샷
한국어 채팅 앱 스크린샷
  • apk 버전 문제로 인해 초반에 삽질만 3일은 한 것 같습니다 😅

  • 하지만 이 경험 덕분에 “진짜 실습이 왜 중요한지” 체감했습니다.

  • FastAPI 서버 배포와 대시보드 구축은 처음이었지만, 단계별 문서화, 로그 확인, Claude/코덱스 활용으로 한 단계씩 해결해 나갈 수 있었습니다.

  • 의도적으로라도 나 자신을 속이며 ‘이해한 척’ 하며 해보다 보면, 어느 순간 구조가 눈에 들어옵니다.

  • 이렇게 클로드와 함꼐 작업한 내용을 FastAPI 대시보드 서버 구축 가이드문서로 정리하라고 하고 프로젝트 docs폴더에 정리해두면 다음에는 시행착오를 줄일수 있겠죠

  • GCP VM 서버 가동시키는 방법도 잘 몰겠어서, 그부분도 md로 저장해서 프로젝트에 넣어두고 명령어 참조해서 사용합니다. 그럼 커서창 터미널에서 ssh로 접속해서 편합니다.

도움 받은 글

  • 🔗 MessengerBotTeam Releases

  • Claude / Codex를 통한 API 설계 및 배포 조언

1
1개의 답글

👉 이 게시글도 읽어보세요