O cafea, un bilet de autobuz, un caiet. Cumpărăturile mici sunt ușor de uitat până când deschizi o foaie de calcul. Cum ar fi să înregistrezi o cumpărătură cu un mesaj pe Telegram și să verifici luna cu încă unul?
În acest tutorial construim Pocket Ledger, un tracker de cheltuieli în Telegram cu Google Sheets. Trimite o cumpărătură, confirmă detaliile propuse și cere totalul lunar. Foaia păstrează rândurile și face calculele; botul se ocupă de conversație. Iată rezultatul final.

Același rezultat în foaie. Cafeaua de 4.50 EUR crește suma de la 7.70 EUR la 12.20 EUR; cei 6.00 USD rămân separați.
Capturile urmăresc o demonstrație funcțională cu cheltuieli fictive. Am verificat rândul salvat în raport cu apelul Action din Inbox, apoi am comparat ambele răspunsuri Telegram cu valorile returnate de Google Sheets. Identificatorii personali și datele de autentificare sunt ascunse în capturile publicate.
Prima etapă este o cafea salvată. A doua este un total pe care îl poți verifica în foaie. Vei înțelege și de ce „salvat” într-un răspuns din chat reprezintă doar jumătate din dovadă.
Descarcă kitul de configurare Pocket Ledger cu registrul inițial formatat, avatarul, promptul, setările Actions și fișa de testare. Importă registrul în foaia creată de Quickchat AI, apoi urmează pașii de mai jos. Exemplele de copiat folosesc consecvent limba engleză și noiembrie 2026, ca să poți compara rezultatele tale cu capturile.
De ce ai nevoie pentru un tracker de cheltuieli în Telegram?
Ai nevoie de Telegram, de un cont Google și de un cont Quickchat AI. Configurarea folosește setările din panoul de control și o formulă de calcul; nu trebuie să găzduiești un program.
- Creează un cont Quickchat AI, finalizează verificarea și creează un Agent numit
Pocket Ledger. - Pregătește un cont Google pentru noua foaie de calcul. Începe cu înregistrările fictive de mai jos.
- Folosește un bot Telegram nou pentru acest exercițiu. Asigură-te că ai la dispoziție un al doilea cont Telegram de încredere pentru testul de acces de la final.
Planul Free al Quickchat AI este destinat învățării personale, necomerciale și include o alocare limitată. Conversațiile AI și Simulation Testing consumă credite. Consultă planurile și alocările actuale înainte să alegi un plan pentru utilizare continuă.
Două direcții, două Actions. Salvarea unui rând nu îi oferă Agentului o modalitate de a citi totalurile anterioare.
Pasul 1: Cum conectezi botul Telegram privat?
BotFather creează identitatea botului. Quickchat AI furnizează Agentul care răspunde la mesaje.
Deschide contul oficial @BotFather, trimite /newbot, numește botul Pocket Ledger și alege un nume de utilizator disponibil care se termină în bot. Folosește /setuserpic pentru a încărca avatarul din kit. Păstrează tokenul privat; îl vei lipi direct în Quickchat AI.

În Quickchat AI, deschide External Apps → Telegram și găsește Your own bot. Apasă Connect to Telegram și inserează datele de autentificare în câmpul Bot Token din dialog și confirmă dialogul. Activează Enable your own bot, apoi apasă Save. Ghidul BotFather prezintă ecranele în detaliu.
Botul conectat are același nume Pocket Ledger pe care îl vei vedea în Telegram.
Deschide linkul noului bot în Telegram, trimite /start, apoi trimite Hello în chatul privat. /start trimite mesajul de bun venit; mesajul obișnuit creează conversația în Inbox și metadatele expeditorului necesare mai jos. Lasă Actions pentru date personale inactive cât le configurezi.

Deschide această conversație în Quickchat AI, la Inbox → Details → Visitor. Găsește Telegram User Id și Telegram Chat Type (cheile de metadate sunt telegram_user_id și telegram_chat_type). Copiază ID-ul numeric al utilizatorului folosind controlul afișat la trecerea cursorului și verifică dacă tipul chatului este private.
Preia ID-ul tău de expeditor din acest câmp. Identificatorii personali sunt ascunși în captură; folosește valoarea ta reală.
ID-ul provine din metadatele expeditorului furnizate de Telegram. Numele tău de utilizator, un număr introdus într-un mesaj și ID-ul botului sunt lucruri diferite. Vei folosi ID-ul expeditorului pentru a restricționa ambele Actions în pașii următori.
Pasul 2: Cum pregătești foaia Google Sheets?
Integrarea Google Sheets creează o foaie de calcul și o Action inițială. Refolosește acel fișier, astfel încât Action și permisiunea Google să se refere la aceeași resursă.
- Deschide Actions & MCPs → Add Action → Google Sheets și autorizează contul Google. Ghidul conectării Google Sheets explică acordarea accesului și configurarea inițială.
- Dezactivează imediat Action inițială. Este creată activă. Păstrează-i numele,
log_lead_to_google_sheet, deoarece reconectarea o găsește folosind acest nume. Îi vom schimba rolul pentru a salva cheltuieli. - Deschide foaia creată și numește-o
Pocket Ledger demo. În acest nou fișier demonstrativ, alege File → Import → Upload, selecteazăpocket-ledger-starter.xlsxdin kit și alege Replace spreadsheet, apoi apasă Import data. Astfel se pregătesc atâtExpenses, cât șiSummaryîn fișierul la care Quickchat AI are acces. Folosește această opțiune doar în noua foaie demonstrativă. - Verifică cele trei rânduri inițiale de mai jos. În
Summary, totalurile inițiale trebuie să fie EUR 7.70 și USD 6.00. Pasul 6 explică formula și conectează Action de citire.
Începe cu conexiunea Google Sheets. Autorizarea ei creează foaia de calcul folosită de ambele Actions.
Preferi să creezi singur filele? Redenumește fila inițială Expenses. Pentru aceste exemple în engleză, setează File → Settings → Locale → United States. Formatează A:D și F:H ca Plain text, iar E ca Number cu două zecimale, apoi lipește blocul de mai jos în A1. Îngheață antetul și lărgește coloanele. Adaugă Summary urmând pasul 6. Google explică și importarea unui registru Excel într-o foaie existentă.
Copiază cele trei cheltuieli inițiale
date month item category amount currency note conversation_url
2026-11-01 2026-11 coffee food 4.50 EUR synthetic example
2026-11-02 2026-11 bus ticket transport 3.20 EUR synthetic example
2026-11-03 2026-11 notebook stationery 6.00 USD synthetic example
Trei cheltuieli inițiale, gata pentru a patra. Sumele sunt numere în E; codurile valutare sunt valori text separate în F.
Coloana conversation_url va lega fiecare cheltuială nouă de conversația sa. Las-o goală pentru cele trei exemple introduse manual. Permisiunea Google drive.file acoperă fișierele create de aplicație sau pentru care s-a acordat explicit acces; această rețetă folosește foaia creată de integrare și nu oferă acces la întregul Drive.
Pasul 3: Cum restricționezi cheltuielile la propriul chat?
Setează Run only when pentru fiecare Action care citește sau scrie în registru. Ambele condiții trebuie îndeplinite, deci ID-ul tău singur nu este suficient într-un chat de grup.
| Cheie de metadate | Comparație | Valoare |
|---|---|---|
telegram_user_id | equals | ID-ul numeric real al expeditorului de la pasul 1 |
telegram_chat_type | equals | private |
- Deschide Action inactivă
log_lead_to_google_sheetși găsește Run only when. - Adaugă ambele condiții de mai sus. Folosește exact cheile de metadate și cifrele ID-ului tău, fără nume de utilizator sau prefixul
@. - Salvează Action, lăsând-o inactivă. Aplică aceleași condiții pentru Action de citire când o creezi la pasul 6.
Condițiile Action de salvare din demonstrația locală. Înlocuiește ID-ul fictiv cu ID-ul tău real de expeditor și repetă ambele condiții pentru Action de citire.
Ambele condiții trebuie să existe pe ambele Actions. Un alt expeditor sau un chat de grup trebuie respins înainte ca o cerere HTTP să ajungă la Google Sheets.
Acestea sunt condiții Action aplicate de server. Instrucțiunea „răspunde-mi doar mie” din prompt nu este o verificare a accesului. Restricționează și partajarea foii, și accesul la contul Quickchat AI.
Pasul 4: Cum faci botul să salveze o cheltuială confirmată?
Adaptează Action inițială pentru a adăuga un rând în ordinea coloanelor foii. Setează When to run → AI decides, astfel încât să poată aștepta confirmarea. Apoi dă-i Agentului o regulă de confirmare înainte să activezi Action.
Configurează câmpurile cheltuielii
La What to ask the user first, înlocuiește câmpurile pentru clienți potențiali cu acești parametri. Păstrează denumirile parametrilor exact cum sunt afișate.
| Parametru | Tip de date | Obligatoriu | Descriere de introdus |
|---|---|---|---|
date | Text | Da | Data cheltuielii în format YYYY-MM-DD, confirmată de proprietar. Întreabă dacă lipsește. |
month | Text | Da | YYYY-MM extras din data confirmată. |
item | Text | Da | Denumire scurtă a cumpărăturii. |
category | Text | Da | Categorie simplă convenită cu proprietarul, precum alimente sau transport. |
amount | Decimal Number | Da | Sumă numerică pozitivă, fără simbol monetar. |
currency | Text | Da | Cod ISO al monedei confirmat, precum EUR sau USD. Clarifică simbolurile ambigue. |
note | Text | Nu | Notă opțională. Lasă gol când nu a fost furnizată. |
Păstrează ID-ul real al foii din API Endpoint existent. Schimbă intervalul în Expenses!A:H, păstrează metoda POST și setează Query Params la valueInputOption=RAW și insertDataOption=INSERT_ROWS. Elimină setările de interogare duplicate dacă există deja în URL.
Copiază referința cererii de adăugare
POST https://sheets.googleapis.com/v4/spreadsheets/YOUR_CREATED_SHEET_ID/values/Expenses!A:H:append
Query Params:
valueInputOption = RAW
insertDataOption = INSERT_ROWS
Headers:
Authorization = Bearer {{google_sheets_access_token}}
Content-Type = application/json
YOUR_CREATED_SHEET_ID este un substituent explicativ. Păstrează ID-ul real deja prezent în URL-ul inițial; nu îl înlocui cu acel substituent. Selectează System Token Google Sheets existent în valoarea Authorization și variabila încorporată pentru URL-ul conversației în corpul cererii.
În fila Body, introdu:
{"values":[["{{date}}","{{month}}","{{item}}","{{category}}","{{amount}}","{{currency}}","{{note}}","{{conversation_url}}"]]}
Configurarea locală a Action pentru cheltuieli. Corpul cererii definește ordinea celulelor; formatul parametrului sumă îi definește tipul numeric.
Păstrează ghilimelele din jurul {{amount}} în editor. Deoarece acest substituent exact se referă la un parametru Decimal Number, înlocuirea produce un număr JSON precum 4.5. Eliminarea ghilimelelor face JSON-ul din editor nevalid. În foaia rezultată, verifică dacă E este numerică și inclusă în formulă.
API-ul append Google adaugă rândul. RAW păstrează literal textul, cum ar fi o notă care începe cu =, fără să îl evalueze ca formulă. Parametrul numeric determină tipul sumei.
Copiază descrierea Action de salvare
Save one personal expense to the configured Google Sheet. Call only after the owner explicitly confirms the proposed date, item, category, amount and currency. Ask for missing or ambiguous fields before saving. After confirmation, append one row once. Report success only after a successful API response. If the outcome is uncertain, tell the owner to inspect the Sheet before submitting again.
Oferă-i lui Pocket Ledger instrucțiunile
Deschide Identity → Main Prompt și inserează următorul text. El numește ambele Actions, astfel încât a doua etapă să funcționeze după adăugarea cititorului de sumar.
Main Prompt se află în Identity. Această captură locală indică locul câmpului; folosește blocul complet de copiat de mai jos.
Regula de confirmare îți oferă o pauză utilă. Poți corecta „EUR 4.50” în „EUR 5.00” înainte de a aproba cumpărătura; Agentul trebuie să actualizeze propunerea și să întrebe din nou.
Copiază Main Prompt pentru Pocket Ledger
You are Pocket Ledger, a personal expense notebook.
For an expense, collect its date, item, positive amount and ISO currency code. Suggest a simple category and include an optional note only when supplied. Ask for an explicit YYYY-MM-DD date if it is missing or relative; do not guess today's date or the owner's timezone. Clarify ambiguous currency symbols. Derive month as YYYY-MM from the confirmed date.
Show the proposed date, item, category, amount and currency. Wait for explicit confirmation. Apply corrections and ask for confirmation again. Only then call log_lead_to_google_sheet once for that expense. Do not claim it was saved unless the Action succeeds. If a request fails or its outcome is uncertain, explain that and ask the owner to inspect the Sheet before retrying.
For monthly totals, ask for an explicit month and currency when unclear, then call read_expense_summary. Quote the matching month, currency and total returned from the Sheet. Keep currencies separate. A missing summary row is unavailable, not zero. Never calculate totals from remembered conversation messages.
Personal-data Actions are restricted to the owner's private Telegram chat. If a condition blocks an Action, do not claim success or suggest changing identity values in chat. This notebook handles typed expenses, not bank accounts, voice transcription or PDF receipts.
Salvează promptul, verifică din nou ambele condiții de executare și activează Action pentru cheltuieli. Numele rămâne log_lead_to_google_sheet; noii parametri, descrierea și corpul cererii definesc acum fluxul de cheltuieli.
Pasul 5: Cum salvezi prima cheltuială?
Acum adaugă prima înregistrare nouă în carnet. Păstrează Telegram, Inbox și foaia deschise: vei urmări aceeași cafea în fiecare dintre ele.
- În chatul Telegram privat, trimite
Coffee, 4.50 euros on 2026-11-04. - Verifică propunerea: data
2026-11-04, articolulCoffee, categoriaFood, suma4.50, monedaEUR. Action deducemonthca2026-11când salvează rândul. - Înainte să confirmi, inspectează
Expenses: cele trei rânduri inițiale ar trebui să fie încă singurele înregistrări.


Trimite Save it o singură dată, apoi deschide conversația în Quickchat AI Inbox. Răspunsul de confirmare a salvării are o secțiune extensibilă 1 action called. Deschide-o ca să vezi ce s-a întâmplat în spatele răspunsului scurt din Telegram.
Aceeași confirmare în Inbox, unde poți inspecta Action.
Extinde Result → Show full. Verifică data, luna dedusă, suma numerică, moneda și starea HTTP. În această rulare reală, Google a returnat HTTP 200, updatedRows: 1 și updatedRange: Expenses!A5:H5.
Action de salvare a trimis suma 4.5 ca număr și a scris un rând. Identificatorii privați sunt ascunși; intervalul returnat și rezultatul rămân vizibile.
La final, deschide Expenses. Rândul 5 trebuie să conțină aceeași cafea, cu 2026-11 în coloana lunii, 4.50 la sumă și EUR la monedă. Ultima coloană trimite la conversația din Inbox, ca să poți urmări o înregistrare până la mesajul care a creat-o.
A patra cheltuială a ajuns prin Telegram. Linkul privat către Inbox este ascuns în imaginea publicată.
Acum ai un obicei util pentru fiecare zi: trimite, confirmă, verifică. În continuare, oferă-i botului o sursă fiabilă de citit când întrebi unde s-au dus banii lunii.
Pasul 6: Cum ceri un total lunar?
Lasă Google Sheets să calculeze totalul, apoi lasă Action de citire să îl preia. Păstrarea calculelor în foaie face răspunsul verificabil chiar și după terminarea conversației.
Adaugă o filă Summary
Dacă ai importat registrul inițial, Summary și formulele sale sunt deja pregătite. Valorile inițiale sunt EUR 7.70 și USD 6.00; salvarea cafelei schimbă doar rândul EUR. Dacă pregătești manual foaia, urmează pașii de mai jos.
Punctul de plecare: două monede, două totaluri independente.
- Creează o filă numită
Summary. Setează coloanele A:B la Plain text, apoi introdumonth,currency,totalîn A1:C1. - Introdu
2026-11șiEURîn A2:B2, apoi2026-11șiUSDîn A3:B3. - Introdu această formulă în C2 și completeaz-o în jos până la C3. Formatează C ca număr cu două zecimale.
=SUMIFS(Expenses!$E$2:$E$501,Expenses!$B$2:$B$501,A2,Expenses!$F$2:$F$501,B2)
Funcția SUMIFS adună sumele a căror lună și monedă corespund rândului din sumar. Dacă setările regionale ale foii cer punct și virgulă între argumente, înlocuiește virgulele formulei cu punct și virgulă. Numerele din cererile JSON folosesc în continuare punctul zecimal.
Selectează C2 pentru a vedea formula din spatele sumei EUR 12.20. Rândul USD rămâne la 6.00.
Cei 7,70 EUR inițiali plus noua cafea de 4,50 EUR dau 12,20 EUR. Carnetul de 6,00 USD are propriul total.
Formula inițială acoperă rândurile 2 până la 501. În rularea capturată, cele trei intervale se termină la 502 după inserarea noului rând. Sheets poate ajusta referințele la inserare; verifică dacă toate cele trei intervale Expenses rămân aliniate și extinde-le împreună înainte ca înregistrările să depășească intervalul acoperit. Adaugă un rând de sumar pentru fiecare combinație lună/monedă despre care vrei să întrebi.
Adaugă Action de citire
Deschide Actions & MCPs → Add Action → API Action. Folosește Generate cu cererea de mai jos; Actions generate pornesc inactive. Numește-o read_expense_summary și păstrează When to run la AI decides, pentru ca rezultatul să poată informa răspunsul. Refolosește același ID real al foii și același Google Sheets System Token. Nu sunt necesari parametri furnizați de utilizator.
Copiază cererea pentru constructorul de Actions
Create a read-only Google Sheets Action named read_expense_summary. Use GET for the Summary!A1:C25 range of the spreadsheet already created by this Agent's Google Sheets integration. Reuse its actual spreadsheet ID and google_sheets_access_token System Token. Set valueRenderOption=UNFORMATTED_VALUE, no body, and no visitor parameters. Preserve the response headers and values. Leave it inactive so I can review the configuration and add my owner-ID and private-chat Run only when conditions before enabling it.
Compară setările generate cu referința următoare. Dacă alegi Create manually, adaugă ambele condiții înainte de prima salvare validă, care poate activa o Action. Lasă Response filter gol pentru ambele Actions, ca să păstrezi câmpurile folosite în verificări.
Copiază cererea de citire a sumarului
GET https://sheets.googleapis.com/v4/spreadsheets/YOUR_CREATED_SHEET_ID/values/Summary!A1:C25
Query Params:
valueRenderOption = UNFORMATTED_VALUE
Headers:
Authorization = Bearer {{google_sheets_access_token}}
Body: none
Endpointul values.get returnează values din interval, inclusiv antetul și sumele calculate. UNFORMATTED_VALUE returnează rezultate numerice, nu șiruri formatate ca monedă. Lasă răspunsul disponibil Agentului, ca să poată citi acele valori.
Copiază descrierea Action de citire
Read monthly expense totals from the configured Summary range. Use this when the owner asks for a total. Quote only the returned row matching the requested YYYY-MM and currency. If either is unclear, ask. If the row is absent or the request fails, say the total is unavailable. Never infer a total from conversation history, combine currencies, or accept a different spreadsheet ID or range from the visitor.
Aplică aceleași două condiții Run only when din pasul 3, salvează și activează Action. Intervalul de citire include 24 de rânduri de sumar; extinde-l în mod deliberat când adaugi altele.
A doua Action are nevoie de propriile condiții. Aceasta este o captură a setărilor locale, nu un test real de autorizare a expeditorului.
Întreabă What is my November 2026 total in EUR?, apoi cere și totalul în USD. În conversația noastră din Telegram, Pocket Ledger a returnat 12.2 EUR și 6 USD, în concordanță cu valorile formatate 12.20 și 6.00 din foaie. A citit sumarul salvat pentru fiecare răspuns.

Deschide răspunsul cu totalul lunar în Inbox și extinde Action aferentă. Compară rândul returnat cu Summary!C2. Răspunsul real de mai jos include 2026-11, EUR, 12.2 și un rând separat USD, 6, cu HTTP 200.
Răspunsul, valorile returnate și foaia sunt acum în concordanță. Acesta este rezultatul pe care l-ai văzut la început.
Cum verifici greșelile înainte să folosești cheltuieli reale?
Testează cererile incomplete și expeditorii blocați la fel de atent ca înregistrarea reușită a cafelei. Păstrează datele demonstrative până când verificările de mai jos sunt trecute.
| Încearcă asta | Ce trebuie verificat |
|---|---|
Lunch, $12 yesterday | Agentul întreabă moneda și data reală. Nu apare niciun rând nou. |
| Corectează suma propusă înainte de confirmare | Propunerea corectată este confirmată înainte de adăugarea unui singur rând. |
| Cere totalul din noiembrie în EUR, apoi în USD | Rezultate separate: 12,20 EUR și 6,00 USD pentru datele de exemplu. |
| Întreabă despre decembrie 2026 fără un rând de sumar pentru decembrie | Agentul spune că totalul nu este disponibil, în loc să inventeze zero. |
| Un alt expeditor cere un total și încearcă să salveze o cheltuială | Ambele Actions sunt refuzate și nu sunt dezvăluite valori personale. |
| Proprietarul face aceleași cereri într-un grup | Ambele Actions sunt refuzate deoarece chatul nu este privat. |
| O salvare eșuează sau expiră | Răspunsul raportează eșecul sau incertitudinea. Inspectează foaia înainte să reîncerci. |
Pentru teste de limbaj repetabile, deschide Testing → Create Dataset → Paste messages și folosește mesajele și criteriile de evaluare din kit. Rulează separat o conversație completă pentru secvența de confirmare. Metadatele din Preview sau Simulation sunt date de test; nu dovedesc că un alt expeditor Telegram real este blocat.
Setul de date local este pregătit pentru testare. Existența lui nu înseamnă o rulare Simulation finalizată și nu dovedește scrierea în Google Sheets.
Dacă un comportament nu funcționează, modifică o instrucțiune relevantă, repetă aceeași intrare și inspectează din nou apelul și foaia. De exemplu, o adăugare prematură cere examinarea formulării despre confirmare din Action de salvare. Confirmarea este o instrucțiune, nu o garanție de unicitate în baza de date. După expirarea unei cereri, verificarea foii contează mai mult decât apăsarea din nou a butonului de trimitere.
După ce parcursul funcționează, elimină rândurile de cheltuieli fictive, păstrează anteturile și formulele și adaugă rânduri de sumar pentru lunile și monedele pe care le folosești efectiv. Prima cumpărătură reală poate urma aceeași rutină simplă ca acea cafea.
Poate un asistent AI să ajute la configurarea Pocket Ledger?
Un asistent conectat pentru administrarea contului poate ajuta la pregătirea Agentului și la verificarea setărilor Actions. Urmează Manage with AI prin listarea ChatGPT sau listarea Claude a Quickchat AI. Oferă-i kitul de configurare și această cerere:
Help me configure Pocket Ledger from this setup kit. Inspect the available Quickchat AI tools first. Prepare the Main Prompt and the two HTTP Actions using the exact field names, numeric amount type and fixed ranges. Keep log_lead_to_google_sheet as the starter name. Ask me to complete Google OAuth and Telegram Bot Token setup in the dashboard. Apply both owner/private run conditions before enabling either Action. Do not run credit-consuming tests or append expenses until I ask. Report any setting your tools cannot configure so I can complete it in the dashboard.
Proprietarul finalizează acordarea accesului Google și conectarea Telegram. Verifică setările și execută aceleași controale de mai sus indiferent cine le-a introdus.
Întrebări frecvente
Cum îmi urmăresc cheltuielile în Telegram cu Google Sheets?
Conectează un bot Telegram la un Quickchat AI Agent și autorizează Google Sheets. Configurează o Action care adaugă o cheltuială după confirmare și alta care citește un sumar lunar bazat pe formule. Restricționează ambele Actions la ID-ul tău de utilizator Telegram și la un chat privat.
Poate botul să îmi spună cât am cheltuit luna aceasta?
Da, când luna și moneda solicitate au un rând în intervalul Summary configurat. Google Sheets calculează totalul cu SUMIFS; Action de citire îl preia. O Action care doar adaugă rânduri nu poate obține totaluri, iar un rând de sumar lipsă nu înseamnă zero.
Poate altcineva să îmi citească cheltuielile prin botul Telegram?
Ambele Actions pentru date personale trebuie să ceară telegram_user_id verificat al tău și telegram_chat_type egal cu private. Aceste condiții blochează apelurile altor expeditori și din grupuri. Testează ambele situații înainte de a adăuga date personale și restricționează și accesul la foaie și la contul Quickchat AI.
Este gratuit acest tracker de cheltuieli în Telegram?
Crearea unui bot Telegram este gratuită. Planul Free al Quickchat AI susține învățarea personală, necomercială, cu o alocare limitată de credite AI. Răspunsurile AI și Simulation Testing folosesc credite; utilizarea continuă depinde de alocarea disponibilă și de plan.
Am nevoie de Apps Script, Python sau de un server de automatizare?
Această rețetă folosește Quickchat AI Actions și o formulă Google Sheets. Inserezi setările cererii, corpul JSON și promptul furnizate în panoul de control; nu implementezi Apps Script, un bot Python sau un server de automatizare.
Pot folosi foaia de cheltuieli existentă?
Această rețetă folosește foaia creată de integrarea Google Sheets din Quickchat AI. Autorizarea drive.file nu îi oferă acces nelimitat la Drive. Nu înlocui ID-ul foii cu un fișier existent oarecare presupunând că este accesibil.
Poate botul să citească fotografii de bonuri sau mesaje vocale?
Acest tutorial acoperă cheltuieli scrise. Extragerea datelor din bonuri necesită propriul test de livrare a imaginilor și de confirmare în Telegram înainte să te bazezi pe ea. Transcrierea vocală și analizarea bonurilor PDF nu fac parte din această configurare.
Cum gestionează monedele diferite și înregistrările duplicate?
Fiecare monedă are un total lunar separat; rețeta nu face conversii valutare. Confirmarea reduce înregistrările accidentale, dar nu oferă prevenirea atomică a duplicatelor. Dacă o salvare expiră, inspectează foaia înainte să trimiți din nou.