Dominus is not just a financial tracker. It is your personal, toxic, and extremely accurate financial overseer in Telegram. Built with Python and powered by OpenAI, it extracts expense data from text, voice, and even photos of receipts—all while mocking your questionable spending habits.
- 🤖 Intelligent Parsing: Uses
gpt-4o-minito automatically extract amounts, categories, and descriptions from natural language. - 🎙 Multimodal Inputs:
- Voice: Transcription via
OpenAI Whisper. Just say: "I spent $20 on a burger," and it’s recorded. - Vision: Send a photo of a receipt or an item, and the bot identifies the cost and category instantly.
- Voice: Transcription via
- 📊 Visual Analytics: Generates spending charts using
matplotlibto show you exactly where your money is disappearing. - 🌍 Timezone Awareness: Automatically detects your timezone based on your location (via LLM) to ensure daily stats are perfectly synced.
- 💀 Toxic Feedback: No "nice" UI here. Every expense is met with a sharp, sarcastic comment about your financial choices.
- Framework: Aiogram 3.x (Asynchronous Telegram Bot API)
- AI Engine: OpenAI API (GPT-4o-mini, Whisper, Vision)
- Database: PostgreSQL (via
asyncpgand Supabase) - Deployment: Docker & Docker Compose
- Validation: Pydantic V2 & Pydantic Settings
- Data Viz: Matplotlib
./
├── src/
│ ├── core/ # Configuration (Pydantic) and Logging
│ ├── services/ # DB Logic, AI Services (OpenAI), and Charts
│ ├── main.py # Bot entry point and handlers
│ └── api_test.py # Utility script for API testing
├── logs/ # Application logs
├── Dockerfile # Containerization
└── requirements.txt # Project dependencies
## ⚙️ Installation & Setup
### 1. Clone the Repository
git clone https://github.com/PyDevDeep/Dominus_AI_Assistant.git
cd Dominus_AI_Assistant
### 2. Configure Environment Variables
Create a .env file in the root directory:
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
OPENAI_API_KEY=your_openai_api_key
DATABASE_URL=postgres://user:password@host:port/dbname
LOG_LEVEL=INFO
### 3. Run with Docker (Recommended)
docker build -t dominus-bot .
docker run --env-file .env dominus-bot
---
## 📈 Roadmap
- [ ] Export reports to PDF/Excel.
- [ ] Group chat support for family budget tracking (double the toxicity!).
- [ ] Integration with Banking APIs (Monobank/Privat24).
---
*Developed with hatred for your debts and love for clean code.*