Zbuduj rejestr wydatków w Telegramie z Google Sheets

Piotr Grudzień
Opublikowano 12 min czytania
Prawdziwa rozmowa Pocket Ledger w Telegramie obok podsumowania Google Sheets z kwotami 12,20 EUR i 6,00 USD

Kawa, bilet autobusowy, notes. O drobnych zakupach łatwo zapomnieć, zanim otworzysz arkusz. A gdyby do zapisania wydatku wystarczyła wiadomość w Telegramie, a do sprawdzenia miesiąca kolejna?

W tym poradniku zbudujesz Pocket Ledger, czyli rejestr wydatków w Telegramie z Google Sheets. Wyślij zakup, zatwierdź proponowane szczegóły i zapytaj o miesięczną sumę. Arkusz przechowuje wiersze i wykonuje obliczenia, a bot prowadzi rozmowę. Tak wygląda gotowy rezultat.

Pierwszy etap to jedna zapisana kawa. Drugi to suma, którą można sprawdzić w arkuszu. Dowiesz się też, dlaczego odpowiedź „zapisano” w czacie jest tylko połową dowodu.

Pobierz zestaw konfiguracyjny Pocket Ledger ze sformatowanym skoroszytem startowym, awatarem, promptem, ustawieniami Actions i arkuszem testów. Zaimportuj skoroszyt do arkusza utworzonego przez Quickchat AI, a następnie wykonaj poniższe kroki. Wszystkie przykłady do skopiowania są po angielsku i dotyczą listopada 2026, aby można było porównać wyniki ze zrzutami.

Czego potrzebujesz do zbudowania rejestru wydatków w Telegramie?

Potrzebujesz Telegrama, konta Google i konta Quickchat AI. Wystarczą ustawienia panelu oraz formuła w arkuszu; nie trzeba hostować programu.

  1. Załóż konto Quickchat AI, ukończ weryfikację i utwórz Agenta o nazwie Pocket Ledger.
  2. Przygotuj konto Google dla nowego arkusza. Zacznij od fikcyjnych danych podanych poniżej.
  3. Do tego ćwiczenia użyj nowego bota Telegrama. Przygotuj drugie zaufane konto Telegrama do końcowego testu dostępu.

Plan Free w Quickchat AI służy osobistej, niekomercyjnej nauce i obejmuje ograniczony limit. Rozmowy AI oraz Simulation Testing zużywają kredyty. Przed wyborem planu do dalszego użytkowania sprawdź aktualne plany i limity.

Schemat jednej Action zapisującej wiersze wydatków oraz oddzielnej Action odczytującej podsumowanie Dwa kierunki, dwie Actions. Sam zapis wiersza nie daje Agentowi możliwości odczytywania wcześniejszych sum.

Krok 1: Jak podłączyć prywatnego bota Telegrama?

BotFather tworzy tożsamość bota. Quickchat AI dostarcza Agenta, który odpowiada na jego wiadomości.

Otwórz oficjalnego @BotFather, wyślij /newbot, nadaj botowi nazwę Pocket Ledger i wybierz wolną nazwę użytkownika kończącą się na bot. Poleceniem /setuserpic prześlij awatar z zestawu. Zachowaj token w tajemnicy; wkleisz go bezpośrednio do Quickchat AI.

BotFather tworzy bota Pocket Ledger; token jest ukryty

Wybierz nazwę wyświetlaną i unikatową nazwę użytkownika. Token BotFather jest ukryty.

W Quickchat AI otwórz External Apps → Telegram → Your own bot. W oknie Connect to Telegram wklej dane uwierzytelniające w Bot Token. Włącz Enable your own bot, a następnie wybierz Save. Przewodnik po BotFather szczegółowo opisuje te ekrany.

Quickchat AI pokazuje połączonego Pocket Ledger z włączonym Enable your own bot Połączony bot ma tę samą nazwę Pocket Ledger, którą zobaczysz w Telegramie.

Otwórz link nowego bota w Telegramie, wyślij /start, a następnie Hello w prywatnej rozmowie. /start wysyła wiadomość powitalną, a zwykła wiadomość tworzy rozmowę w Inbox i metadane nadawcy potrzebne w dalszych krokach. Podczas konfiguracji pozostaw Actions dotyczące danych osobistych nieaktywne.

Pocket Ledger odpowiada na start i Hello w prawdziwej prywatnej rozmowie w Telegramie

Odpowiedź na Hello potwierdza, że Telegram dociera do Agenta. Wymiana Hello pojawia się także w Quickchat Inbox.

Otwórz tę rozmowę w Quickchat AI przez Inbox → Details → Visitor. Znajdź Telegram User Id i Telegram Chat Type (klucze metadanych to telegram_user_id i telegram_chat_type). Skopiuj numeryczny identyfikator użytkownika przyciskiem pojawiającym się po najechaniu kursorem i potwierdź, że typ rozmowy to private.

Szczegóły odwiedzającego w Inbox z polem Telegram User Id i Telegram Chat Type ustawionym na private; prywatne wartości są ukryte Skopiuj identyfikator nadawcy z tego pola. Na zrzucie identyfikatory są ukryte; użyj własnej rzeczywistej wartości.

Identyfikator pochodzi z metadanych nadawcy Telegrama. Nazwa użytkownika, numer wpisany w wiadomości i identyfikator samego bota to inne wartości. W kolejnych krokach użyjesz ID nadawcy do ograniczenia obu Actions.

Krok 2: Jak przygotować arkusz Google Sheets?

Integracja Google Sheets tworzy arkusz i początkową Action. Użyj tego samego pliku, aby Action oraz uprawnienie Google dotyczyły tego samego zasobu.

  1. Otwórz Actions & MCPs → Add Action → Google Sheets i autoryzuj konto Google. Poradnik połączenia z Google Sheets wyjaśnia zgodę i początkową konfigurację.
  2. Natychmiast wyłącz początkową Action. Powstaje jako aktywna. Zachowaj nazwę log_lead_to_google_sheet, ponieważ ponowne połączenie wyszukuje ją po nazwie. Zmienimy jej zastosowanie na zapisywanie wydatków.
  3. Otwórz utworzony arkusz i nazwij go Pocket Ledger demo. W tym nowym pliku demonstracyjnym wybierz File → Import → Upload, wskaż pocket-ledger-starter.xlsx z zestawu wybierz Replace spreadsheet, a następnie kliknij Import data. W pliku dostępnym dla Quickchat AI powstaną przygotowane karty Expenses oraz Summary. Użyj tej opcji wyłącznie w nowym arkuszu demonstracyjnym.
  4. Sprawdź trzy początkowe wiersze poniżej. W Summary sumy początkowe powinny wynosić 7,70 EUR i 6,00 USD. Krok 6 wyjaśnia formułę i podłącza Action odczytującą dane.

Okno połączenia Google Sheets w Quickchat AI wyjaśniające utworzenie arkusza i początkowej Action Zacznij od połączenia Google Sheets. Autoryzacja tworzy arkusz używany przez obie Actions.

Wolisz samodzielnie przygotować karty? Zmień nazwę początkowej karty na Expenses. Dla tych angielskich przykładów ustaw File → Settings → Locale → United States. Sformatuj A:D i F:H jako Plain text, a E jako Number z dwoma miejscami po przecinku, po czym wklej poniższy blok do A1. Zablokuj wiersz nagłówka i poszerz kolumny. Dodaj Summary zgodnie z krokiem 6. Google opisuje również import skoroszytu Excel do istniejącego arkusza.

Skopiuj trzy początkowe wydatki
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

Prawdziwa karta Expenses przed zapisem z Telegrama, z trzema fikcyjnymi zakupami początkowymi Trzy początkowe wydatki, gotowe na czwarty. Kwoty są liczbami w E, a kody walut osobnymi wartościami tekstowymi w F.

Kolumna conversation_url połączy każdy nowy wydatek z rozmową. Pozostaw ją pustą w trzech ręcznie wpisanych przykładach. Uprawnienie Google drive.file obejmuje pliki utworzone przez aplikację lub jawnie jej udostępnione; ten przepis używa arkusza utworzonego przez integrację i nie daje dostępu do całego Dysku.

Krok 3: Jak ograniczyć wydatki do własnej rozmowy?

Ustaw Run only when dla każdej Action odczytującej lub zapisującej rejestr. Muszą być spełnione oba warunki, więc sam Twój identyfikator nie wystarczy w rozmowie grupowej.

Klucz metadanychPorównanieWartość
telegram_user_idequalsTwój rzeczywisty numeryczny identyfikator nadawcy z kroku 1
telegram_chat_typeequalsprivate
  1. Otwórz nieaktywną Action log_lead_to_google_sheet i znajdź Run only when.
  2. Dodaj oba powyższe warunki. Użyj dokładnych kluczy metadanych i cyfr swojego ID, bez nazwy użytkownika ani prefiksu @.
  3. Zapisz Action, pozostawiając ją nieaktywną. Te same warunki zastosuj do Action odczytującej, gdy utworzysz ją w kroku 6.

Edytor Action wydatków z warunkami wykonania dla identyfikatora właściciela i prywatnej rozmowy Warunki Action zapisującej w lokalnej demonstracji. Zastąp fikcyjne ID rzeczywistym identyfikatorem nadawcy i powtórz oba warunki w Action odczytującej.

Schemat wymagający tożsamości właściciela i prywatnego czatu Telegrama przed wykonaniem którejkolwiek Action z danymi osobistymi Oba warunki muszą znaleźć się w obu Actions. Inny nadawca lub rozmowa grupowa muszą zostać odrzuceni, zanim żądanie HTTP dotrze do Google Sheets.

Są to warunki Actions egzekwowane na serwerze. Wpisanie w prompcie „odpowiadaj tylko mnie” nie jest kontrolą dostępu. Ogranicz też udostępnianie arkusza oraz dostęp do konta Quickchat AI.

Krok 4: Jak sprawić, by bot zapisywał potwierdzone wydatki?

Zmień początkową Action tak, aby dodawała wiersz zgodnie z kolejnością kolumn arkusza. Ustaw When to run → AI decides, aby mogła poczekać na potwierdzenie. Następnie przed aktywacją przekaż Agentowi regułę potwierdzania.

Skonfiguruj pola wydatku

W What to ask the user first zastąp pola leadów poniższymi parametrami. Zachowaj dokładnie podane nazwy.

Nazwa parametruFormat danychWymaganyOpis do wpisania
dateTextTakData wydatku w YYYY-MM-DD, potwierdzona przez właściciela. Zapytaj, jeśli jej brakuje.
monthTextTakYYYY-MM pobrane z potwierdzonej daty.
itemTextTakKrótka nazwa zakupu.
categoryTextTakProsta kategoria uzgodniona z właścicielem, np. jedzenie lub transport.
amountDecimal NumberTakDodatnia kwota liczbowa, bez symbolu waluty.
currencyTextTakPotwierdzony kod ISO waluty, np. EUR lub USD. Wyjaśnij niejednoznaczne symbole.
noteTextNieOpcjonalna notatka. Pozostaw puste, jeśli jej nie podano.

Zachowaj rzeczywisty identyfikator arkusza z istniejącego API Endpoint. Zmień zakres na Expenses!A:H, pozostaw metodę POST i ustaw Query Params na valueInputOption=RAW oraz insertDataOption=INSERT_ROWS. Usuń powielone parametry, jeśli są już w adresie URL.

Skopiuj wzór żądania dodania wiersza
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 to oznaczenie objaśniające. Zachowaj prawdziwe ID obecne już w początkowym adresie URL; nie zastępuj go tym oznaczeniem. W wartości Authorization wybierz istniejący System Token Google Sheets, a w treści wbudowaną zmienną adresu rozmowy.

Na karcie Body wpisz:

{"values":[["{{date}}","{{month}}","{{item}}","{{category}}","{{amount}}","{{currency}}","{{note}}","{{conversation_url}}"]]}

Rzeczywisty edytor Body w API Endpoint z wierszem wydatku i znacznikami parametrów Lokalna konfiguracja Action wydatków. Treść definiuje kolejność komórek, a format parametru kwoty określa jego typ liczbowy.

Zachowaj cudzysłowy wokół {{amount}} w edytorze. Ten dokładny znacznik odwołuje się do parametru Decimal Number, więc podstawienie daje liczbę JSON, np. 4.5. Usunięcie cudzysłowów sprawi, że JSON w edytorze będzie niepoprawny. W docelowym arkuszu sprawdź, czy E jest liczbą i jest uwzględniana w formule.

API append Google dodaje wiersz. RAW zachowuje dosłowny tekst, np. notatkę zaczynającą się od =, zamiast wykonywać go jako formułę. Parametr liczbowy zapewnia typ kwoty.

Skopiuj opis Action zapisującej
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.

Przekaż instrukcje Pocket Ledger

Otwórz Identity → Main Prompt i wklej poniższy tekst. Wskazuje obie Actions, dzięki czemu drugi etap zadziała po dodaniu odczytu podsumowania.

Edytor Main Prompt agenta Pocket Ledger w Quickchat AI Main Prompt znajduje się w Identity. Ten lokalny zrzut pokazuje położenie pola; użyj całego bloku do skopiowania poniżej.

Reguła potwierdzania daje chwilę na sprawdzenie danych. Przed zatwierdzeniem zakupu możesz poprawić „EUR 4.50” na „EUR 5.00”; Agent powinien zaktualizować propozycję i ponownie poprosić o potwierdzenie.

Skopiuj Main Prompt dla 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.

Zapisz prompt, ponownie sprawdź oba warunki wykonania i włącz Action wydatków. Nazwa nadal brzmi log_lead_to_google_sheet; nowe parametry, opis i treść definiują teraz obsługę wydatków.

Krok 5: Jak zapisać pierwszy wydatek?

Czas na pierwszy nowy wpis w notesie. Zostaw otwarte Telegram, Inbox i arkusz: zobaczysz tę samą kawę w każdym z nich.

  1. W prywatnej rozmowie w Telegramie wyślij Coffee, 4.50 euros on 2026-11-04.
  2. Sprawdź propozycję: data 2026-11-04, pozycja Coffee, kategoria Food, kwota 4.50, waluta EUR. Przy zapisie wiersza Action wyznacza month jako 2026-11.
  3. Przed potwierdzeniem zajrzyj do Expenses: powinny tam nadal być tylko trzy początkowe wpisy.

Wyślij Save it jeden raz, a następnie otwórz rozmowę w Inbox Quickchat AI. Przy odpowiedzi o zapisanym wydatku znajduje się rozwijane 1 action called. Otwórz je, aby zobaczyć, co kryje się za krótką odpowiedzią w Telegramie.

Odpowiedź o zapisanej kawie w Quickchat Inbox z możliwością rozwinięcia wywołanej Action To samo potwierdzenie w Inbox, gdzie można sprawdzić Action.

Rozwiń Result → Show full. Sprawdź datę, wyznaczony miesiąc, kwotę liczbową, walutę i status HTTP. W tym rzeczywistym przebiegu Google zwróciło HTTP 200, updatedRows: 1 oraz updatedRange: Expenses!A5:H5.

Rozwinięta Action wydatku w Inbox z rzeczywistymi parametrami i udanym zapisem jednego wiersza; prywatne identyfikatory są ukryte Action zapisu wysłała kwotę 4.5 jako liczbę i zapisała jeden wiersz. Prywatne identyfikatory są ukryte; zwrócony zakres i wynik pozostają widoczne.

Na koniec otwórz Expenses. Wiersz 5 powinien zawierać tę samą kawę: 2026-11 w kolumnie miesiąca, 4.50 w kwocie oraz EUR w walucie. Ostatnia kolumna prowadzi do rozmowy w Inbox, więc możesz powiązać wpis z wiadomością, która go utworzyła.

Google Sheets po potwierdzeniu w Telegramie, z nową kawą w wierszu 5 karty Expenses Czwarty wydatek dotarł przez Telegram. Prywatny link do Inbox jest ukryty na opublikowanym obrazie.

Masz już użyteczny codzienny nawyk: wyślij, potwierdź, sprawdź. Teraz zapewnij botowi wiarygodne źródło do odczytu, gdy zapytasz, na co poszły pieniądze w danym miesiącu.

Krok 6: Jak zapytać o miesięczną sumę?

Pozwól Google Sheets obliczyć sumę, a Action odczytującej ją pobrać. Obliczenia w arkuszu pozwalają zweryfikować odpowiedź nawet po zakończeniu rozmowy.

Dodaj zakładkę Summary

Jeśli zaimportowano skoroszyt startowy, karta Summary i jej formuły są już gotowe. Wartości początkowe to 7,70 EUR i 6,00 USD; zapis kawy zmienia tylko wiersz EUR. Jeśli tworzysz arkusz ręcznie, wykonaj poniższe kroki.

Początkowa karta Summary z kwotami 7,70 EUR i 6,00 USD przed zapisem kawy Punkt wyjścia: dwie waluty, dwie niezależne sumy.

  1. Utwórz zakładkę Summary. Ustaw A:B jako Plain text, a następnie wpisz month, currency, total w A1:C1.
  2. Wpisz 2026-11 i EUR w A2:B2, a następnie 2026-11 i USD w A3:B3.
  3. Wprowadź tę formułę w C2 i skopiuj ją w dół do C3. Ustaw C jako liczbę z dwoma miejscami po przecinku.
=SUMIFS(Expenses!$E$2:$E$501,Expenses!$B$2:$B$501,A2,Expenses!$F$2:$F$501,B2)

Funkcja SUMIFS dodaje kwoty, których miesiąc i waluta pasują do wiersza podsumowania. Jeśli lokalizacja arkusza wymaga średników pomiędzy argumentami, zamień przecinki w formule na średniki. Liczby w żądaniach JSON nadal używają kropki dziesiętnej.

Rzeczywista formuła Summary i zaktualizowane listopadowe sumy po zapisie kawy Zaznacz C2, aby zobaczyć formułę stojącą za 12,20 EUR. Wiersz USD nadal wynosi 6,00.

Przykładowe obliczenia oddzielające listopadowe 12,20 EUR od 6,00 USD Początkowe 7,70 EUR plus nowa kawa za 4,50 EUR dają 12,20 EUR. Notes za 6,00 USD należy do osobnej sumy.

Początkowa formuła obejmuje wiersze od 2 do 501. W pokazanym przebiegu po wstawieniu nowego wiersza wszystkie trzy zakresy kończą się na 502. Sheets może dostosowywać odwołania przy wstawianiu; sprawdzaj, czy wszystkie trzy zakresy Expenses pozostają zgodne, i rozszerzaj je razem, zanim nowe wpisy znajdą się poza nimi. Dodaj wiersz podsumowania dla każdej kombinacji miesiąca i waluty, o którą chcesz pytać.

Dodaj Action odczytującą

Otwórz Actions & MCPs → Add Action → API Action. Użyj Generate z poniższą prośbą; wygenerowane Actions powstają jako nieaktywne. Nadaj nazwę read_expense_summary i pozostaw When to run ustawione na AI decides, aby wynik mógł posłużyć do odpowiedzi. Użyj tego samego rzeczywistego ID arkusza i System Token Google Sheets. Nie są potrzebne parametry podawane przez użytkownika.

Skopiuj prośbę do kreatora 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.

Porównaj wygenerowane ustawienia z poniższym wzorem. Jeśli wybierzesz Create manually, dodaj oba warunki przed pierwszym poprawnym zapisem, który może aktywować Action. W obu Actions pozostaw Response filter puste, aby zachować pola używane do kontroli.

Skopiuj żądanie odczytu podsumowania
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

Endpoint values.get zwraca values zakresu, w tym nagłówek i obliczone kwoty. UNFORMATTED_VALUE daje wyniki liczbowe zamiast tekstu sformatowanego jako waluta. Udostępnij odpowiedź Agentowi, aby mógł odczytać te wartości.

Skopiuj opis Action odczytującej
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.

Zastosuj te same dwa warunki Run only when z kroku 3, zapisz i włącz Action. Zakres odczytu obejmuje 24 wiersze podsumowania; świadomie go rozszerz, gdy dodasz kolejne.

Action odczytująca podsumowanie wydatków z tymi samymi warunkami ID właściciela i prywatnego czatu Druga Action potrzebuje własnych warunków. To zrzut lokalnych ustawień, nie test autoryzacji prawdziwego nadawcy.

Zapytaj What is my November 2026 total in EUR?, a następnie poproś o USD. W naszej rozmowie w Telegramie Pocket Ledger zwrócił 12.2 EUR i 6 USD, zgodnie ze sformatowanymi wartościami 12.20 i 6.00 w arkuszu. Przy każdej odpowiedzi odczytał zapisane podsumowanie.

Prawdziwe odpowiedzi w Telegramie z listopadowymi sumami w EUR i USD po zapisie kawy

Jedno pytanie na walutę. Pocket Ledger odczytuje arkusz, zamiast sumować zapamiętane wiadomości.

Otwórz odpowiedź o miesięcznej sumie w Inbox i rozwiń jej Action. Porównaj zwrócony wiersz z Summary!C2. Prawdziwa odpowiedź poniżej zawiera 2026-11, EUR, 12.2 oraz osobny wiersz USD, 6, ze statusem HTTP 200.

Action read expense summary w Inbox zwraca rzeczywiste listopadowe sumy w EUR i USD z Google Sheets Odpowiedź, zwrócone wartości i arkusz są teraz zgodne. To rezultat pokazany na początku.

Jak sprawdzić błędy przed użyciem prawdziwych wydatków?

Testuj niepełne prośby i blokowanych nadawców równie uważnie jak pomyślny zapis kawy. Zachowaj dane demonstracyjne, dopóki poniższe kontrole nie przejdą poprawnie.

WypróbujCo sprawdzić
Lunch, $12 yesterdayAgent pyta o walutę i rzeczywistą datę. Nie pojawia się nowy wiersz.
Popraw proponowaną kwotę przed potwierdzeniemPoprawiona propozycja zostaje potwierdzona przed dodaniem jednego wiersza.
Zapytaj o sumę za listopad w EUR, a następnie USDOddzielne wyniki: 12,20 EUR i 6,00 USD dla danych przykładowych.
Zapytaj o grudzień 2026 bez grudniowego wiersza podsumowaniaAgent informuje, że suma jest niedostępna, zamiast wymyślać zero.
Drugi nadawca pyta o sumę i próbuje zapisać wydatekObie Actions są odrzucane i żadne osobiste wartości nie są ujawniane.
Właściciel kieruje te same prośby w grupieObie Actions są odrzucane, bo czat nie jest prywatny.
Zapis kończy się błędem lub przekroczeniem czasuOdpowiedź informuje o błędzie lub niepewności. Przed ponowieniem sprawdź arkusz.

Aby powtarzać testy zachowania językowego, otwórz Testing → Create Dataset → Paste messages i użyj wiadomości oraz kryteriów oceny z pakietu. Sekwencję potwierdzania przetestuj osobno w pełnej rozmowie. Metadane Preview lub Simulation są danymi testowymi; nie dowodzą zablokowania prawdziwego drugiego nadawcy w Telegramie.

Zestaw testowy Pocket Ledger w rzeczywistym interfejsie Testing Quickchat AI Lokalny zestaw danych jest przygotowany do testowania. Jego obecność nie oznacza ukończonej Simulation ani nie dowodzi zapisu w Google Sheets.

Jeśli zachowanie jest niepoprawne, zmień jedną istotną instrukcję, powtórz tę samą wiadomość i ponownie sprawdź wywołanie oraz arkusz. Przedwczesne dodanie wiersza wymaga na przykład przyjrzenia się opisowi potwierdzania w Action zapisującej. Potwierdzenie jest instrukcją, a nie gwarancją unikalności w bazie danych. Po przekroczeniu czasu ważniejsze od ponownego wysłania jest sprawdzenie arkusza.

Gdy cała ścieżka działa, usuń fikcyjne wydatki, zachowaj nagłówki i formuły oraz dodaj podsumowania dla miesięcy i walut, których faktycznie używasz. Pierwszy prawdziwy zakup może przejść tę samą prostą procedurę co kawa.

Czy asystent AI może pomóc skonfigurować Pocket Ledger?

Podłączony asystent do zarządzania kontem może przygotować Agenta i sprawdzić ustawienia Actions. Postępuj według Manage with AI, korzystając z wpisu Quickchat AI w ChatGPT lub wpisu w Claude. Przekaż mu pakiet ustawień oraz tę prośbę:

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.

Właściciel udziela zgody Google i kończy połączenie z Telegramem. Sprawdź ustawienia i wykonaj te same kontrole niezależnie od tego, kto je wprowadził.

Najczęstsze pytania

Jak śledzić wydatki w Telegramie z Google Sheets?

Połącz bota Telegrama z Quickchat AI Agentem i autoryzuj Google Sheets. Skonfiguruj jedną Action do dodawania wydatku po potwierdzeniu, a drugą do odczytu miesięcznego podsumowania obliczanego formułami. Ogranicz obie Actions do swojego ID użytkownika Telegrama i prywatnego czatu.

Czy bot poda, ile wydano w tym miesiącu?

Tak, jeśli żądany miesiąc i waluta mają wiersz w skonfigurowanym zakresie Summary. Google Sheets oblicza sumę za pomocą SUMIFS, a Action odczytująca ją pobiera. Action tylko dodająca wiersze nie potrafi pobierać sum, a brak wiersza podsumowania nie oznacza zera.

Czy ktoś inny może odczytać moje wydatki przez bota Telegrama?

Obie Actions z danymi osobistymi muszą wymagać Twojego zweryfikowanego telegram_user_id oraz telegram_chat_type równego private. Te warunki blokują wywołania innych nadawców i z grup. Sprawdź oba przypadki przed dodaniem danych osobistych i ogranicz również dostęp do arkusza oraz konta Quickchat AI.

Czy ten rejestr wydatków w Telegramie jest darmowy?

Utworzenie bota Telegrama jest darmowe. Plan Free w Quickchat AI umożliwia osobistą, niekomercyjną naukę z ograniczoną pulą kredytów AI. Odpowiedzi AI i Simulation Testing zużywają kredyty; dalsze korzystanie zależy od dostępnego limitu i planu.

Czy potrzebuję Apps Script, Pythona lub serwera automatyzacji?

Ten przepis używa Quickchat AI Actions i formuły Google Sheets. Wklejasz dostarczone ustawienia żądań, treść JSON i prompt do panelu; nie wdrażasz Apps Script, bota w Pythonie ani serwera automatyzacji.

Czy mogę użyć swojego istniejącego arkusza wydatków?

Ten przepis korzysta z arkusza utworzonego przez integrację Google Sheets w Quickchat AI. Autoryzacja drive.file nie daje nieograniczonego dostępu do Dysku. Nie zastępuj ID arkusza dowolnym istniejącym plikiem, zakładając, że będzie dostępny.

Czy bot odczytuje zdjęcia paragonów lub notatki głosowe?

Ten poradnik dotyczy wydatków wpisywanych tekstowo. Zanim polegasz na odczytywaniu paragonów, osobno przetestuj dostarczenie obrazu i potwierdzenie w Telegramie. Transkrypcja głosu i odczyt paragonów PDF nie należą do tej konfiguracji.

Jak obsługuje różne waluty i zduplikowane wpisy?

Każda waluta ma osobną miesięczną sumę; ten przepis nie przelicza walut. Potwierdzenie ogranicza przypadkowe wpisy, ale nie zapewnia atomowego zapobiegania duplikatom. Jeśli zapis przekroczy czas, sprawdź arkusz przed ponownym wysłaniem.

Quickchat AI Quickchat AI Ask Quickchat AI a question