# مساعد ذكي مع جداول MaviBot

باستخدام دالة مخصصة طورها فريق MaviBot، يمكن لروبوت المحادثة الذكي لديك قراءة القيم من Google Sheet بذكاء وتخزينها في **متغير نظام داخل إعدادات مشروعك**. وهذا ينشئ مصدر بيانات متزامنًا وديناميكيًا لمساعدك.

#### **تطبيقات عملية**

هذه الإمكانية ضرورية لسيناريوهات مثل:

* **مساعد كتالوج المنتجات:** ذكاء اصطناعي ينصح العملاء بشأن **مجموعة منتجاتك الحالية والأسعار والتوفر** في الوقت الفعلي.
* **روبوت ترويج ذكي:** روبوت **يُروّج لعروضك** من خلال إبراز الميزات أو المواصفات أو العروض ديناميكيًا مباشرةً من ورقة العمل الخاصة بك.

### **كيفية تجهيز الجدول الخاص بك للتكامل**

للبدء، انتقل إلى قسم الأوراق:

<div data-with-frame="true"><figure><img src="/files/5587837e97c9e9231a76aad56f6dd80ea0682487" alt=""><figcaption></figcaption></figure></div>

بعد ذلك، سترى زر "Add sheet"، الذي يفتح نافذة منبثقة تحتاج فيها إلى إدخال اسم الورقة:

<div data-with-frame="true"><figure><img src="/files/3b7f56de1895270b832b29f367623df28c5ad1b8" alt=""><figcaption></figcaption></figure></div>

أدخل اسم الورقة وانقر على زر "Done". ثم سيتم إنشاء ورقة جديدة في المشروع وستظهر في قسم "Sheets":

<div data-with-frame="true"><figure><img src="/files/4433ee5b54675c6e7b98b0018be4a5e9820ca9ec" alt=""><figcaption></figcaption></figure></div>

### إعدادات الورقة

بعد إنشاء الورقة، تحتاج إلى إضافة صفوف وأعمدة. للقيام بذلك، ابحث عن زر "Go to" على بطاقة الورقة المطلوبة وانقر عليه.

ترى الإعدادات التالية:

<div data-with-frame="true"><figure><img src="/files/11dd07623b8d72d93a1083495ccf7e317483a90f" alt="" width="563"><figcaption></figcaption></figure></div>

لإضافة عمود باسم، انقر على زر "+":

<div data-with-frame="true"><figure><img src="/files/95841b149fb88547167ef57fce5c424e93af1613" alt=""><figcaption></figcaption></figure></div>

عند النقر على الزر، ستفتح نافذة منبثقة حيث يمكنك إدخال اسم للعمود الجديد.

بعد إدخال اسم العمود، انقر على زر "Done"، ثم ستتم إضافة العمود الجديد إلى الورقة. أضف العدد المطلوب من الأعمدة ثم الصفوف.

<div data-with-frame="true"><figure><img src="/files/fcde23b31bb2bc5df21ee1885b6f2e71391aa458" alt="" width="563"><figcaption></figcaption></figure></div>

&#x20;الآن، تبدو ورقتك هكذا.

<div data-with-frame="true"><figure><img src="/files/bff54c4bbd842edcb7dd4ebf815809f4f0f38abf" alt="" width="563"><figcaption></figcaption></figure></div>

انسخ (وتذكّر) معرّف الورقة: للقيام بذلك، انقر على شريط العنوان:

<div data-with-frame="true"><figure><img src="/files/6f4d6fdb3072f0903262bc252b245e40a6133f3a" alt="" width="563"><figcaption></figcaption></figure></div>

بعد ذلك، لننتقل إلى تهيئة الكتل في الباني.

## العمل في باني روبوت المحادثة

### الدالة get\_records\_from\_table()

لاستخدام الدالة get\_info\_from\_table()، تحتاج إلى كتلة واحدة في باني روبوت المحادثة.&#x20;

انتقل إلى التبويب المناسب في Mavibot وأنشئ كتلة تحتوي على مُشغّل (كتلة البدء أو كتلة المُشغّل):

<div data-with-frame="true"><figure><img src="/files/5788ef2266ddbd6ea441a99baa73fdd6a37dfd6d" alt=""><figcaption></figcaption></figure></div>

حدّد متغيرًا (سيُستخدم لمعارف مساعد الذكاء الاصطناعي): في هذا المثال، المتغير هو 'record'.

مثال على الكود من Calculator

<mark style="color:green;">`project.`</mark><mark style="color:red;">`record`</mark>` ``=`` `<mark style="color:orange;">`get_records_from_table`</mark>`(1)`

1. <mark style="color:green;">`project. - هو مُنشئ لتعيين متغير في إعدادات المشروع؛`</mark>
2. <mark style="color:red;">`record - اسم المتغير؛`</mark>
3. <mark style="color:orange;">`get_records_from_table`</mark>`(1) - دالة، حيث يتم تمرير المعامل على أنه معرّف الجدول.`&#x20;

<details>

<summary>اقرأ المزيد عن الدالة get_record_from_table()</summary>

`get_records_from_table(table_id, start_row, count, start_col, end_col)` – للحصول على السجلات من جدول

| المعامل         | الوصف                                                      | ملاحظة                                                                                  |
| --------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| **!** table\_id | معرّف الجدول (معامل مطلوب)                                 |                                                                                         |
| start\_row      | معامل اختياري، عدد صحيح. يحدد صف البداية للنطاق            | يقبل رقم الصف الذي يبدأ منه قراءة قيم الجدول، شاملًا. يجب تحديده بدون علامات اقتباس     |
| count           | معامل اختياري، عدد صحيح. يحدد عدد الصفوف المطلوب استرجاعها | القيمة الافتراضية: 1000. الحد الأقصى: 5000. يجب تحديده بدون علامات اقتباس               |
| start\_col      | معامل اختياري، نص. يحدد عمود البداية للنطاق                | يقبل اسم العمود الذي تبدأ منه قراءة قيم الجدول، شاملًا. يجب تحديده بين علامتي اقتباس    |
| end\_col        | معامل اختياري، نص. يحدد عمود النهاية للنطاق                | يقبل اسم العمود الذي سيتم القراءة حتى الوصول إليه، شاملًا. يجب تحديده بين علامتي اقتباس |

**لقراءة جميع البيانات من نقطة معينة:** حدّد فقط **بداية** النطاق. **لقراءة جميع البيانات حتى نقطة معينة:** حدّد فقط **النهاية** النطاق.

</details>

بدلًا من #{none}، سنكتب متغيرنا في الرسالة باستخدام البنية #{} لنرى بصريًا ما البيانات التي تمت كتابتها في متغير المشروع.

<div data-with-frame="true"><figure><img src="/files/4894a40d3b7db22985693d3a5b69f5a241fc95d0" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}

## انتباه

المتغير المضمّن في الرسالة مطلوب للتحقق مما إذا كان الروبوت يقرأ الدالة بشكل صحيح. عندما تشغّل الكتلة في وضع الاختبار، سيعرض الروبوت القيم التي سيتم تعيينها للمتغير.
{% endhint %}

{% hint style="success" %}

## يرجى الملاحظة

بعد تهيئة استدعاء الكتلة في وضع الاختبار وحفظ المتغير في إعدادات المشروع، لا تحذف هذه الكتلة.&#x20;

قد تحتاج إليها: على سبيل المثال، إذا أضفت أي قيم أخرى إلى الجدول، فما عليك سوى تشغيل الكتلة في وضع الاختبار. عندها سيتم تحديث البيانات في متغير المشروع.
{% endhint %}

{% hint style="info" %}
يمكن أن يكون اسم المتغير أي اسم تريده.
{% endhint %}

### كتلة نقل البيانات&#x20;

بعد ذلك، سننشئ كتلة "Chat" لنقل البيانات إلى بطاقة العميل.

<div data-with-frame="true"><figure><img src="/files/4ab78554fee804888ae7d7e1613ec0fb4b5b5cc7" alt=""><figcaption></figcaption></figure></div>

"يمكن لهذه الكتلة أيضًا إرسال رسالة ختامية من الروبوت، مثل: 'أقوم بتمرير المعلومات إلى المدير! سيتواصل المدير خلال 10 دقائق.'"

بعد ذلك، انسخ معرّف الكتلة. ستحتاج إليه لتهيئة مساعد الذكاء الاصطناعي في الأمر "start\_block\_from\_ai 11956" وأمر الاختبار "Block call 11956"، حيث بدلاً من <mark style="color:red;">معرّف الكتلة</mark> من المثال، تحتاج إلى إدراج معرّف الكتلة الخاص بك.

{% hint style="success" %}

## يرجى الملاحظة

بعد الاختبار، استبدل "Block call <mark style="color:red;">31241050</mark>بالأمر "start\_block\_from\_ai <mark style="color:red;">31241050"</mark>.

الأمر "Block call <mark style="color:red;">31241050</mark>" هو للتصحيح ويساعد على فهم البيانات التي يسجلها الروبوت (انظر قسم "Testing").

لتشغيل الروبوت للعملاء، حدّد الأمر "start\_block\_from\_ai <mark style="color:red;">31241050</mark>".
{% endhint %}

### قراءة جدول

1. انتقل إلى **اختبار الروبوت** وضع.
2. شغّل الكتلة التي تحتوي على المُشغّل لقراءة بيانات الجدول.

<div data-with-frame="true"><figure><img src="/files/f97397013f3385f782be1f92915af4fdf51d7241" alt="" width="563"><figcaption></figcaption></figure></div>

لقد عملت الكتلة بشكل صحيح. يمكنك رؤية ذلك مؤكدًا من خلال القيم المخزنة الآن في المتغير المقابل ضمن إعدادات مشروعك.

**للتحقق يدويًا:**

1. انتقل إلى **إعدادات المشروع** .
2. حدد موقع المتغير لعرض بياناته الحالية.

<div data-with-frame="true"><figure><img src="/files/4c2ba5123a172745273053bcc37d6fa2af57ff03" alt="" width="563"><figcaption></figcaption></figure></div>

في تبويب "Variables" ضمن إعدادات المشروع، سترى متغيرك مع القيم المضافة إليه من الجدول. لذا الآن، داخل مشروعك، يوجد متغير يحتوي على السلع والتكلفة وكل ما حددته في الجدول.

## العمل في مساعد الذكاء الاصطناعي

انتقل إلى قسم "AI assistant" وابدأ روبوت المحادثة بإعدادات الذكاء الاصطناعي.

تحتاج إلى اختيار دور "Sales assistant":

<div data-with-frame="true"><figure><img src="/files/360af5922fdd32d1140cd025c753081c6b51dcbf" alt=""><figcaption></figcaption></figure></div>

سنقوم أيضًا بتعيين إعدادات إضافية:

<div data-with-frame="true"><figure><img src="/files/681619b1e11a6b28bd9dfd7bebce360412962b58" alt="" width="563"><figcaption></figcaption></figure></div>

### &#x20;إعدادات مساعد الذكاء الاصطناعي

في إعدادات الروبوت اكتب البيانات التالية:

1. الموضع والتعليمات الخاصة بالروبوت.

<div data-with-frame="true"><figure><img src="/files/ad2c849322b3f6248bc3c4a95876a3eb79a477ce" alt="" width="563"><figcaption></figcaption></figure></div>

2. يُكتب الأمر لاستدعاء الكتلة ونقل المتغيرات إلى النظام كما يلي:

`"إذا كان كل شيء صحيحًا، فنفّذ الأمر "start_block_from_ai 11956"`، حيث بدلًا من N يُكتب معرّف الكتلة مع الرسالة النهائية: كتلة Chat تنقل البيانات إلى بطاقة العميل:

<figure><img src="/files/39122f5c777665f29ab55a3a1d4aa1404b72a0b7" alt=""><figcaption></figcaption></figure>

### معرفة الروبوت

في حقل "Bot Knowledge"، مرّر المتغير الذي تم تخزينه سابقًا ككتلة مع المُشغّل.

<div data-with-frame="true"><figure><img src="/files/cc45a4d4401aec86f66ff974420df5a29bbc756a" alt="" width="563"><figcaption></figcaption></figure></div>

معرفة الروبوت.

<div data-with-frame="true"><figure><img src="/files/5e7e448411ff66b7b6b229c2c4e17b3edfcf42cc" alt=""><figcaption></figcaption></figure></div>

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

### تنسيق البيانات

في تنسيق البيانات المنقولة، تحدد أنت البيانات التي تجمعها (على سبيل المثال، منتج)، ثم تدخل العبارة مع "key" وتعيّن قيمة للمفتاح.

`اسم العميل بالمفتاح client_name، ورقم هاتف العميل بالمفتاح phone_number، والمدينة والعنوان بالمفتاح city_address، والمنتج المختار بالمفتاح product، وكمية المنتج بالمفتاح quantity، وإجمالي مبلغ الطلب بالمفتاح total_amount.`

<div data-with-frame="true"><figure><img src="/files/93f6be114cd2bb6218a763be32b775e6c994d580" alt=""><figcaption></figcaption></figure></div>

بهذه الطريقة، عند استدعاء الكتلة، سيتم تمرير المتغيرات إلى بطاقة العميل: عندها يمكنك العمل مع المتغيرات، على سبيل المثال، في باني روبوت المحادثة:

<div data-with-frame="true"><figure><img src="/files/15b35d3e72f3d163dbd43a113512687c4281e6f0" alt="" width="563"><figcaption></figcaption></figure></div>

في هذه المرحلة، يكون إعداد مساعد الذكاء الاصطناعي قد اكتمل.&#x20;

يمكن ضبط المعلمات المتبقية وفقًا لتقديرك:

<div data-with-frame="true"><figure><img src="/files/538f7b22e1364594513668ad4cc4cc474c78ae2b" alt="" width="563"><figcaption></figcaption></figure></div>

## اختبار روبوت

"إذا كانت لديك روبوتات تعمل بالفعل، فحدّد في شرط تشغيل مساعد الذكاء الاصطناعي أن يبدأ فقط في نافذة الاختبار."

الخطوة 1. انقر على باني المُشغّل

<div data-with-frame="true"><figure><img src="/files/436a473e057487397c31dc905ccb2ebea75b6112" alt=""><figcaption></figcaption></figure></div>

الخطوة 2. اختر التبويب الخاص بنافذة الاختبار وانقر على "Add trigger":

<div data-with-frame="true"><figure><img src="/files/d9f7dfd89b91d902c73ddb222c53d1f6cf79feb9" alt=""><figcaption></figcaption></figure></div>

الآن، في شرط المُشغّل، سترى القيمة التالية:

<div data-with-frame="true"><figure><img src="/files/ab98a312769a16ba1b2c73cbbe1e25f0c67c9b50" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
بهذه الطريقة، سيعمل الروبوت فقط في نافذة الاختبار وليس في أي مكان آخر.

بعد تصحيح أخطاء الروبوت، أزل هذا الشرط.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/eb365b4b85a0e052516761e9be978ae44c5ac9c5" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/359b7715e904b4b0b1f5b9214c2cfbbd47bc8671" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/7ef8b0ab9e5f31c5d4d07ac73bbad65c50b6da8f" alt="" width="375"><figcaption></figcaption></figure></div>

تُرسل هذه الرسالة في t[est mode بسبب الأمر "Block call <mark style="color:red;">**3124105**</mark>](/doc/ar/chatbot/ai/assistant.md#data-transfer-format)

<div data-with-frame="true"><figure><img src="/files/155e9967a1c6a523901bbdee242a1cfe98a54297" alt="" width="375"><figcaption></figcaption></figure></div>

بعد اختبار الروبوت وتصحيح أخطائه، اكتب الأمر في إعدادات الروبوت "start\_block\_from\_ai <mark style="color:red;">**31241050**</mark>".

{% hint style="success" %}
هذا النهج يمكّنك من إنشاء **أي نوع من المتاجر الإلكترونية** والاستفادة من **أي قيم بيانات** مخزنة داخل جدولك.

الحد الحقيقي الوحيد هو خيالك.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/ar/chatbot/ai/tables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
