Automatsko praćenje komunalnih računa pomoću Telegram bota sa GPT-4 Vision AI analizom i Power BI integracijom.
- Automatska OCR analiza računa - Fotografišite račun i bot automatski izvlači podatke
- Praćenje više adresa - Odvojeno praćenje za različite lokacije
- Kategorije računa - Struja, Informatika, Vodovod, Internet, itd.
- Praćenje potrošnje struje - Automatsko beleženje kWh potrošnje
- Detaljne statistike - Pregled troškova po periodima, adresama i kategorijama
- Poređenje perioda - Analiza trendova kroz vreme
- SQLite baza podataka - Lokalno skladištenje podataka
- REST API - Power BI integracija za napredne analize
- Srpski jezik - Kompletna lokalizacija interfejsa
- Python 3.12+
- Telegram Bot Token (@BotFather)
- OpenAI API Key (GPT-4 Vision)
- Linux server (opciono, za deployment)
git clone https://github.com/yourusername/telegram-bill-tracker.git
cd telegram-bill-trackerpython3 -m venv venv
source venv/bin/activate # Linux/Mac
# ili
venv\Scripts\activate # Windowspip install -r requirements.txtKreirajte .env fajl:
cp .env.example .envPopunite .env sa vašim kredencijalima:
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
OPENAI_API_KEY=your_openai_api_key_here
ALLOWED_USER_IDS=123456789,987654321
API_KEY=generate_random_key_herepython bot.py/start- Pokreni bota/help- Prikaži pomoć/stats- Pregled troškova/stats [adresa]- Troškovi za određenu adresu/list- Lista računa sa ID brojevima/delete [ID]- Obriši račun/month- Troškovi ovog meseca/compare- Poredi periode obračuna/category [adresa] [kategorija]- Filtriraj po kategoriji/addresses- Sve adrese/export- Izvezi podatke u CSV
- Fotografišite račun
- Pošaljite fotografiju botu
- Izaberite adresu iz liste ili unesite novu
- Izaberite kategoriju ili unesite novu
- Bot automatski obrađuje i čuva račun
- Struja - Računi za električnu energiju (sa kWh)
- Informatika - Stanarine, održavanje
- Vodovod - Voda i odvođenje otpadnih voda
- Internet - Internet usluge
- Fiksni - Fiksni telefon
- Drugi fiksni - Dodatni fiksni troškovi
- Ostalo - Ostali računi
API omogućava integraciju sa Power BI i drugim alatima.
python api.pyAPI je dostupan na http://localhost:5002
GET /api/health # Health check
GET /api/bills # Svi računi
GET /api/bills?category=Struja # Filtrirani računi
GET /api/line-items # Sve stavke
GET /api/summary # Statistike
GET /api/addresses # Sve adrese
GET /api/categories # Sve kategorijeDetaljnu dokumentaciju potražite u API_DOCS.md.
- Power BI Desktop → Get Data → Web
- Unesite URL:
http://your-server:5002/api/bills?api_key=YOUR_API_KEY - Koristite Power BI Copilot instrukcije za kreiranje dashboard-a
sudo cp billtracker.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable billtracker
sudo systemctl start billtrackersudo cp billtracker-api.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable billtracker-api
sudo systemctl start billtracker-apisudo ufw allow 5002/tcp| Kolona | Tip | Opis |
|---|---|---|
| id | INTEGER | Primarni ključ |
| date | DATE | Datum izdavanja računa |
| billing_period | TEXT | Period obračuna (YYYY-MM) |
| total | REAL | Ukupan iznos |
| address | TEXT | Adresa |
| category | TEXT | Kategorija |
| electricity_kwh | REAL | Potrošnja struje u kWh |
| created_at | TIMESTAMP | Vreme kreiranja |
| Kolona | Tip | Opis |
|---|---|---|
| id | INTEGER | Primarni ključ |
| bill_id | INTEGER | Foreign key na bills |
| name | TEXT | Naziv stavke |
| amount | REAL | Iznos |
- API autentifikacija putem API ključa
- Whitelist korisnika za Telegram bota
- Enkriptovani kredencijali u
.envfajlu - SQLite baza sa lokalnim pristupom
- Nikada ne commit-ujte
.envfajl - Koristite jake API ključeve:
openssl rand -hex 32 - Ograničite pristup API-ju samo na potrebne IP adrese
- Redovno backup-ujte
bills.db
- Telegram Bot - Besplatno
- Hetzner Cloud Server - ~€3.79/mesec (opciono)
- OpenAI API -
$0.02 po računu ($0.40/mesec za 20 računa)
# Kloniraj repo
git clone https://github.com/yourusername/telegram-bill-tracker.git
cd telegram-bill-tracker
# Setup
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Run bot u development modu
python bot.py# Test API endpointi
curl http://localhost:5002/api/health
# Test bot (pošaljite poruku u Telegram)Doprinosi su dobrodošli! Molimo:
- Fork-ujte repozitorijum
- Kreirajte feature branch (
git checkout -b feature/nova-funkcionalnost) - Commit-ujte izmene (
git commit -m 'Dodaj novu funkcionalnost') - Push-ujte branch (
git push origin feature/nova-funkcionalnost) - Otvorite Pull Request
MIT License - pogledajte LICENSE fajl za detalje.
Prijavite bagove putem GitHub Issues.
Molimo uključite:
- Opis problema
- Korake za reprodukciju
- Očekivano ponašanje
- Snimke ekrana (ako je relevantno)
- Informacije o okruženju (OS, Python verzija)
Za pitanja i podršku, otvorite issue ili kontaktirajte autora.