ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
AI-supported assistant for expanding your vocabulary
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A multilingual Telegram bot for learning vocabulary, powered by Groq AI with themed word packs and spaced repetition.
The IELTS website and learning platform lives in
web/: how to run it, deploy it and add content is described there.
app/
├── main.py # FastAPI entry point, bot lifecycle
├── config.py # Settings from environment variables
├── bot/
│ ├── handlers.py # Telegram command & message handlers
│ ├── keyboards.py # Inline keyboard builders
│ ├── i18n_simple.py # Internationalization (i18n) system
│ ├── user_state.py # Section routing & chat history state
│ ├── topics.py # Themed word packs data
│ └── reminders.py # Daily jobs (Word of the Day, reminders)
├── services/
│ ├── groq_service.py # Groq API — word explanations & translations
│ ├── ask_service.py # Groq API — grammar chatbot
│ ├── ielts_service.py # Groq API — IELTS writing evaluation
│ ├── word_service.py # Word CRUD and user management
│ └── quiz_service.py # Quiz logic and spaced repetition
└── database/
├── models.py # SQLAlchemy ORM models
└── session.py # Async engine and session factory
git clone https://github.com/your-username/Lexify.git
cd Lexify
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
pip install -r requirements.txt
CREATE DATABASE lexify CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
cp .env.example .env
Edit .env and fill in your values:
TELEGRAM_BOT_TOKEN=123456:ABC-DEF...
DATABASE_URL=mysql+aiomysql://root:password@localhost:3306/lexify
GROQ_API_KEY=gsk_...
LOG_LEVEL=INFO
BOT_MODE=polling
python -m app.main
The bot will:
http://localhost:8000 (FastAPI health check at /health)Set in your .env:
BOT_MODE=webhook
WEBHOOK_URL=https://yourdomain.com
Then deploy behind a reverse proxy (e.g., nginx) pointing to port 8000.
| Command | Description |
|---|---|
/start | Welcome message and instructions |
/menu | Choose section (Words/Grammar/IELTS) |
/quiz | Start a vocabulary quiz |
/library | View your word collection |
/topics | Browse themed word packs |
/ask | Grammar chatbot (new conversation) |
/clear | Clear grammar chat history |
/ielts | IELTS writing evaluation |
/language | Choose translation language |
/learning | Choose what language to learn |
/ui | Change bot interface language |
/progress | View your learning statistics |
/delete <word> | Remove a word from your library |
/cancel | Cancel active quiz |
How to use:
/menu → switch between Word Lookup, Grammar Q&A, and IELTS Writing sections/ask → chat with AI tutor about grammar, vocabulary, or language questions/topics → quickly add themed vocabulary (Travel, Business, IELTS, etc.)/quiz → 3 quiz modes with spaced repetition| Table | Purpose |
|---|---|
users | Telegram users with language preferences |
words | Global word dictionary with AI explanations |
user_words | Per-user vocabulary with review stats |
User preferences stored:
language — Native/translation language (Russian, Turkish, etc.)ui_language — Bot interface language (en, ru, az)learning_language — Target language to learn (English, Russian, etc.)| Variable | Required | Description |
|---|---|---|
TELEGRAM_BOT_TOKEN | Yes | Telegram Bot API token |
DATABASE_URL | Yes | MySQL async connection string |
GROQ_API_KEY | Yes | Groq API key for LLM access |
GROQ_MODEL | No | Groq model name (default: llama-3.3-70b-versatile) |
LOG_LEVEL | No | Logging level (default: INFO) |
BOT_MODE | No | polling or webhook (default: polling) |
WEBHOOK_URL | No | Required when BOT_MODE=webhook |
MIT