تنبيهات نماذج Googleالتطوير والتخصيص

سكربت Google Apps Script يرسل إليك بالبريد كل إجابة جديدة في نماذج Google، مرتبة بوضوح وإلى الشخص المناسب

جاهز عادةً خلال 15 دقيقةالتعديلات مشمولةفحص الجودة
الباقات
حماية الدفعالتفاصيل
  • التعديلات ضمن الباقة مجانية.
  • إذا لم تردّ خلال 3 أيام من التسليم، يُقبل العمل تلقائيًا.

يُحجز المبلغ عند الدفع ولا يُحوَّل إلا بعد قبولك العمل.

سكربت Google Apps Script يرسل إليك بالبريد كل إجابة جديدة في نماذج Google، مرتبة بوضوح وإلى الشخص المناسب

مثال على النتيجة

مثال على الباقة القياسية

دمج ملفات المبيعات الشهرية لـ 9 متاجر في تقرير Excel واحد

طريقة التشغيل

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  المجلد: sales/2026-10، عُثر على 9 ملفات
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 صفًا
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 صفًا
2026-11-02 09:14:04 WARN  shop-07.csv: تُخطّيت 3 صفوف بلا سعر (الأسطر 88، 412، 913)
2026-11-02 09:14:05 INFO  تم: 10,412 صفًا -> report-2026-10.xlsx (الورقتان «المبيعات» و«الإجماليات»)

إعدادات لا كود

أسماء أعمدة كل متجر موجودة في settings.ini، فالمتجر الجديد أو العمود الذي تغيّر اسمه يعني سطرًا واحدًا هناك:

[columns]
date = التاريخ, تاريخ البيع, اليوم
product = المنتج, الصنف, الاسم
quantity = الكمية, العدد, قطع
price = السعر, سعر الوحدة

جزء من الكود

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """يقرأ ملف متجر واحد ويمنح أعمدته أسماء أعمدة التقرير."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: لا يوجد عمود لـ «{name}» (جرى البحث عن: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

الملفات: أرشيف ZIP يضم merge_sales.py (310 أسطر)، وsettings.ini، وrequirements.txt، وملف README يشرح تثبيت Python وتشغيل السكربت ومعنى كل رسالة في السجل. يشغّله العميل على كمبيوتره الخاص.

العميل: سلسلة صغيرة من 9 متاجر للأدوات المكتبية؛ يرسل كل متجر مبيعاته الشهرية في ملف CSV أو Excel، بأسماء أعمدة تختلف قليلًا من متجر إلى آخر. المهمة: سكربت واحد يقرأ كل ملف في مجلد، ويوحّد الأعمدة في شكل واحد، ويكتب تقرير Excel واحدًا يضم كل المبيعات وورقة بالإجماليات حسب المتجر.

العميل وجميع التفاصيل افتراضية.

عن هذه الخدمة

يمكن لنماذج Google أن تخبرك بوصول إجابة جديدة، لكنها لا تخبرك بمحتواها، ولا ترسلها إلى الزميل المسؤول عن تلك المدينة أو الخدمة. يعمل سكربت Google Apps Script هذا في كل مرة يرسل فيها أحدهم نموذجك، ويرسل رسالة بالإجابات مرتبة بوضوح: الأسئلة بخط عريض والإجابات تحتها ورابط إلى جدول الإجابات. بدءًا من الباقة القياسية يختار مستلم الرسالة وفق إجابة ما، مثل إرسال طلبات لندن إلى عنوان وطلبات باريس إلى آخر. وفي الباقة المميزة يمكنه إرسال تأكيد إلى من ملأ النموذج، إن كان النموذج يطلب بريده الإلكتروني، وملخص يومي إليك. تُرسل الرسائل من حسابك على Google، ضمن الحد اليومي الذي تضعه Google. تثبّته في حسابك.

ما المشمول

  • ما الذي تحصل عليهأرشيف ZIP يضم كود Apps Script وملف README يوضح كيفية إضافته إلى نموذجك ومنح الصلاحيات وضبط المشغّل؛ ويُعرض الكود أيضًا في صفحة الطلب.
  • الإجابة كاملةكل سؤال وإجابة في الرسالة نفسها
  • موضوع واضحمثلًا: طلب جديد: الاسم، الخدمة
  • إلى الشخص المناسببدءًا من الباقة القياسية، يُختار العنوان وفق إجابة
  • من حسابكتُرسل من حسابك على Google، ضمن حدود Google
  • كود مقروءمع تعليقات، ليسهل تغيير الرسالة لاحقًا

كيف يعمل

  1. 1
    المهمةترسل أسئلة النموذج ومن يجب أن يستلم ماذا
  2. 2
    الكودنكتب السكربت ودليل تثبيته
  3. 3
    جرّبهتضيفه إلى نسخة من النموذج وترسل إجابة تجريبية
  4. 4
    التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ

ما نحتاجه منك

أسئلة نموذجك (لقطة شاشة أو القائمة)، والعناوين التي يجب أن تصلها التنبيهات، وبدءًا من الباقة القياسية قاعدة توزيع الرسائل، مثل حسب المدينة أو الخدمة. الموضوع وأي نص تريده في الرسالة. لرسالة التأكيد إلى من ملأ النموذج (الباقة المميزة): نص تلك الرسالة والسؤال الذي يطلب عنوانه. هل يحفظ نموذجك الإجابات في جدول بيانات Google.

سنسألك:

  • ما الغرض من النموذج؟
  • من يجب أن يستلم التنبيهات؟
  • كيف يجب أن تبدو الرسالة؟
  • هل هناك شيء آخر يُرسل؟

قارن بين الباقات

الباقاتالأساسيةتنبيه واحد‏16 US$القياسيةالتنبيهات مع الإعدادات‏33 US$المميزةأداة التنبيهات‏67 US$
مدة التنفيذ1 يوم2 يوم3 أيام
التعديلات123
الكودحتى 150 سطرًاحتى 400 سطرحتى 1,000 سطر
ملفات الكود1حتى 3حتى 8
ملف الإعداداتلانعمنعم
رسائل خطأ واضحة وسجللانعمنعم
خيارات التشغيل ودليل لتشغيله وفق جدول زمنيلالانعم
دليل التثبيت والتشغيل (README)نعمنعمنعم
اللغةGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
اطلب الأساسيةاطلب القياسيةاطلب المميزة

حماية الدفع

تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.

  • سعر ثابتلا يتغير سعر الباقة بعد الدفع.
  • المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
  • فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
  • تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
  • القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
  • إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
كيف يعمل →

الأسئلة والأجوبة

هل يمكنه إرسال تأكيد إلى الشخص؟

في الباقة المميزة نعم، إن كان نموذجك يطلب عنوان بريده الإلكتروني. تُرسل الرسالة من حسابك على Google، فتبدو كأي رسالة منك.

هل سيعمل إن كان النموذج في حساب شخص آخر؟

يجب أن يضيف السكربت أحد محرري النموذج، وحينها تُرسل الرسائل من حساب ذلك الشخص. يوضح ملف README الخطوات.

هل يمكنه إرسال رسالة نصية أو رسالة دردشة بدلًا من ذلك؟

هذا العرض يرسل رسائل بريد إلكتروني. ويمكن ضمن باقتك إضافة رسالة إلى خدمة لديها API عامة، مثل قناة Slack عبر الـ webhook الوارد الخاص بها، إن أعددت ذلك الـ webhook بنفسك.

هل تحصلون على وصول إلى نموذجي؟

لا. تضيف الكود بنفسك وتمنحه الصلاحيات في حسابك الخاص. كل ما نحتاجه لقطة شاشة للأسئلة.

لم تجد إجابتك؟

الباقات