728x90

요청하신 대로 Level 구분 없이 모든 내용을 **N화(N회차)**로 순차적으로 나열하고, 학습 목표를 명확히 했습니다. 서론은 최소화하고 실습 코드를 중심으로 구성됩니다.
1️⃣ 개발 환경 준비 및 기본 연동
- 1화: 프로젝트 준비 및 텔레그램 봇 생성
- NestJS 기본 프로젝트 초기화 및 환경 변수($\text{.env}$) 설정
- BotFather를 통해 $\text{API}$ 토큰 발급
- 2화: 텔레그램 라이브러리 통합
- $\text{NestJS}$ 친화적인 라이브러리($\text{e.g., Telegraf}$) 설치 및 $\text{Module}$ 설정
- $\text{Bot}$ 인스턴스를 $\text{Service}$로 주입받는 기본 구조 구성
- 3화: Polling 방식으로 첫 메시지 처리 예제
- $\text{Polling}$ 설정으로 봇을 로컬에서 구동
- /start 명령어에 환영 메시지를 응답하는 핸들러 구현
2️⃣ Webhook 전환 및 사용자 입력 처리
- 4화: Webhook 방식으로 전환 및 로컬 테스트
- $\text{NestJS}$의 $\text{HTTP}$ 서버를 이용해 **$\text{Webhook}$ 경로 설정**
- $\text{ngrok}$을 사용하여 로컬에서 $\text{Webhook}$ 테스트 환경 구축
- 5화: 명령어 핸들링 및 텍스트 패턴 반응
- /echo, /help 등 정형화된 커맨드 핸들러 구현
- 특정 키워드(예: "안녕", "정보")에 반응하는 $\text{RegExp}$ 패턴 처리 예제
- 6화: Inline/Reply Keyboard를 이용한 메뉴 구현
- 사용자에게 버튼 형태의 메뉴를 제공하는 $\text{Reply Keyboard}$ 구현
- 메시지 하단에 버튼이 달리는 $\text{Inline Keyboard}$ 구현
3️⃣ 심화 로직 및 NestJS 고급 기능 활용
- 7화: Callback Query 처리 및 사용자 상호작용
- $\text{Inline Keyboard}$ 클릭 시 발생하는 **$\text{Callback Query}$**를 받아 처리
- 사용자의 메시지 수정($\text{editMessageText}$) 또는 경고($\text{answerCallbackQuery}$) 구현
- 8화: 비즈니스 로직 Service 분리 및 DI 활용
- 텔레그램 $\text{Update}$ 핸들러($\text{Controller}$)에서 핵심 비즈니스 로직을 $\text{Custom Service}$로 분리
- $\text{NestJS}$ **의존성 주입($\text{Dependency Injection}$)**을 활용하여 $\text{Service}$ 연동
- 9화: TypeORM으로 사용자 상태 및 데이터 관리
- **$\text{TypeORM}$**을 이용해 $\text{PostgreSQL}$ 또는 $\text{MySQL}$ 연결 설정
- 텔레그램 사용자 $\text{ID}$와 $\text{Chat ID}$를 $\text{Database}$에 저장하고 조회하는 예제
- 10화: NestJS Guard를 사용한 관리자 권한 부여
- 특정 사용자 $\text{ID}$만 명령어(`e.g., /status`)를 실행하도록 제한하는 **$\text{Custom Guard}$** 구현 및 적용
728x90
'Nest.js를 배워보자' 카테고리의 다른 글
| ✨ Prisma 7과 NestJS, MySQL로 시작하기: 차세대 ORM 가이드 (1) | 2025.12.09 |
|---|---|
| 💡 NestJS에서 Gateway란? (0) | 2025.12.05 |
| 📢 NestJS: 멀티 WebSocket 서버 운용 전략 (4000번 & 4001번) (0) | 2025.12.05 |
| NestJS와 텔레그램 연동 (0) | 2025.12.03 |
| Next.js 서버 헬스 모니터링: 안정적인 서비스 운영을 위한 필수 전략 (0) | 2025.12.03 |