أنشئ متتبع مصروفات في 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 أرصدة. راجع الخطط والحصص الحالية قبل اختيار خطة للاستخدام المستمر.

رسم يوضح إجراءً يكتب صفوف المصروفات وإجراءً منفصلًا يقرأ الملخص اتجاهان وإجراءان. حفظ صف لا يمنح الوكيل وسيلة لقراءة الإجماليات السابقة.

الخطوة 1: كيف توصل بوت Telegram الخاص بك؟

ينشئ BotFather هوية البوت، ويوفر Quickchat AI الوكيل الذي يجيب عن رسائله.

افتح حساب @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 وبيانات المرسل الوصفية اللازمة للخطوات التالية. أبقِ إجراءات البيانات الشخصية غير نشطة أثناء إعدادها.

Pocket Ledger يرد على start وHello في محادثة Telegram خاصة فعلية

يؤكد الرد على Hello أن Telegram يصل إلى وكيلك. وتظهر محادثة Hello أيضًا في Quickchat Inbox.

افتح هذه المحادثة في Quickchat AI عبر Inbox → Details → Visitor. ابحث عن Telegram User Id وTelegram Chat Type؛ مفتاحا البيانات الوصفية هما telegram_user_id وtelegram_chat_type. انسخ معرّف المستخدم الرقمي من أداة التحكم التي تظهر عند تمرير المؤشر، وتأكد من أن نوع المحادثة هو private.

تفاصيل الزائر في Inbox تعرض حقل Telegram User Id وحقل Telegram Chat Type بقيمة private مع إخفاء القيم الشخصية خذ معرّف المرسل الخاص بك من هذا الحقل. المعرّفات الشخصية مخفية في لقطة الشاشة؛ استخدم قيمتك الفعلية.

يأتي المعرّف من بيانات المرسل الوصفية في Telegram. اسم المستخدم والرقم المكتوب في رسالة ومعرّف البوت نفسه أشياء مختلفة. ستستخدم معرّف المرسل لتقييد الإجراءين في الخطوات التالية.

الخطوة 2: كيف تجهّز جدول Google Sheets؟

ينشئ تكامل Google Sheets جدول بيانات وإجراءً أوليًا. أعد استخدام الملف نفسه حتى يشير الإجراء وإذن Google إلى المورد ذاته.

  1. افتح Actions & MCPs → Add Action → Google Sheets، وامنح التفويض لحساب Google. يشرح دليل اتصال Google Sheets الموافقة والإعداد الأولي.
  2. عطّل الإجراء الأولي فورًا. يُنشأ في حالة نشطة. احتفظ باسمه 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 الصيغة وتربط إجراء القراءة.

نافذة اتصال Google Sheets في Quickchat AI تشرح الجدول الذي يُنشأ والإجراء الأولي ابدأ بربط Google Sheets. ينشئ التفويض جدول البيانات الذي يستخدمه كلا الإجراءين.

تفضل إنشاء التبويبات بنفسك؟ أعد تسمية التبويب الأول إلى 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 في كل إجراء يقرأ الدفتر أو يكتب فيه. يجب تحقق الشرطين معًا، لذا لا يكفي معرّفك وحده في محادثة جماعية.

مفتاح البيانات الوصفيةالمقارنةالقيمة
telegram_user_idequalsمعرّف المرسل الرقمي الفعلي من الخطوة 1
telegram_chat_typeequalsprivate
  1. افتح الإجراء غير النشط log_lead_to_google_sheet، وابحث عن Run only when.
  2. أضف الشرطين أعلاه. استخدم مفاتيح البيانات الوصفية بدقة وأرقام معرّفك دون اسم المستخدم أو بادئة @.
  3. احفظ الإجراء مع إبقائه غير نشط. طبّق الشرطين نفسيهما على إجراء القراءة عند إنشائه في الخطوة 6.

محرر إجراء المصروفات يعرض شروط التنفيذ الخاصة بمعرّف المالك والمحادثة الخاصة شروط إجراء الحفظ في النموذج المحلي. استبدل المعرّف الخيالي بمعرّف المرسل الحقيقي، وكرر الشرطين في إجراء القراءة.

رسم مفاهيمي يشترط هوية المالك ومحادثة Telegram خاصة قبل تنفيذ أي إجراء للبيانات الشخصية يجب وضع الشرطين في الإجراءين. ينبغي أن يُرفض المرسل المختلف أو المحادثة الجماعية قبل وصول طلب HTTP إلى Google Sheets.

هذه شروط Actions يفرضها الخادم. كتابة «أجب عني وحدي» في التعليمات ليست فحص وصول. قيّد أيضًا مشاركة الجدول والوصول إلى حساب Quickchat AI.

الخطوة 4: كيف تجعل البوت يحفظ مصروفًا مؤكدًا؟

عدّل الإجراء الأولي ليضيف صفًا بحسب ترتيب أعمدة الجدول. اضبط When to run → AI decides حتى يستطيع انتظار التأكيد. ثم أعطِ الوكيل قاعدة للتأكيد قبل التفعيل.

إعداد حقول المصروف

تحت What to ask the user first، استبدل حقول العملاء المحتملين بهذه المعلمات. احتفظ بأسماء المعلمات كما هي بالضبط.

المعلمةالتنسيقمطلوبةالوصف المطلوب إدخاله
dateTextنعمتاريخ المصروف بصيغة YYYY-MM-DD، مؤكد من المالك. اسأل عنه إذا غاب.
monthTextنعمYYYY-MM مأخوذ من التاريخ المؤكد.
itemTextنعماسم قصير للمشتريات.
categoryTextنعمفئة بسيطة متفق عليها مع المالك، مثل الطعام أو النقل.
amountDecimal Numberنعممبلغ رقمي موجب دون رمز عملة.
currencyTextنعمرمز عملة ISO مؤكد، مثل EUR أو USD. وضّح الرموز الملتبسة.
noteTextلاملاحظة اختيارية. اتركها فارغة إن لم تُقدّم.

احتفظ بمعرّف جدول البيانات الفعلي من API Endpoint الموجود. غيّر النطاق إلى Expenses!A:H، واحتفظ بطريقة POST، واضبط Query Params على valueInputOption=RAW وinsertDataOption=INSERT_ROWS. احذف إعدادات الاستعلام المكررة إذا كانت موجودة في الرابط أصلًا.

انسخ مرجع طلب إضافة الصف
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 عنصر نائب توضيحي. احتفظ بالمعرّف الحقيقي الموجود أصلًا في رابط الإجراء الأولي؛ لا تستبدله بهذا النص. اختر System Token الموجود لـGoogle Sheets في قيمة Authorization، ومتغير رابط المحادثة المدمج في جسم الطلب.

في علامة التبويب Body، أدخل:

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

محرر Body الفعلي ضمن API Endpoint يعرض صف المصروف وعناصر المعلمات إعداد محلي لإجراء المصروفات. يحدد الجسم ترتيب الخلايا، ويحدد تنسيق معلمة المبلغ نوعها الرقمي.

احتفظ بعلامتي الاقتباس حول {{amount}} في المحرر. يشير هذا العنصر النائب المطابق إلى معلمة Decimal Number، لذا ينتج الاستبدال رقم JSON مثل 4.5. حذف الاقتباس يجعل JSON المحرر غير صالح. تحقق في الجدول الناتج من أن E رقمية ومشمولة في الصيغة.

تضيف واجهة append من Google الصف. يحافظ RAW على النص حرفيًا، مثل ملاحظة تبدأ بـ=، بدل تقييمه كصيغة. توفر المعلمة الرقمية نوع المبلغ.

انسخ وصف إجراء الحفظ
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 والصق النص التالي. يذكر الإجراءين بالاسم حتى يعمل الهدف الثاني بعد إضافة قارئ الملخص.

محرر Main Prompt الخاص بـ Pocket Ledger في Quickchat AI يوجد Main Prompt في Identity. تحدد هذه اللقطة المحلية مكان الحقل؛ استخدم الكتلة الكاملة القابلة للنسخ أدناه.

تمنحك قاعدة التأكيد فرصة مفيدة للمراجعة. يمكنك تصحيح «4.50 EUR» إلى «5.00 EUR» قبل الموافقة على الشراء؛ ينبغي أن يحدّث الوكيل الاقتراح ويطلب التأكيد مجددًا.

انسخ 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.

احفظ التعليمات، وأعد فحص شرطي التنفيذ، ثم فعّل إجراء المصروفات. يبقى الاسم 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. يشتق الإجراء قيمة month لتكون 2026-11 عند حفظ الصف.
  3. قبل التأكيد، افحص Expenses: ينبغي أن تظل الصفوف الأولية الثلاثة هي الإدخالات الوحيدة.

أرسل Save it مرة واحدة، ثم افتح المحادثة في Inbox داخل Quickchat AI. يحتوي رد تأكيد الحفظ على قسم قابل للتوسيع بعنوان 1 action called. افتحه لترى ما حدث خلف إجابة Telegram القصيرة.

رد تأكيد حفظ القهوة في Quickchat Inbox مع القسم القابل للتوسيع الذي يعرض استدعاء إجراء واحد التأكيد نفسه في Inbox، مع إمكانية فحص الإجراء.

وسّع Result → Show full. تحقق من التاريخ والشهر المشتق والمبلغ الرقمي والعملة وحالة HTTP. في هذه التجربة الفعلية، أعادت Google HTTP 200 وupdatedRows: 1 وupdatedRange: Expenses!A5:H5.

إجراء المصروفات الموسّع في Inbox يعرض المدخلات الفعلية واستجابة نجاح إضافة صف واحد، مع إخفاء المعرّفات الشخصية أرسل إجراء الحفظ المبلغ 4.5 كرقم وكتب صفًا واحدًا. المعرّفات الشخصية مخفية، بينما يظل النطاق والنتيجة المعادان ظاهرين.

أخيرًا، افتح Expenses. ينبغي أن يحتوي الصف 5 على القهوة نفسها، مع 2026-11 في عمود الشهر و4.50 في المبلغ وEUR في العملة. يرتبط العمود الأخير بمحادثة Inbox، حتى تتمكن من تتبع الإدخال إلى الرسالة التي أنشأته.

Google Sheets بعد التأكيد في Telegram، مع القهوة الجديدة في الصف 5 من Expenses وصل المصروف الرابع عبر Telegram. أُخفي رابط Inbox الخاص في الصورة المنشورة.

أصبحت لديك عادة يومية مفيدة: أرسل، وأكّد، وتحقق. بعد ذلك، أعطِ البوت مصدرًا موثوقًا يقرؤه عندما تسأل عن أوجه إنفاق المال خلال الشهر.

الخطوة 6: كيف تسأل عن إجمالي شهري؟

دع Google Sheets يحسب الإجمالي، ثم دع إجراء القراءة يجلبه. إبقاء الحسابات في الجدول يجعل الإجابة قابلة للتحقق حتى بعد انتهاء المحادثة.

إضافة علامة تبويب 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 إضافة القهوة الجديدة بقيمة 4.50 EUR إلى 7.70 EUR الأولية تعطي 12.20 EUR. أما الدفتر بقيمة 6.00 USD فله إجمالي منفصل.

تغطي صيغة البداية الصفوف من 2 إلى 501. في التجربة المصورة، تنتهي نطاقاتها الثلاثة عند 502 بعد إدراج الصف الجديد. قد يعدّل Sheets المراجع أثناء الإدراج؛ تحقق من أن نطاقات Expenses الثلاثة تبدأ وتنتهي عند الصفوف نفسها، ووسّعها معًا قبل أن تقع الإدخالات خارج النطاق المشمول. أضف صف ملخص لكل تركيبة من الشهر والعملة تريد السؤال عنها.

إضافة إجراء القراءة

افتح Actions & MCPs → Add Action → API Action. استخدم Generate مع الطلب أدناه؛ تبدأ الإجراءات المُنشأة غير نشطة. سمّه read_expense_summary واحتفظ بـWhen to run مضبوطًا على AI decides حتى تُستخدم النتيجة في الرد. أعد استخدام معرّف الجدول الحقيقي نفسه وGoogle Sheets System Token نفسه. لا حاجة إلى معلمات يقدّمها المستخدم.

انسخ طلب منشئ 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.

قارن الإعدادات المُنشأة بالمرجع التالي. إذا اخترت Create manually، فأضف الشرطين قبل أول حفظ صالح لأنه قد يفعّل الإجراء. اترك Response filter فارغًا في الإجراءين للاحتفاظ بالحقول المستخدمة في الفحوص.

انسخ طلب قراءة الملخص
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 نتائج رقمية بدل سلاسل نصية منسقة كعملة. أبقِ الاستجابة متاحة للوكيل حتى يستطيع قراءة هذه القيم.

انسخ وصف إجراء القراءة
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، ثم احفظ الإجراء وفعّله. يتضمن نطاق القراءة 24 صفًا للملخص؛ وسّعه عن قصد عند إضافة المزيد.

إجراء قراءة ملخص المصروفات مضبوط بالشروط نفسها لمعرّف المالك والمحادثة الخاصة يحتاج الإجراء الثاني إلى شروطه الخاصة. هذه لقطة لإعدادات محلية وليست اختبار تفويض لمرسل حقيقي.

اسأل What is my November 2026 total in EUR?، ثم اسأل عن USD. في محادثتنا على Telegram، أعاد Pocket Ledger 12.2 EUR و6 USD، بما يطابق القيم المنسقة في الجدول 12.20 و6.00. قرأ الملخص المحفوظ لكل إجابة.

إجابات Telegram الفعلية عن إجمالي نوفمبر باليورو والدولار بعد حفظ القهوة

سؤال واحد لكل عملة. يقرأ Pocket Ledger الجدول بدلًا من جمع الأرقام من رسائل يتذكرها من المحادثة.

افتح الرد الخاص بالإجمالي الشهري في Inbox ووسّع الإجراء المرتبط به. قارن الصف المعاد بالخلية Summary!C2. تتضمن الاستجابة الفعلية أدناه 2026-11 وEUR و12.2، وصفًا منفصلًا يحوي USD و6، مع HTTP 200.

إجراء قراءة ملخص المصروفات في Inbox يعيد إجمالي نوفمبر الفعلي بعملتي EUR وUSD من Google Sheets يتطابق الآن الرد والقيم المعادة والجدول. هذه هي النتيجة النهائية التي رأيتها في الأعلى.

كيف تفحص الأخطاء قبل استخدام مصروفات حقيقية؟

اختبر الطلبات الناقصة والمرسلين المحظورين بالعناية نفسها التي تختبر بها حفظ القهوة بنجاح. احتفظ ببيانات العرض حتى تجتاز الفحوص التالية.

جرّب هذاما ينبغي التحقق منه
Lunch, $12 yesterdayيسأل الوكيل عن العملة والتاريخ الفعلي. لا يظهر صف جديد.
صحح المبلغ المقترح قبل التأكيديُؤكَّد الاقتراح المصحح قبل إضافة صف واحد.
اسأل عن إجمالي نوفمبر بـEUR ثم USDنتائج منفصلة: 12.20 EUR و6.00 USD للبيانات النموذجية.
اسأل عن ديسمبر 2026 دون وجود صف ملخص لديسمبريقول الوكيل إن الإجمالي غير متاح، بدل اختراع قيمة صفرية.
يطلب مرسل ثانٍ الإجمالي ويحاول حفظ مصروفيُرفض الإجراءان ولا تُكشف أي قيم شخصية.
يقدّم المالك الطلبات نفسها في مجموعةيُرفض الإجراءان لأن المحادثة ليست خاصة.
يفشل الحفظ أو تنتهي مهلتهيوضح الرد الفشل أو عدم اليقين. افحص الجدول قبل إعادة المحاولة.

لاختبارات لغوية قابلة للتكرار، افتح Testing → Create Dataset → Paste messages، واستخدم رسائل الحزمة ومعايير تقييمها. شغّل محادثة كاملة منفصلة لاختبار تسلسل التأكيد. بيانات Preview أو Simulation الوصفية بيانات اختبار؛ لا تثبت حظر مرسل Telegram ثانٍ حقيقي.

مجموعة اختبار Pocket Ledger في واجهة Testing الحقيقية في Quickchat AI مجموعة البيانات المحلية جاهزة للاختبار. وجودها لا يعني اكتمال تشغيل Simulation ولا يثبت حدوث كتابة في Google Sheets.

إذا فشل سلوك ما، فعدّل تعليمة واحدة ذات صلة، وكرر الإدخال نفسه، ثم افحص الاستدعاء والجدول مجددًا. مثلًا، تستدعي الإضافة المبكرة مراجعة صياغة التأكيد في إجراء الحفظ. التأكيد تعليمة وليس ضمانًا لفرادة السجلات في قاعدة البيانات. بعد انتهاء المهلة، فحص الجدول أهم من الضغط على الإرسال مجددًا.

بعد نجاح المسار، احذف صفوف المصروفات الخيالية، واحتفظ بالعناوين والصيغ، وأضف صفوف ملخص للأشهر والعملات التي تستخدمها فعلًا. يمكن أن تتبع أول عملية شراء حقيقية الروتين البسيط نفسه الذي اتبعته القهوة.

هل يمكن لمساعد AI المساعدة في إعداد Pocket Ledger؟

يمكن لمساعد متصل لإدارة الحساب المساعدة في تجهيز الوكيل ومراجعة إعدادات 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. اضبط إجراءً لإضافة المصروف بعد تأكيده، وآخر لقراءة ملخص شهري يعتمد على الصيغ. قيّد الإجراءين بمعرّف مستخدم Telegram الخاص بك وبمحادثة خاصة.

هل يستطيع البوت إخباري بما أنفقته هذا الشهر؟

نعم، إذا كان للشهر والعملة المطلوبين صف في نطاق Summary المضبوط. يحسب Google Sheets الإجمالي باستخدام SUMIFS ويجلبه إجراء القراءة. إجراء الإضافة وحده لا يستطيع استرجاع الإجماليات، وغياب صف الملخص لا يعني صفرًا.

هل يمكن لشخص آخر قراءة مصروفاتي عبر بوت Telegram؟

يجب أن يشترط إجراءا البيانات الشخصية 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. لا تستبدل معرّف الجدول بملف موجود عشوائيًا وتفترض إمكان الوصول إليه.

هل يستطيع البوت قراءة صور الإيصالات أو الملاحظات الصوتية؟

يغطي هذا الدليل المصروفات المكتوبة. يتطلب استخراج الإيصالات اختبارًا منفصلًا لوصول الصور والتأكيد في Telegram قبل الاعتماد عليه. تفريغ الصوت وتحليل إيصالات PDF ليسا جزءًا من هذا الإعداد.

كيف يتعامل مع العملات المختلفة والإدخالات المكررة؟

لكل عملة إجمالي شهري مستقل؛ لا تحوّل هذه الوصفة العملات. يقلل التأكيد الإدخالات غير المقصودة لكنه لا يوفّر منعًا ذريًا للتكرار. إذا انتهت مهلة الحفظ، فافحص الجدول قبل إرسال الطلب مرة أخرى.

Quickchat AI Quickchat AI Ask Quickchat AI a question