Initial commit: ROA2WEB - FastAPI + Vue.js + Telegram Bot
Modern ERP Reports Application with microservices architecture Tech Stack: - Backend: FastAPI + python-oracledb (Oracle DB integration) - Frontend: Vue.js 3 + PrimeVue + Vite - Telegram Bot: python-telegram-bot + SQLite - Infrastructure: Shared database pool, JWT authentication, SSH tunnel Features: - FastAPI backend with async Oracle connection pool - Vue.js 3 responsive frontend with PrimeVue components - Telegram bot alternative interface - Microservices architecture with shared components - Complete deployment support (Linux Docker + Windows IIS) - Comprehensive testing (Playwright E2E + pytest) Repository Structure: - reports-app/ - Main application (backend, frontend, telegram-bot) - shared/ - Shared components (database pool, auth, utils) - deployment/ - Deployment scripts (Linux & Windows) - docs/ - Project documentation - security/ - Security scanning and git hooks
This commit is contained in:
269
reports-app/telegram-bot/TELEGRAM_COMMANDS.md
Normal file
269
reports-app/telegram-bot/TELEGRAM_COMMANDS.md
Normal file
@@ -0,0 +1,269 @@
|
||||
# Comenzi Telegram Bot ROA2WEB
|
||||
|
||||
Configurare comenzi în BotFather pentru @ROA2WEBDEVBot
|
||||
|
||||
## 📋 Setup Rapid în BotFather
|
||||
|
||||
1. Deschide [@BotFather](https://t.me/BotFather) în Telegram
|
||||
2. Trimite comanda `/mybots`
|
||||
3. Selectează `@ROA2WEBDEVBot` (sau bot-ul tău)
|
||||
4. Alege `Edit Bot` → `Edit Commands`
|
||||
5. Copiază și lipește lista de comenzi de mai jos:
|
||||
|
||||
```
|
||||
start - Link cont sau pornire bot
|
||||
help - Informații și ajutor
|
||||
companies - Vezi companiile tale
|
||||
selectcompany - Selectează/caută companie activă
|
||||
dashboard - Dashboard financiar
|
||||
sold - Vezi sold și situație financiară
|
||||
facturi - Listă facturi (opțional: status)
|
||||
trezorerie - Date trezorerie și cash flow
|
||||
export - Export rapoarte (Excel/PDF/CSV)
|
||||
clear - Șterge conversație
|
||||
unlink - Deconectează contul
|
||||
```
|
||||
|
||||
## 📖 Comenzi Detaliate
|
||||
|
||||
### `/start`
|
||||
**Descriere:** Link cont ROA2WEB cu Telegram
|
||||
|
||||
**Utilizare:**
|
||||
- Dacă nu ești linkuit: Generează cod de 8 caractere din aplicația web și trimite-l aici
|
||||
- Dacă ești deja linkuit: Afișează mesaj de bun venit cu comenzile disponibile
|
||||
|
||||
**Exemplu:**
|
||||
```
|
||||
/start
|
||||
→ Cont deja linkuit pentru utilizatorul: john.doe
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `/help`
|
||||
**Descriere:** Informații și ajutor despre utilizarea bot-ului
|
||||
|
||||
**Utilizare:**
|
||||
- Afișează toate comenzile disponibile cu explicații
|
||||
- Ghid rapid de utilizare
|
||||
- Link către documentație
|
||||
|
||||
---
|
||||
|
||||
### `/companies`
|
||||
**Descriere:** Vezi toate companiile tale accesibile
|
||||
|
||||
**Utilizare:**
|
||||
- Afișează listă cu toate companiile tale din sistem
|
||||
- Include CUI și detalii companie
|
||||
- Buton de selecție rapidă pentru fiecare companie
|
||||
|
||||
**Exemplu output:**
|
||||
```
|
||||
📋 Companiile tale (3):
|
||||
|
||||
1. ACME SOLUTIONS SRL
|
||||
CUI: RO12345678
|
||||
[Selectează]
|
||||
|
||||
2. BETA CONSULTING SRL
|
||||
CUI: RO87654321
|
||||
[Selectează]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `/selectcompany [search]`
|
||||
**Descriere:** Selectează compania activă pentru toate comenzile ulterioare
|
||||
|
||||
**Utilizare:**
|
||||
- `/selectcompany` - Arată toate companiile cu butoane de selecție
|
||||
- `/selectcompany ACME` - Caută companii care conțin "ACME" în nume
|
||||
- Search este case-insensitive și funcționează cu match parțial
|
||||
|
||||
**Exemplu:**
|
||||
```
|
||||
/selectcompany ACME
|
||||
→ Rezultate pentru 'ACME' (2):
|
||||
• ACME SOLUTIONS SRL (RO12345678) [Selectează]
|
||||
• ACME TRADE SRL (RO11223344) [Selectează]
|
||||
```
|
||||
|
||||
**Notă:** După selecție, toate comenzile (`/dashboard`, `/facturi`, `/trezorerie`) vor folosi această companie.
|
||||
|
||||
---
|
||||
|
||||
### `/dashboard` sau `/sold`
|
||||
**Descriere:** Dashboard financiar pentru compania activă
|
||||
|
||||
**Necesită:** Companie activă selectată (vezi `/selectcompany`)
|
||||
|
||||
**Date afișate:**
|
||||
- 💰 Sold total în RON
|
||||
- 📄 Statistici facturi (emise/plătite/neplătite)
|
||||
- 💵 Cash flow (încasări/plăți/net)
|
||||
|
||||
**Exemplu output:**
|
||||
```
|
||||
📊 Dashboard Financiar
|
||||
|
||||
💰 Sold Total: 145,678.50 RON
|
||||
|
||||
📄 Facturi:
|
||||
• Emise: 45
|
||||
• Plătite: 32
|
||||
• Neplătite: 13
|
||||
|
||||
💵 Cash Flow:
|
||||
• Încasări: 234,567.00 RON
|
||||
• Plăți: 156,789.50 RON
|
||||
• Net: 77,777.50 RON
|
||||
|
||||
━━━━━━━━━━━━━━
|
||||
📊 ACME SOLUTIONS SRL | /selectcompany
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `/facturi [filtru]`
|
||||
**Descriere:** Listă facturi pentru compania activă
|
||||
|
||||
**Necesită:** Companie activă selectată
|
||||
|
||||
**Utilizare:**
|
||||
- `/facturi` - Toate facturile (primele 10)
|
||||
- `/facturi neplatite` - Doar facturi neplătite
|
||||
- `/facturi platite` - Doar facturi plătite
|
||||
|
||||
**Exemplu output:**
|
||||
```
|
||||
📄 Facturi (13 total)
|
||||
|
||||
1. ✅ FV2024001
|
||||
CLIENT ABC SRL - 15,450.00 RON
|
||||
Status: platit
|
||||
|
||||
2. ⏳ FV2024002
|
||||
CLIENT XYZ SRL - 8,900.00 RON
|
||||
Status: neplatit
|
||||
|
||||
━━━━━━━━━━━━━━
|
||||
📊 ACME SOLUTIONS SRL | /selectcompany
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `/trezorerie`
|
||||
**Descriere:** Date trezorerie și cash flow pentru compania activă
|
||||
|
||||
**Necesită:** Companie activă selectată
|
||||
|
||||
**Date afișate:**
|
||||
- 💵 Sold cash curent
|
||||
- 🏦 Conturi bancare și solduri
|
||||
- 📊 Plăți programate (de încasat/de plătit)
|
||||
|
||||
**Exemplu output:**
|
||||
```
|
||||
💰 Trezorerie
|
||||
|
||||
💵 Sold Cash: 45,678.90 RON
|
||||
|
||||
🏦 Conturi Bancare: 3
|
||||
• BCR: 123,456.78 RON
|
||||
• BRD: 67,890.12 RON
|
||||
• ING: 34,567.89 RON
|
||||
|
||||
📊 Plăți Programate:
|
||||
• De încasat: 89,000.00 RON
|
||||
• De plătit: 45,600.00 RON
|
||||
|
||||
━━━━━━━━━━━━━━
|
||||
📊 ACME SOLUTIONS SRL | /selectcompany
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `/export [tip]`
|
||||
**Descriere:** Export rapoarte în Excel/PDF/CSV
|
||||
|
||||
**Necesită:** Companie activă selectată
|
||||
|
||||
**Utilizare:**
|
||||
- `/export dashboard` - Export dashboard în Excel
|
||||
- `/export facturi` - Export listă facturi în Excel
|
||||
- `/export trezorerie` - Export date trezorerie în Excel
|
||||
|
||||
**Exemplu:**
|
||||
```
|
||||
/export dashboard
|
||||
→ 📊 Generating report...
|
||||
→ ✅ Dashboard_ACME_2025-10-22.xlsx
|
||||
[Download]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `/clear`
|
||||
**Descriere:** Șterge istoricul conversației cu Claude
|
||||
|
||||
**Utilizare:**
|
||||
- Șterge tot istoricul de mesaje din sesiunea curentă
|
||||
- Util când vrei să începi o conversație nouă
|
||||
- NU afectează compania activă selectată
|
||||
|
||||
---
|
||||
|
||||
### `/unlink`
|
||||
**Descriere:** Deconectează contul Telegram de contul ROA2WEB
|
||||
|
||||
**Utilizare:**
|
||||
- Șterge legătura între Telegram și Oracle
|
||||
- Șterge toate datele salvate (sesiuni, istoric)
|
||||
- Necesită re-linking cu `/start` pentru a folosi din nou bot-ul
|
||||
|
||||
**Confirmare:** Da/Nu
|
||||
|
||||
---
|
||||
|
||||
## 🤖 Setup Automat (via API)
|
||||
|
||||
Poți seta comenzile programatic folosind scriptul `setup_bot_commands.py`:
|
||||
|
||||
```bash
|
||||
cd /mnt/e/proiecte/roa2web/roa2web/reports-app/telegram-bot
|
||||
source venv/bin/activate
|
||||
python setup_bot_commands.py
|
||||
```
|
||||
|
||||
Scriptul va configura automat toate comenzile în Telegram Bot API.
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Actualizare Comenzi
|
||||
|
||||
Când adaugi comenzi noi:
|
||||
|
||||
1. Actualizează această documentație
|
||||
2. Actualizează lista în BotFather (manual) SAU
|
||||
3. Rulează `setup_bot_commands.py` (automat)
|
||||
4. Testează că comenzile apar în UI-ul Telegram (apasă `/`)
|
||||
|
||||
---
|
||||
|
||||
## ✅ Checklist Testare
|
||||
|
||||
După configurare, verifică:
|
||||
|
||||
- [ ] Comenzile apar când apeși `/` în chat
|
||||
- [ ] Descrierile sunt afișate corect
|
||||
- [ ] Ordinea comenzilor are sens logic
|
||||
- [ ] Comenzile funcționează conform așteptărilor
|
||||
- [ ] Help text este actualizat cu noile comenzi
|
||||
|
||||
---
|
||||
|
||||
**Ultima actualizare:** 2025-10-22
|
||||
**Bot:** @ROA2WEBDEVBot
|
||||
**Status:** ✅ Comenzi configurate
|
||||
Reference in New Issue
Block a user