GitHub Actions로 서버 없이 운영하는 독일어 학습 텔레그램 봇
/learn a1- A1 레벨에서 10개 단어 즉시 학습/learn a2- A2 레벨에서 10개 단어 즉시 학습/learn b1- B1 레벨에서 10개 단어 즉시 학습/learn b2- B2 레벨에서 10개 단어 즉시 학습- 각 레벨별로 이미 배운 단어는 자동 제외
/learned Hallo, Der Supermarkt, Danke- 개별 단어 학습 완료 기록/stats- 레벨별 학습 진행도 확인/help- 명령어 도움말- 월요일 8am 자동 학습 가이드 발송
- 매 학습마다 랜덤 명언 전송
- 예문, 동의어, 반의어 포함
- 신규 가입자 즉시 환영 메시지
/start
→ 사용법 안내 메시지를 받습니다
/learn a1
→ A1 레벨에서 안 배운 단어 10개 즉시 출력
/learn a2
/learn b1
→ 각 레벨별로 10개씩 학습 가능
/learned Hallo, Der Supermarkt, Danke
→ 해당 단어들이 다음부터 제외됨
/stats
출력 예시:
📊 학습 통계
✅ 학습 완료: 150개
📝 남은 단어: 2854개
📈 진행도: 5%
---
📚 레벨별 진행도
🟢 A1: 80/1020 (7%)
🟡 A2: 50/1006 (4%)
🔵 B1: 20/978 (2%)
---
📅 마지막 학습: 2024-12-10
계속 화이팅! 💪
매주 월요일 8am에 자동으로 학습 가이드가 발송됩니다.
/help
.
├── main.go
├── vocabulary/
│ ├── a1_words.json
│ ├── a2_words.json
│ ├── b1_words.json
│ └── sentences.json
├── chat_ids.json # 자동 생성됨
└── user_progress/ # 자동 생성됨
├── 123456_progress.json
└── 789012_progress.json
- 명령어 감지: 5분마다 새 명령어 확인
- 유저별 필터링: learned_words에 있는 단어 제외
- 레벨별 선택: 요청한 레벨에서 10개 랜덤 선택
- 중복 방지: Update ID로 이미 처리한 명령어 스킵
- 월요일 안내: 매주 월요일 8am에 사용법 자동 발송
- B2 레벨 추가
- 비즈니스/IT/건강 등 주제별 단어
- Spaced Repetition 알고리즘
- 주간/월간 복습 리포트
- 학습 연속 일수 (Streak) 기능
MIT