Як створити трекер витрат у Telegram із Google Sheets

Piotr Grudzień
Опубліковано Час читання: 12 хв
Реальна розмова Pocket Ledger у Telegram поруч із підсумками Google Sheets: 12,20 EUR і 6,00 USD

Кава, автобусний квиток, записник. Дрібні покупки легко забути, поки ви відкриєте таблицю. А якби для запису покупки вистачало одного повідомлення в Telegram, а для перевірки підсумку за місяць ще одного?

У цьому посібнику ми створимо Pocket Ledger, трекер витрат у Telegram із Google Sheets. Надішліть покупку, підтвердьте запропоновані дані та запитайте місячний підсумок. Таблиця зберігає рядки й виконує обчислення, а бот веде розмову. Ось готовий результат.

Перший результат: одна збережена кава. Другий: підсумок, який можна перевірити в таблиці. Ви також дізнаєтеся, чому слово «збережено» у відповіді бота є лише половиною доказу.

Завантажте набір для налаштування Pocket Ledger, щоб отримати оформлену стартову книгу, аватар, промпт, налаштування Actions і аркуш перевірок. Імпортуйте книгу в таблицю, створену Quickchat AI, а потім виконайте кроки нижче. Усі приклади для копіювання використовують англійську мову та листопад 2026 року, щоб ви могли порівняти свої результати зі знімками екрана.

Що потрібно для створення трекера витрат у Telegram?

Потрібні Telegram, обліковий запис Google і обліковий запис Quickchat AI. Для налаштування використовуються панель керування та формула таблиці, тому окрему програму розміщувати не потрібно.

  1. Створіть обліковий запис Quickchat AI, пройдіть перевірку та створіть Agent з назвою Pocket Ledger.
  2. Підготуйте обліковий запис Google для нової таблиці. Почніть із вигаданих записів нижче.
  3. Для цієї вправи використайте нового Telegram-бота. Для перевірки доступу наприкінці знадобиться другий довірений обліковий запис Telegram.

План Free у Quickchat AI призначений для особистого некомерційного навчання й має обмежений обсяг використання. Розмови з AI та Simulation Testing витрачають кредити. Перед вибором плану для постійного використання перегляньте актуальні плани й ліміти.

Схема з однією Action для запису рядків витрат і окремою Action для читання підсумку Два напрямки, дві Actions. Збереження рядка не дає Agent змоги читати попередні підсумки.

Крок 1. Як підключити приватного Telegram-бота?

BotFather створює ідентичність вашого бота. Quickchat AI надає Agent, який відповідає на його повідомлення.

Відкрийте офіційного @BotFather, надішліть /newbot, назвіть бота Pocket Ledger і виберіть вільне ім’я користувача, яке закінчується на bot. За допомогою /setuserpic завантажте аватар із набору. Тримайте токен у таємниці: ви вставите його безпосередньо в Quickchat AI.

BotFather створює бота Pocket Ledger, токен приховано

Виберіть ім’я для показу та унікальне ім’я користувача. Токен BotFather приховано.

У Quickchat AI відкрийте External Apps → Telegram → Your own bot. Виберіть Connect to Telegram, вставте облікові дані в Bot Token і підтвердьте діалог. Увімкніть Enable your own bot та виберіть Save. Покрокова інструкція BotFather докладно пояснює ці екрани.

Quickchat AI показує підключений Pocket Ledger із увімкненим перемикачем Enable your own bot Підключений бот має те саме ім’я Pocket Ledger, яке ви побачите в Telegram.

Відкрийте посилання нового бота в Telegram, надішліть /start, а потім Hello у приватному чаті. /start надсилає вітальне повідомлення, а звичайне повідомлення створює розмову в Inbox і метадані відправника, потрібні в наступних кроках. Під час налаштування залишайте Actions із персональними даними неактивними.

Pocket Ledger відповідає на start і Hello в реальній приватній розмові Telegram

Відповідь на Hello підтверджує, що Telegram звертається до Quickchat AI. Обмін Hello також з’являється в Quickchat Inbox.

Відкрийте цю розмову в Quickchat AI: Inbox → Details → Visitor. Знайдіть Telegram User Id і Telegram Chat Type (ключі метаданих: telegram_user_id і telegram_chat_type). Скопіюйте числовий ID користувача кнопкою, що з’являється при наведенні, і переконайтеся, що тип чату: private.

Дані відвідувача в Inbox із полем Telegram User Id і Telegram Chat Type зі значенням private, особисті значення приховано Візьміть ідентифікатор відправника з цього поля. Особисті ідентифікатори на знімку приховано. Використовуйте власне справжнє значення.

ID надходить із метаданих відправника Telegram. Ваше ім’я користувача, число, введене в повідомленні, та ID самого бота є різними значеннями. У наступних кроках ви обмежите обидві Actions за ID відправника.

Крок 2. Як підготувати таблицю Google?

Інтеграція Google Sheets створює таблицю та початкову Action. Використовуйте цей файл, щоб Action і дозвіл Google стосувалися одного ресурсу.

  1. Відкрийте Actions & MCPs → Add Action → Google Sheets і авторизуйте обліковий запис Google. Інструкція з підключення Google Sheets пояснює надання згоди та початкове налаштування.
  2. Одразу вимкніть початкову Action. Вона створюється активною. Збережіть назву log_lead_to_google_sheet, оскільки під час повторного підключення її знаходять за цією назвою. Ми змінимо її призначення на збереження витрат.
  3. Відкрийте створену таблицю та назвіть її Pocket Ledger demo. У цьому новому демонстраційному файлі виберіть File → Import → Upload, укажіть pocket-ledger-starter.xlsx із набору та виберіть Replace spreadsheet, а потім натисніть Import data. Так ви підготуєте Expenses і Summary у файлі, до якого має доступ Quickchat AI. Використовуйте цей варіант лише в новій демонстраційній таблиці.
  4. Перевірте три початкові рядки нижче. У Summary початкові підсумки мають становити 7,70 EUR і 6,00 USD. Крок 6 пояснює формулу та підключає Action для читання.

Діалог підключення Google Sheets у Quickchat AI пояснює створення таблиці та початкової Action Почніть із підключення Google Sheets. Авторизація створює таблицю, яку використовують обидві Actions.

Хочете створити аркуші самостійно? Перейменуйте початковий аркуш на Expenses. Для цих англомовних прикладів установіть File → Settings → Locale → United States. Задайте для A:D і F:H формат Plain text, а для E формат Number із двома десятковими знаками, потім вставте блок нижче в A1. Закріпіть рядок заголовків і розширте стовпці. Додайте Summary за кроком 6. Google також описує імпорт книги Excel в наявну таблицю.

Скопіювати три початкові витрати
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

Реальний аркуш Expenses до збереження через Telegram із трьома вигаданими початковими покупками Три початкові витрати готові до четвертої. Суми в E є числами, а коди валют у F є окремими текстовими значеннями.

Стовпець conversation_url пов’язуватиме кожну нову витрату з її розмовою. Для трьох прикладів, введених вручну, залиште його порожнім. Дозвіл Google drive.file охоплює файли, створені застосунком або явно надані йому. Ця інструкція використовує таблицю, створену інтеграцією, і не надає доступ до всього Drive.

Крок 3. Як обмежити доступ до витрат власним чатом?

Установіть Run only when для кожної Action, що читає або змінює записник. Мають виконуватися обидві умови, тому лише вашого ID у груповому чаті недостатньо.

Ключ метаданихПорівнянняЗначення
telegram_user_idequalsВаш справжній числовий ID відправника з кроку 1
telegram_chat_typeequalsprivate
  1. Відкрийте неактивну Action log_lead_to_google_sheet і знайдіть Run only when.
  2. Додайте обидві умови з таблиці. Використовуйте точні ключі метаданих і цифри вашого ID, без імені користувача та префікса @.
  3. Збережіть Action, залишивши її неактивною. Застосуйте ті самі умови до Action читання, коли створюватимете її в кроці 6.

Редактор Action витрат з умовами запуску за ID власника та приватним чатом Умови Action збереження в локальній демонстрації. Замініть вигаданий ID на свій справжній ID відправника й повторіть обидві умови для Action читання.

Схема, за якою для запуску обох Actions із персональними даними потрібні ідентичність власника та приватний чат Telegram Обидві умови потрібні для обох Actions. Інший відправник або груповий чат мають не пройти перевірку ще до того, як HTTP-запит надійде до Google Sheets.

Це умови Actions, які перевіряє сервер. Фраза «відповідай лише мені» в промпті не перевіряє доступ. Також обмежте спільний доступ до таблиці та доступ до облікового запису Quickchat AI.

Крок 4. Як навчити бота зберігати підтверджену витрату?

Переналаштуйте початкову Action на додавання одного рядка в порядку стовпців таблиці. Установіть When to run → AI decides, щоб вона могла чекати підтвердження. Перш ніж увімкнути її, задайте Agent правило підтвердження.

Налаштуйте поля витрати

У розділі What to ask the user first замініть поля ліда цими параметрами. Збережіть назви параметрів точно як показано.

ПараметрФорматОбов’язковийОпис для введення
dateTextТакДата витрати у форматі YYYY-MM-DD, підтверджена власником. Запитайте, якщо відсутня.
monthTextТакYYYY-MM із підтвердженої дати.
itemTextТакКоротка назва покупки.
categoryTextТакПроста категорія, узгоджена з власником, наприклад їжа або транспорт.
amountDecimal NumberТакДодатна числова сума без символу валюти.
currencyTextТакПідтверджений код валюти ISO, наприклад EUR або USD. Уточнюйте неоднозначні символи.
noteTextНіНеобов’язкова примітка. Залиште порожньою, якщо її не надано.

Збережіть справжній ID таблиці з наявного API Endpoint. Змініть діапазон на Expenses!A:H, залиште метод POST і задайте Query Params: valueInputOption=RAW та insertDataOption=INSERT_ROWS. Видаліть дубльовані параметри запиту, якщо вони вже є в URL.

Скопіювати зразок запиту додавання
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 є пояснювальним заповнювачем. Збережіть справжній ID, уже наявний у початковій URL-адресі, а не вставляйте замість нього цей текст. У значенні Authorization виберіть наявний System Token Google Sheets, а в тілі запиту: вбудовану змінну URL розмови.

На вкладці Body введіть:

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

Справжній редактор Body для API Endpoint з рядком витрати та елементами параметрів Локальні налаштування Action витрат. Тіло запиту визначає порядок клітинок, а формат параметра суми визначає її числовий тип.

Залиште лапки навколо {{amount}} у редакторі. Цей точний заповнювач посилається на параметр Decimal Number, тому підстановка створює число JSON, наприклад 4.5. Без лапок JSON у редакторі стане некоректним. У підсумковій таблиці перевірте, що E містить число та враховується формулою.

Рядок додає API append Google. RAW зберігає текст, наприклад примітку, що починається з =, буквально, не обчислюючи його як формулу. Числовий параметр задає тип суми.

Скопіювати опис Action збереження
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.

Дайте Pocket Ledger інструкції

Відкрийте Identity → Main Prompt і вставте текст нижче. У ньому названо обидві Actions, щоб другий результат став доступним після додавання читання підсумку.

Редактор Main Prompt для Pocket Ledger у Quickchat AI Main Prompt розміщено в Identity. Локальний знімок показує, де знаходиться поле. Скористайтеся повним блоком для копіювання нижче.

Правило підтвердження дає час на перевірку. До схвалення покупки можна виправити «EUR 4.50» на «EUR 5.00». Agent має оновити пропозицію та знову попросити підтвердження.

Скопіювати Main Prompt для 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.

Збережіть промпт, ще раз перевірте обидві умови запуску та ввімкніть Action витрат. Її назва досі log_lead_to_google_sheet, але нові параметри, опис і тіло запиту тепер задають процес роботи з витратами.

Крок 5. Як зберегти першу витрату?

Тепер додайте до записника перший новий запис. Залиште відкритими Telegram, Inbox і таблицю, щоб простежити ту саму каву в кожному з них.

  1. У приватному чаті Telegram надішліть Coffee, 4.50 euros on 2026-11-04.
  2. Перевірте пропозицію: дата 2026-11-04, покупка Coffee, категорія Food, сума 4.50, валюта EUR. Під час збереження рядка Action визначає month як 2026-11.
  3. Перед підтвердженням перевірте Expenses: там мають залишатися лише три початкові рядки.

Надішліть Save it один раз, а потім відкрийте розмову в Inbox Quickchat AI. Біля відповіді про збереження є розгортаний блок 1 action called. Відкрийте його, щоб побачити, що відбулося за короткою відповіддю в Telegram.

Відповідь про збереження кави в Quickchat Inbox із розгортаним блоком one action called Те саме підтвердження в Inbox і Action, яку можна перевірити.

Розгорніть Result → Show full. Перевірте дату, визначений місяць, числову суму, валюту та HTTP-статус. У цьому реальному запуску Google повернув HTTP 200, updatedRows: 1 і updatedRange: Expenses!A5:H5.

Розгорнута Action витрат в Inbox показує справжні вхідні дані та успішне додавання одного рядка, приватні ідентифікатори приховано Action збереження надіслала суму 4.5 як число та записала один рядок. Приватні ідентифікатори приховано, повернений діапазон і результат залишаються видимими.

Насамкінець відкрийте Expenses. Рядок 5 має містити ту саму каву, 2026-11 у стовпці місяця, 4.50 у сумі та EUR у валюті. Останній стовпець посилається на розмову в Inbox, тож можна простежити запис до повідомлення, з якого він виник.

Google Sheets після підтвердження в Telegram із новою кавою в рядку 5 аркуша Expenses Четверта витрата надійшла через Telegram. Приватне посилання на Inbox приховано на опублікованому зображенні.

Тепер у вас є корисна щоденна звичка: надіслати, підтвердити, перевірити. Далі надайте боту надійне джерело для читання, коли запитаєте, куди пішли гроші за місяць.

Крок 6. Як запитати місячний підсумок?

Нехай Google Sheets обчислює підсумок, а Action читання отримує його. Коли обчислення залишаються в таблиці, відповідь можна перевірити навіть після завершення розмови.

Додайте вкладку Summary

Якщо ви імпортували стартову книгу, Summary та його формули вже готові. Початкові значення становлять 7,70 EUR і 6,00 USD. Збереження кави змінює лише рядок EUR. Якщо створюєте таблицю вручну, виконайте кроки нижче.

Початковий аркуш Summary показує 7,70 EUR і 6,00 USD до збереження кави Початкова точка: дві валюти, два незалежні підсумки.

  1. Створіть вкладку Summary. Задайте стовпцям A:B формат Plain text, потім введіть month, currency, total у A1:C1.
  2. Введіть 2026-11 і EUR у A2:B2, потім 2026-11 і USD у A3:B3.
  3. Введіть цю формулу в C2 та заповніть нею C3. Задайте C числовий формат із двома десятковими знаками.
=SUMIFS(Expenses!$E$2:$E$501,Expenses!$B$2:$B$501,A2,Expenses!$F$2:$F$501,B2)

Функція SUMIFS додає суми, місяць і валюта яких відповідають рядку підсумку. Якщо локаль таблиці вимагає крапок із комою між аргументами, замініть коми формули крапками з комою. Числа в JSON-запиті все одно використовують десяткову крапку.

Справжня формула Summary та оновлені листопадові підсумки після збереження кави Виберіть C2, щоб побачити формулу суми 12,20 EUR. Рядок USD залишається 6,00.

Приклад обчислення, що зберігає листопадові 12,20 EUR окремо від 6,00 USD Початкові 7,70 EUR плюс нова кава за 4,50 EUR дають 12,20 EUR. Блокнот за 6,00 USD належить до окремого підсумку.

Стартова формула охоплює рядки від 2 до 501. У зафіксованому запуску після вставлення нового рядка всі три діапазони закінчуються на 502. Sheets може коригувати посилання під час вставлення. Перевіряйте, щоб усі три діапазони Expenses залишалися узгодженими, і розширюйте їх разом, перш ніж записи вийдуть за охоплений діапазон. Додайте рядок підсумку для кожної пари місяця та валюти, про яку хочете запитувати.

Додайте Action читання

Відкрийте Actions & MCPs → Add Action → API Action. Скористайтеся Generate із запитом нижче: згенеровані Actions створюються неактивними. Назвіть її read_expense_summary і залиште When to run у значенні AI decides, щоб результат міг вплинути на відповідь. Використайте той самий справжній ID таблиці й System Token Google Sheets. Параметри від користувача не потрібні.

Скопіювати запит до конструктора Action
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.

Порівняйте згенеровані налаштування зі зразком нижче. Якщо натомість виберете Create manually, додайте обидві умови до першого збереження коректної конфігурації, яке може активувати Action. Залиште Response filter порожнім в обох Actions, щоб зберегти поля, потрібні для перевірок.

Скопіювати запит читання підсумку
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

Ендпоїнт values.get повертає values діапазону, зокрема заголовок і обчислені суми. UNFORMATTED_VALUE повертає числові результати замість рядків із валютним форматуванням. Залиште відповідь доступною для Agent, щоб він міг прочитати ці значення.

Скопіювати опис Action читання
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.

Застосуйте ті самі дві умови Run only when із кроку 3, збережіть і ввімкніть Action. Діапазон читання містить 24 рядки підсумків. Цілеспрямовано розширюйте його, коли додаєте більше.

Action читання підсумку витрат із тими самими умовами ID власника та приватного чату Другій Action потрібні власні умови. Це знімок локальних налаштувань, а не реальна перевірка авторизації відправника.

Запитайте What is my November 2026 total in EUR?, а потім запитайте про USD. У нашій розмові в Telegram Pocket Ledger повернув 12.2 EUR і 6 USD, що відповідає відформатованим значенням 12.20 і 6.00 у таблиці. Для кожної відповіді він прочитав збережений підсумок.

Справжні відповіді Telegram про листопадові підсумки в EUR і USD після збереження кави

Окреме запитання для кожної валюти. Pocket Ledger читає таблицю, а не додає числа із запам’ятованих повідомлень.

Відкрийте відповідь про місячний підсумок в Inbox і розгорніть її Action. Порівняйте повернений рядок із Summary!C2. Реальна відповідь нижче містить 2026-11, EUR, 12.2 та окремий рядок USD, 6 зі статусом HTTP 200.

Action читання підсумків витрат в Inbox повертає справжні листопадові суми EUR і USD із Google Sheets Тепер відповідь, повернені значення та таблиця узгоджені. Це той результат, який ви бачили на початку.

Як перевірити помилки до використання справжніх витрат?

Перевіряйте неповні запити й заблокованих відправників так само ретельно, як успішне збереження кави. Залишайте демонстраційні дані, доки не пройдете наведені нижче перевірки.

Що спробуватиЩо перевірити
Lunch, $12 yesterdayAgent запитує валюту та точну дату. Новий рядок не з’являється.
Виправити запропоновану суму перед підтвердженнямВиправлену пропозицію підтверджено до додавання одного рядка.
Запитати підсумок за листопад у EUR, потім у USDОкремі результати для прикладу: 12,20 EUR і 6,00 USD.
Запитати грудень 2026 року без рядка підсумку за груденьAgent повідомляє, що підсумок недоступний, замість вигаданого нуля.
Другий відправник запитує підсумок і пробує зберегти витратуОбидві Actions відхилено, персональні значення не розкриваються.
Власник робить ті самі запити в групіОбидві Actions відхилено, оскільки чат не приватний.
Збереження завершується помилкою або тайм-аутомВідповідь повідомляє про помилку або невизначеність. Перевірте таблицю перед повторною спробою.

Для повторюваних мовних тестів відкрийте Testing → Create Dataset → Paste messages і використайте повідомлення та критерії оцінювання з набору. Окремо проведіть повну розмову для послідовності підтвердження. Метадані Preview або Simulation є тестовими даними й не доводять, що справжній другий відправник Telegram заблокований.

Тестовий набір даних Pocket Ledger у справжньому інтерфейсі Testing Quickchat AI Локальний набір даних підготовлено для тестування. Його наявність не означає завершеного запуску Simulation і не доводить запис до Google Sheets.

Якщо поведінка неправильна, змініть одну відповідну інструкцію, повторіть ті самі вхідні дані та знову перевірте виклик і таблицю. Наприклад, передчасне додавання потребує уважнішого перегляду формулювання підтвердження в Action збереження. Підтвердження є інструкцією, а не гарантією унікальності в базі даних. Після тайм-ауту важливіше перевірити таблицю, ніж знову натиснути «надіслати».

Коли весь шлях працюватиме, видаліть вигадані витрати, залиште заголовки й формули та додайте рядки підсумків для місяців і валют, які справді використовуєте. Першу реальну покупку можна записати так само, як каву.

Чи може AI-асистент допомогти налаштувати Pocket Ledger?

Підключений асистент для керування обліковим записом може допомогти підготувати Agent і перевірити налаштування Actions. Скористайтеся Manage with AI через інтеграцію Quickchat AI для ChatGPT або інтеграцію для Claude. Надайте йому набір налаштувань і цей запит:

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.

Власник надає згоду Google та підключає Telegram. Перевірте налаштування й виконайте ті самі перевірки незалежно від того, хто їх увів.

Поширені запитання

Як відстежувати витрати в Telegram за допомогою Google Sheets?

Підключіть Telegram-бота до Quickchat AI Agent і авторизуйте Google Sheets. Налаштуйте одну Action для додавання витрати після підтвердження, а іншу для читання місячного підсумку, обчисленого формулою. Обмежте обидві Actions своїм ID користувача Telegram і приватним чатом.

Чи може бот сказати, скільки я витратив цього місяця?

Так, якщо для запитаного місяця й валюти є рядок у налаштованому діапазоні Summary. Google Sheets обчислює підсумок за допомогою SUMIFS, а Action читання отримує його. Action лише для додавання не може отримувати підсумки, а відсутній рядок підсумку не означає нуль.

Чи може хтось інший прочитати мої витрати через Telegram-бота?

Обидві Actions із персональними даними мають вимагати ваш перевірений telegram_user_id і telegram_chat_type зі значенням private. Ці умови блокують виклики від інших відправників і з груп. Перевірте обидва випадки, перш ніж додавати персональні дані, та також обмежте доступ до таблиці й облікового запису Quickchat AI.

Чи безкоштовний цей трекер витрат у Telegram?

Створення Telegram-бота безкоштовне. План Free у Quickchat AI підтримує особисте некомерційне навчання з обмеженою кількістю AI-кредитів. Відповіді AI та Simulation Testing витрачають кредити, тому подальше використання залежить від доступного залишку та плану.

Чи потрібні Apps Script, Python або сервер автоматизації?

Ця інструкція використовує Quickchat AI Actions і формулу Google Sheets. Ви вставляєте надані налаштування запиту, тіло JSON і промпт у панель керування. Розгортати Apps Script, Python-бота або сервер автоматизації не потрібно.

Чи можна використати наявну таблицю витрат?

Ця інструкція використовує таблицю, створену інтеграцією Google Sheets у Quickchat AI. Її дозвіл drive.file не дає необмеженого доступу до Drive. Не замінюйте ID таблиці на довільний наявний файл, припускаючи, що він доступний.

Чи може бот читати фотографії чеків або голосові повідомлення?

Ця інструкція охоплює витрати, введені текстом. Перш ніж покладатися на розпізнавання чеків, потрібна окрема перевірка передавання зображень із Telegram і підтвердження. Розпізнавання голосу та обробка PDF-чеків не входять до цього налаштування.

Як обробляються різні валюти та дублікати записів?

Кожна валюта має окремий місячний підсумок, конвертація валют не виконується. Підтвердження зменшує випадкові записи, але не забезпечує атомарного захисту від дублікатів. Якщо збереження перевищило час очікування, перевірте таблицю, перш ніж надсилати його знову.

Quickchat AI Quickchat AI Ask Quickchat AI a question