Adaptive Learning Telegram Bot
# AdaBot
An **adaptive learning Telegram bot** — upload lecture notes and receive tailored lesson plans powered by NLP topic modeling.
## Features
- `/upload_notes` conversation flow for document uploads
- **NLTK** + **Gensim LDA** topic extraction from uploaded text
- Custom **SQLite persistence** for bot state
- Modular handlers in `bot_functions.py` and `helpers.py`
## Tech stack
| Component | Library |
|-----------|---------|
| Bot API | `python-telegram-bot` |
| NLP | NLTK, Gensim |
| Storage | SQLite (`custom_persistence.db`) |
## Quick start
1. Create a bot via @BotFather and copy the token.
2. Set `TOKEN` in `config.py`.
3. Install dependencies and run:
```bash
pip install python-telegram-bot nltk gensim
python -m nltk.downloader punkt stopwords
python main.py
```
## Project layout
```
main.py # Bot entry + ConversationHandler
bot_functions.py # Command handlers
helpers.py # Topic modeling / text processing
config.py # Token + settings
```
## Notes
Requires a valid Telegram bot token. First run may download NLTK corpora.
---
malimba