Releases: BotirBakhtiyarov/SmartExpenseBot
SmartExpenseBot v1.2.1
Release Date: 2025-11-18
This release improves the timezone selection flow, enhances currency handling during income entry, and fixes several issues related to country input and reminder rescheduling.
✨ Added
🔤 Country Input Enhancements
- Timezone Change via Text — Users can now type a country name in any supported language when changing their timezone in Settings.
- Unified Translations — Added
enter_country_prompt(Uz/En/Ru) reused across both Onboarding and Settings.
🛠️ Changed
🌍 Timezone Flow Improvements
-
Settings keyboard now displays:
- Share Location
- Enter Country
-
Users stay in timezone selection mode until either:
- A valid country is detected
- Or they tap Back
💱 Currency Selection Logic
-
When selecting a currency, the bot now accurately returns to the correct workflow:
- Expense flow → returns to expense input
- Income flow → returns to income input
🐞 Fixed
💰 Income Currency Handling
- Fixed issue where users entering income before selecting a currency were stuck or misrouted.
- After currency selection, users are now correctly redirected back to income entry.
🌐 Country Input Bugs
-
Country names entered during timezone change now properly trigger:
- Correct timezone validation
- Reminder rescheduling
- Multi-language error messages
- Proper fallbacks when detection fails
SmartExpenseBot v1.2.0 — Massive Feature Release
🚀 SmartExpenseBot v1.2.0 — Massive Feature Release
This release introduces the biggest update ever to SmartExpenseBot — including full income tracking, unified currency system, account deletion, AI-powered country detection, daily reminders, and a completely upgraded reporting engine.
All features are fully compatible with the previous version.
No data loss. No manual migrations required. ✔️
✨ What’s New in v1.2.0
💰 1. Income Tracking (Brand New System)
You can now track daily and monthly income:
- Natural language income entry
“I earned 5000 yuan this month” - Voice-based income extraction
- AI-powered amount, type, description detection
- Income included in all financial reports
- Balance calculation = income − expenses
This turns SmartExpenseBot into a full financial manager.
💳 2. Unified Currency System (Major Improvement)
- All expenses & incomes now use one default currency (from User table)
- Currency is selected once, can be changed any time
- Reports now show consistent currency
- No more mixed-currency issues
🔐 3. Account Deletion (Privacy Upgrade)
-
New Delete Account menu option
-
All user data is safely removed:
- expenses
- incomes
- reminders
-
Bot stops responding until the user restarts
-
All scheduled reminders automatically canceled
⭐ 4. Donation System (New!)
Multiple donation platforms:
- Telegram Stars (native payment)
- Patreon
- GitHub Sponsors
- Tirikchilik.uz for Uzbekistan users
Includes:
- Preset payment options
- Custom donation amount
- Thank-you messages in user’s language
🌍 5. Improved Localization & Country Detection
-
AI recognizes country names in Uzbek, Russian, English
-
Accurate timezone detection from:
- country text
- location GPS
-
Reports fully localized in user’s language
-
Improved translations
🔔 6. Daily Expense Reminders
Every day at 20:00 (local timezone), the bot sends an automatic reminder:
- Localized message
- Automatically rescheduled if timezone changes
- Works even after bot restart
📊 7. Reporting Engine Upgrade
A completely redesigned reporting system:
- Report generation now in user’s preferred language
- Income + expense balance
- Category summaries
- Cleaner plain-text (no markdown noise)
- Improved DeepSeek prompts for richer insights
🎤 8. Voice Transcription Optimization (Performance Boost)
- Vosk models use a Singleton pattern (load once, reuse always)
- Significantly faster processing
- Lower memory usage
- Thread-safe model handling
🛠 Technical Improvements
- Database schema adjusted for unified currency
- Better consistency across income/expense models
- Safer thread-local sessions
- Improved error handling
- Stronger scheduler stability
🐛 Bug Fixes
- Fixed Income-related report crash
- Fixed wrong currency issues in reports
- Fixed donation thank-you messages always showing in English
- Fixed timezone parsing issues
- Fixed account deletion not stopping bot replies
🔒 Security
- Safe cascade deletion
- Thread-safe database operations
🚀 Performance
- Shared Vosk cache
- Faster startup
- Optimized DB queries
- Better scheduler management
📚 Upgrade Notes
From v1.1.0 → v1.2.0
- No manual database migrations required
- Existing data remains safe
- New “incomes” table automatically created
- No config changes required
Just redeploy — the bot will upgrade itself.
🧑💻 Contributors
- Botir Bakhtiyarov — Creator & Maintainer
🔗 Useful Links
- GitHub Repo
- Patreon
- GitHub Sponsors
- Tirikchilik.uz
SmartExpenseBot — Initial Public Release(v1.1.0)
🎉 SmartExpenseBot — Initial Public Release (v1.1.0)
We are excited to publish the first public release of SmartExpenseBot, an AI-powered personal finance assistant for Telegram.
This version includes complete expense tracking, voice transcription, scheduling, timezone detection, and multi-language support.
✨ What’s Included in This Release
💸 Expense Management
-
Add expenses using natural language
-
AI automatically extracts:
- Amount
- Currency
- Category
- Description
-
Multi-currency support (USD, EUR, CNY, RUB, UZS, and more)
-
Confirmation workflow for accuracy
-
Support for multiple expenses in a single message
-
Voice message support with Vosk STT models
📊 Reports & Insights
-
Ask natural language questions:
- “Show my expenses this month”
- “Food expenses last week”
- “Total for December”
-
Category breakdown
-
Date range filtering
-
Spending summaries
⏰ Reminder System
- AI-based natural language time parsing
- Timezone-aware scheduling
- “Remind me in 2 hours”
- Warning notification + exact-time notification
- Daily 20:00 expense reminders
🌍 Localization & Languages
-
Full support for:
- English
- Russian
- Uzbek
-
Country → timezone detection
-
Location-based timezone setup
🎤 Voice Transcription
- Uzbek / Russian / English
- Automatic model loading
- Efficient caching
- FFmpeg-based audio conversion
🛠 Architecture & Tech Stack
- Python 3.8+
- pyTelegramBotAPI
- SQLAlchemy (thread-safe)
- APScheduler
- DeepSeek AI
- Vosk speech models
📦 Deployment Notes
- Works with SQLite (development)
- Works with PostgreSQL (production)
- Safe to deploy on Railway / Render / VPS
🔒 Stability Notes
- Automatic table creation (no manual migrations needed)
- Existing data preserved
- Thread-safe session handling
📣 Feedback
Found a bug? Have a feature request?
Open an issue on GitHub or message via Telegram Feedback in the bot.
New Contributors
- @dependabot[bot] made their first contribution in #1
Full Changelog: https://github.com/BotirBakhtiyarov/SmartExpenseBot/commits/1.1.0