Files
telegram-bot-workers/README.md
kappa eee934391a feat(phase-5-3): Logger, Metrics, 알림 시스템 통합
Phase 5-3 모니터링 강화 작업의 통합을 완료했습니다.

변경사항:
- Logger 통합: console.log를 구조화된 로깅으로 전환 (9개 파일)
  - JSON 기반 로그, 환경별 자동 전환 (개발/프로덕션)
  - 타입 안전성 보장, 성능 측정 타이머 내장

- Metrics 통합: 실시간 성능 모니터링 시스템 연결 (3개 파일)
  - Circuit Breaker 상태 추적 (api_call_count, error_count, state)
  - Retry 재시도 횟수 추적 (retry_count)
  - OpenAI API 응답 시간 측정 (api_call_duration)

- 알림 통합: 장애 자동 알림 시스템 구현 (2개 파일)
  - Circuit Breaker OPEN 상태 → 관리자 Telegram 알림
  - 재시도 실패 → 관리자 Telegram 알림
  - Rate Limiting 적용 (1시간에 1회)

- 문서 업데이트:
  - CLAUDE.md: coder 에이전트 설명 강화 (20년+ 시니어 전문가)
  - README.md, docs/: 아키텍처 문서 추가

영향받은 파일: 16개 (수정 14개, 신규 2개)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-19 21:23:38 +09:00

80 lines
2.7 KiB
Markdown

# 🤖 Cloudflare Workers 텔레그램 AI 봇
> **Cloudflare Workers + D1 + OpenAI**를 활용한 서버리스 아키텍처 기반의 지능형 텔레그램 봇입니다.
> 사용자별 프로필을 자동으로 생성하고 기억하며, 예치금 관리 및 도메인 등록 등의 복잡한 작업을 수행할 수 있습니다.
![License](https://img.shields.io/badge/license-MIT-blue.svg)
![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue)
![Cloudflare Workers](https://img.shields.io/badge/Cloudflare-Workers-orange)
## 📚 문서 안내
- **[사용자 가이드 (User Guide)](./docs/USER_GUIDE.md)**: 봇 사용법, 명령어, 예치금/도메인 기능 설명
- **[시스템 아키텍처 (Architecture)](./docs/ARCHITECTURE.md)**: 기술 구조, 데이터 흐름, 프로필 시스템 상세
- **[개발자 가이드 (Dev Guide)](./CLAUDE.md)**: 개발 환경 설정, 컨벤션, 트러블슈팅
---
## ✨ 주요 기능
* 🧠 **AI 기반 개인화**: 대화 내용을 분석하여 사용자의 관심사와 맥락을 기억하는 **동적 프로필 시스템**
* 🛠 **Function Calling**: 날씨, 검색, 계산, 시간 등 다양한 도구를 자연어로 호출
* 💰 **예치금 시스템**: 은행 SMS 자동 파싱(AI 폴백 지원) 및 양방향 매칭을 통한 자동 충전
* 🌐 **도메인 관리**: 도메인 검색, 추천(AI), 가격 조회, 등록, DNS 관리 통합
***서버리스**: Cloudflare Workers 위에서 동작하여 별도의 서버 관리 불필요
---
## 🚀 빠른 시작 (배포 가이드)
### 1. 환경 설정
```bash
# 의존성 설치
npm install
# Wrangler 로그인
npx wrangler login
```
### 2. 데이터베이스 생성
```bash
npx wrangler d1 create telegram-conversations
npx wrangler d1 execute telegram-conversations --file=schema.sql
```
*생성된 `database_id`를 `wrangler.toml`에 반영해야 합니다.*
### 3. 비밀키 설정 (Secrets)
```bash
npx wrangler secret put BOT_TOKEN # Telegram Bot Token
npx wrangler secret put OPENAI_API_KEY # OpenAI API Key
npx wrangler secret put WEBHOOK_SECRET # Webhook 검증용 Secret
```
### 4. 배포 및 웹훅 연결
```bash
# 배포
npx wrangler deploy
# 웹훅 설정 (배포된 URL 사용)
curl https://<YOUR_WORKER_URL>/setup-webhook
```
---
## 🛠 기술 스택
| 분류 | 기술 | 비고 |
|------|------|------|
| **Runtime** | Cloudflare Workers | Serverless |
| **DB** | Cloudflare D1 | SQLite |
| **Cache** | Cloudflare KV | Rate Limiting |
| **AI** | OpenAI GPT-4o-mini | Logic & Tools |
| **Fallback** | Workers AI (Llama 3) | Backup AI |
---
## 🤝 기여 및 문의
버그 신고나 기능 제안은 Issue를 등록해주세요.
소스 코드는 **[Gitea](https://gitea.anvil.it.com/kaffa/telegram-bot-workers)**에서 관리됩니다.