قهوة، وتذكرة حافلة، ودفتر ملاحظات. يسهل نسيان المشتريات الصغيرة قبل أن تفتح جدول البيانات. ماذا لو كان تسجيل إحداها يحتاج إلى رسالة Telegram واحدة، والتحقق من إجمالي الشهر يحتاج إلى رسالة أخرى؟
في هذا الدليل سننشئ Pocket Ledger، وهو متتبع مصروفات Telegram باستخدام Google Sheets. أرسل تفاصيل شراء، وأكّد البيانات المقترحة، ثم اسأل عن إجمالي الشهر. يحتفظ الجدول بالصفوف ويجري الحسابات، بينما يتولى البوت المحادثة. إليك النتيجة النهائية.

النتيجة نفسها في الجدول. ترفع القهوة بقيمة 4.50 EUR الإجمالي من 7.70 EUR إلى 12.20 EUR، وتبقى 6.00 USD منفصلة.
تتابع لقطات الشاشة تجربة فعلية باستخدام مصروفات خيالية. قارنّا الصف المحفوظ باستدعاء Action في Inbox، ثم قارنّا إجابتي Telegram بالقيم التي أعادها Google Sheets. أُخفيت المعرّفات الشخصية وبيانات الاعتماد في اللقطات المنشورة.
الهدف الأول هو حفظ مصروف قهوة واحد. والثاني هو إجمالي يمكنك التحقق منه في الجدول. ستتعلم أيضًا لماذا تمثل عبارة «تم الحفظ» في الرد نصف الدليل فقط.
نزّل حزمة إعداد Pocket Ledger للحصول على مصنف البداية المنسق والصورة الرمزية والتعليمات وإعدادات Actions وورقة الاختبارات. استورد المصنف إلى الجدول الذي أنشأه Quickchat AI، ثم اتبع الخطوات التالية. تستخدم الأمثلة القابلة للنسخ الإنجليزية ونوفمبر 2026 في جميع الخطوات لتتمكن من مقارنة نتائجك بلقطات الشاشة.
ما الذي تحتاجه لإنشاء متتبع مصروفات في Telegram؟
تحتاج إلى Telegram وحساب Google وحساب Quickchat AI. يعتمد الإعداد على خيارات لوحة التحكم وصيغة جدول بيانات؛ لا يوجد برنامج تحتاج إلى استضافته.
- أنشئ حساب Quickchat AI، وأكمل التحقق، ثم أنشئ Agent باسم
Pocket Ledger. - جهّز حساب Google للجدول الجديد. ابدأ بالسجلات الخيالية أدناه.
- استخدم بوت Telegram جديدًا لهذا التمرين. جهّز حساب Telegram ثانيًا موثوقًا لاختبار الوصول في النهاية.
خطة Free في Quickchat AI مخصصة للتعلم الشخصي غير التجاري وتتضمن حصة محدودة. تستهلك محادثات AI وSimulation Testing أرصدة. راجع الخطط والحصص الحالية قبل اختيار خطة للاستخدام المستمر.
اتجاهان وإجراءان. حفظ صف لا يمنح الوكيل وسيلة لقراءة الإجماليات السابقة.
الخطوة 1: كيف توصل بوت Telegram الخاص بك؟
ينشئ BotFather هوية البوت، ويوفر Quickchat AI الوكيل الذي يجيب عن رسائله.
افتح حساب @BotFather الرسمي، وأرسل /newbot، وسمّ البوت Pocket Ledger، واختر اسم مستخدم متاحًا ينتهي بـbot. استخدم /setuserpic لرفع الصورة الرمزية من الحزمة. احتفظ بالرمز سرًا؛ ستلصقه مباشرة في Quickchat AI.

في Quickchat AI، افتح External Apps → Telegram → Your own bot. في نافذة Connect to Telegram، الصق بيانات الاعتماد في Bot Token. فعّل Enable your own bot، ثم اختر Save. يشرح دليل BotFather الشاشات بالتفصيل.
يحمل البوت المتصل اسم Pocket Ledger نفسه الذي ستراه في Telegram.
افتح رابط البوت الجديد في Telegram وأرسل /start ثم أرسل Hello في المحادثة الخاصة. يرسل /start رسالة الترحيب، بينما تنشئ الرسالة العادية المحادثة في Inbox وبيانات المرسل الوصفية اللازمة للخطوات التالية. أبقِ إجراءات البيانات الشخصية غير نشطة أثناء إعدادها.

افتح هذه المحادثة في Quickchat AI عبر Inbox → Details → Visitor. ابحث عن Telegram User Id وTelegram Chat Type؛ مفتاحا البيانات الوصفية هما telegram_user_id وtelegram_chat_type. انسخ معرّف المستخدم الرقمي من أداة التحكم التي تظهر عند تمرير المؤشر، وتأكد من أن نوع المحادثة هو private.
خذ معرّف المرسل الخاص بك من هذا الحقل. المعرّفات الشخصية مخفية في لقطة الشاشة؛ استخدم قيمتك الفعلية.
يأتي المعرّف من بيانات المرسل الوصفية في Telegram. اسم المستخدم والرقم المكتوب في رسالة ومعرّف البوت نفسه أشياء مختلفة. ستستخدم معرّف المرسل لتقييد الإجراءين في الخطوات التالية.
الخطوة 2: كيف تجهّز جدول Google Sheets؟
ينشئ تكامل Google Sheets جدول بيانات وإجراءً أوليًا. أعد استخدام الملف نفسه حتى يشير الإجراء وإذن Google إلى المورد ذاته.
- افتح Actions & MCPs → Add Action → Google Sheets، وامنح التفويض لحساب Google. يشرح دليل اتصال Google Sheets الموافقة والإعداد الأولي.
- عطّل الإجراء الأولي فورًا. يُنشأ في حالة نشطة. احتفظ باسمه
log_lead_to_google_sheetلأن إعادة الاتصال تستخدم هذا الاسم للعثور عليه. سنغيّر وظيفته إلى حفظ المصروفات. - افتح جدول البيانات الذي أُنشئ وسمّه
Pocket Ledger demo. في ملف العرض الجديد هذا، اختر File → Import → Upload، وحددpocket-ledger-starter.xlsxمن الحزمة، ثم اختر Replace spreadsheet، وبعدها اختر Import data. يجهز ذلكExpensesوSummaryداخل الملف الذي يستطيع Quickchat AI الوصول إليه. استخدم هذا الخيار في جدول العرض الجديد فقط. - تحقق من الصفوف الأولية الثلاثة أدناه. في
Summary، ينبغي أن يكون الإجماليان الأوليان 7.70 EUR و6.00 USD. تشرح الخطوة 6 الصيغة وتربط إجراء القراءة.
ابدأ بربط 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
ثلاثة مصروفات أولية جاهزة لاستقبال الرابع. المبالغ أرقام في E، ورموز العملات قيم نصية منفصلة في F.
يربط عمود conversation_url كل مصروف جديد بمحادثته. اتركه فارغًا في الأمثلة الثلاثة المدخلة يدويًا. يشمل إذن Google المسمى drive.file الملفات التي أنشأها التطبيق أو مُنح الوصول إليها صراحةً؛ تستخدم هذه الوصفة الجدول الذي أنشأه التكامل ولا تمنح وصولًا إلى Drive بالكامل.
الخطوة 3: كيف تقصر المصروفات على محادثتك؟
اضبط Run only when في كل إجراء يقرأ الدفتر أو يكتب فيه. يجب تحقق الشرطين معًا، لذا لا يكفي معرّفك وحده في محادثة جماعية.
| مفتاح البيانات الوصفية | المقارنة | القيمة |
|---|---|---|
telegram_user_id | equals | معرّف المرسل الرقمي الفعلي من الخطوة 1 |
telegram_chat_type | equals | private |
- افتح الإجراء غير النشط
log_lead_to_google_sheet، وابحث عن Run only when. - أضف الشرطين أعلاه. استخدم مفاتيح البيانات الوصفية بدقة وأرقام معرّفك دون اسم المستخدم أو بادئة
@. - احفظ الإجراء مع إبقائه غير نشط. طبّق الشرطين نفسيهما على إجراء القراءة عند إنشائه في الخطوة 6.
شروط إجراء الحفظ في النموذج المحلي. استبدل المعرّف الخيالي بمعرّف المرسل الحقيقي، وكرر الشرطين في إجراء القراءة.
يجب وضع الشرطين في الإجراءين. ينبغي أن يُرفض المرسل المختلف أو المحادثة الجماعية قبل وصول طلب HTTP إلى Google Sheets.
هذه شروط Actions يفرضها الخادم. كتابة «أجب عني وحدي» في التعليمات ليست فحص وصول. قيّد أيضًا مشاركة الجدول والوصول إلى حساب Quickchat AI.
الخطوة 4: كيف تجعل البوت يحفظ مصروفًا مؤكدًا؟
عدّل الإجراء الأولي ليضيف صفًا بحسب ترتيب أعمدة الجدول. اضبط When to run → AI decides حتى يستطيع انتظار التأكيد. ثم أعطِ الوكيل قاعدة للتأكيد قبل التفعيل.
إعداد حقول المصروف
تحت What to ask the user first، استبدل حقول العملاء المحتملين بهذه المعلمات. احتفظ بأسماء المعلمات كما هي بالضبط.
| المعلمة | التنسيق | مطلوبة | الوصف المطلوب إدخاله |
|---|---|---|---|
date | Text | نعم | تاريخ المصروف بصيغة YYYY-MM-DD، مؤكد من المالك. اسأل عنه إذا غاب. |
month | Text | نعم | YYYY-MM مأخوذ من التاريخ المؤكد. |
item | Text | نعم | اسم قصير للمشتريات. |
category | Text | نعم | فئة بسيطة متفق عليها مع المالك، مثل الطعام أو النقل. |
amount | Decimal Number | نعم | مبلغ رقمي موجب دون رمز عملة. |
currency | Text | نعم | رمز عملة ISO مؤكد، مثل EUR أو USD. وضّح الرموز الملتبسة. |
note | Text | لا | ملاحظة اختيارية. اتركها فارغة إن لم تُقدّم. |
احتفظ بمعرّف جدول البيانات الفعلي من 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}}"]]}
إعداد محلي لإجراء المصروفات. يحدد الجسم ترتيب الخلايا، ويحدد تنسيق معلمة المبلغ نوعها الرقمي.
احتفظ بعلامتي الاقتباس حول {{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 في 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 والجدول مفتوحة: ستتابع القهوة نفسها عبر الثلاثة.
- في محادثتك الخاصة على Telegram، أرسل
Coffee, 4.50 euros on 2026-11-04. - تحقق من الاقتراح: التاريخ
2026-11-04، والعنصرCoffee، والفئةFood، والمبلغ4.50، والعملةEUR. يشتق الإجراء قيمةmonthلتكون2026-11عند حفظ الصف. - قبل التأكيد، افحص
Expenses: ينبغي أن تظل الصفوف الأولية الثلاثة هي الإدخالات الوحيدة.


أرسل Save it مرة واحدة، ثم افتح المحادثة في Inbox داخل Quickchat AI. يحتوي رد تأكيد الحفظ على قسم قابل للتوسيع بعنوان 1 action called. افتحه لترى ما حدث خلف إجابة Telegram القصيرة.
التأكيد نفسه في Inbox، مع إمكانية فحص الإجراء.
وسّع Result → Show full. تحقق من التاريخ والشهر المشتق والمبلغ الرقمي والعملة وحالة HTTP. في هذه التجربة الفعلية، أعادت Google HTTP 200 وupdatedRows: 1 وupdatedRange: Expenses!A5:H5.
أرسل إجراء الحفظ المبلغ 4.5 كرقم وكتب صفًا واحدًا. المعرّفات الشخصية مخفية، بينما يظل النطاق والنتيجة المعادان ظاهرين.
أخيرًا، افتح Expenses. ينبغي أن يحتوي الصف 5 على القهوة نفسها، مع 2026-11 في عمود الشهر و4.50 في المبلغ وEUR في العملة. يرتبط العمود الأخير بمحادثة Inbox، حتى تتمكن من تتبع الإدخال إلى الرسالة التي أنشأته.
وصل المصروف الرابع عبر Telegram. أُخفي رابط Inbox الخاص في الصورة المنشورة.
أصبحت لديك عادة يومية مفيدة: أرسل، وأكّد، وتحقق. بعد ذلك، أعطِ البوت مصدرًا موثوقًا يقرؤه عندما تسأل عن أوجه إنفاق المال خلال الشهر.
الخطوة 6: كيف تسأل عن إجمالي شهري؟
دع Google Sheets يحسب الإجمالي، ثم دع إجراء القراءة يجلبه. إبقاء الحسابات في الجدول يجعل الإجابة قابلة للتحقق حتى بعد انتهاء المحادثة.
إضافة علامة تبويب Summary
إذا استوردت مصنف البداية، فإن Summary وصيغه جاهزة بالفعل. قيم البداية هي 7.70 EUR و6.00 USD؛ يؤدي حفظ القهوة إلى تغيير صف EUR فقط. إذا كنت تنشئ الجدول يدويًا، فاتبع الخطوات أدناه.
نقطة البداية: عملتان وإجماليان مستقلان.
- أنشئ علامة تبويب باسم
Summary. اضبط A:B على Plain text، ثم أدخلmonthوcurrencyوtotalفي A1:C1. - أدخل
2026-11وEURفي A2:B2، ثم2026-11وUSDفي A3:B3. - أدخل هذه الصيغة في C2 واملأها لأسفل حتى C3. نسّق C كرقم بمنزلتين عشريتين.
=SUMIFS(Expenses!$E$2:$E$501,Expenses!$B$2:$B$501,A2,Expenses!$F$2:$F$501,B2)
تجمع دالة SUMIFS المبالغ التي يتطابق شهرها وعملتها مع صف الملخص. إذا كانت الإعدادات الإقليمية للجدول تتطلب فاصلة منقوطة بين الوسائط، فاستبدل فواصل الصيغة بفواصل منقوطة. تظل أرقام طلبات JSON تستخدم النقطة العشرية.
حدد C2 لرؤية الصيغة وراء 12.20 EUR. يبقى صف USD عند 6.00.
إضافة القهوة الجديدة بقيمة 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. قرأ الملخص المحفوظ لكل إجابة.

افتح الرد الخاص بالإجمالي الشهري في Inbox ووسّع الإجراء المرتبط به. قارن الصف المعاد بالخلية Summary!C2. تتضمن الاستجابة الفعلية أدناه 2026-11 وEUR و12.2، وصفًا منفصلًا يحوي USD و6، مع HTTP 200.
يتطابق الآن الرد والقيم المعادة والجدول. هذه هي النتيجة النهائية التي رأيتها في الأعلى.
كيف تفحص الأخطاء قبل استخدام مصروفات حقيقية؟
اختبر الطلبات الناقصة والمرسلين المحظورين بالعناية نفسها التي تختبر بها حفظ القهوة بنجاح. احتفظ ببيانات العرض حتى تجتاز الفحوص التالية.
| جرّب هذا | ما ينبغي التحقق منه |
|---|---|
Lunch, $12 yesterday | يسأل الوكيل عن العملة والتاريخ الفعلي. لا يظهر صف جديد. |
| صحح المبلغ المقترح قبل التأكيد | يُؤكَّد الاقتراح المصحح قبل إضافة صف واحد. |
| اسأل عن إجمالي نوفمبر بـEUR ثم USD | نتائج منفصلة: 12.20 EUR و6.00 USD للبيانات النموذجية. |
| اسأل عن ديسمبر 2026 دون وجود صف ملخص لديسمبر | يقول الوكيل إن الإجمالي غير متاح، بدل اختراع قيمة صفرية. |
| يطلب مرسل ثانٍ الإجمالي ويحاول حفظ مصروف | يُرفض الإجراءان ولا تُكشف أي قيم شخصية. |
| يقدّم المالك الطلبات نفسها في مجموعة | يُرفض الإجراءان لأن المحادثة ليست خاصة. |
| يفشل الحفظ أو تنتهي مهلته | يوضح الرد الفشل أو عدم اليقين. افحص الجدول قبل إعادة المحاولة. |
لاختبارات لغوية قابلة للتكرار، افتح Testing → Create Dataset → Paste messages، واستخدم رسائل الحزمة ومعايير تقييمها. شغّل محادثة كاملة منفصلة لاختبار تسلسل التأكيد. بيانات Preview أو Simulation الوصفية بيانات اختبار؛ لا تثبت حظر مرسل Telegram ثانٍ حقيقي.
مجموعة البيانات المحلية جاهزة للاختبار. وجودها لا يعني اكتمال تشغيل 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 ليسا جزءًا من هذا الإعداد.
كيف يتعامل مع العملات المختلفة والإدخالات المكررة؟
لكل عملة إجمالي شهري مستقل؛ لا تحوّل هذه الوصفة العملات. يقلل التأكيد الإدخالات غير المقصودة لكنه لا يوفّر منعًا ذريًا للتكرار. إذا انتهت مهلة الحفظ، فافحص الجدول قبل إرسال الطلب مرة أخرى.