pip install -r requirements.txtEdit .env file with your keys:
# Required
TELEGRAM_BOT_TOKEN="your-bot-token"
# Optional - AI Summary
GEMINI_API_KEY="your-gemini-key"
# Optional - Cloud Database
SUPABASE_URL="your-supabase-url"
SUPABASE_KEY="your-supabase-key"Place PDF files in folders:
books/
├── uzbek/
│ ├── Matematika/
│ │ └── matematika_5.pdf
│ ├── Biologiya/
│ │ └── biologiya_9.pdf
│ └── Fizika/
│ └── fizika_8.pdf
└── russian/
└── История/
└── история_6.pdf
python -m services.book_processorpython -m bot.main- Open Telegram, search
@BotFather - Send
/newbot - Copy the token
- Go to https://makersuite.google.com/app/apikey
- Create API key
- Copy to
.env
- Go to https://supabase.com
- Create project
- Settings → API → Copy URL and
service_rolekey
| Command | Description |
|---|---|
/start |
Welcome message |
/search <query> |
Search themes |
/books |
Browse by grade |
/stats |
Database info |
/help |
Help |
- 🔍 Search - Type any topic to search
- 📖 Browse - Browse books by grade
- 📥 PDF Download - Download full books or specific chapters
- 📝 AI Summary - Get AI-generated summaries (requires Gemini key)
- 📋 AI Quiz - Generate quiz questions from chapters
- 🔗 Resources - Educational links for each topic
BB/
├── bot/
│ ├── main.py # Bot entry point
│ └── handlers/
│ ├── search.py # Search functionality
│ ├── books.py # Book browsing
│ ├── resources.py # Educational resources
│ └── ai_handler.py # AI Summary & Quiz
├── services/
│ ├── book_processor.py # PDF processing
│ ├── search_engine.py # Search functionality
│ ├── ai_summary.py # Gemini AI integration
│ └── pdf_processor.py # PDF extraction
├── database/
│ ├── models.py # SQLite models
│ ├── supabase_client.py # Supabase integration
│ └── supabase_schema.sql # SQL schema
├── books/ # Your PDF books
├── data/ # Generated data
├── .env # Configuration
└── requirements.txt # Dependencies
# Process new books
python -m services.book_processor
# Run bot
python -m bot.main
# Test AI summary
python -m services.ai_summary