# العمل مع التواريخ والوقت

{% hint style="info" %}
يعمل MaviBot مع صيغ التاريخ والوقت التالية:

للتواريخ – **"dd.mm.yyyy"**\
للوقت – **"HH:MM"**
{% endhint %}

### المتغيرات

للعمل مع التواريخ والوقت، يمكنك استخدام المتغيرات التالية:

**current\_date** - التاريخ الحالي بصيغة dd.mm.yyyy، بناءً على المنطقة الزمنية للمشروع\
**next\_day** - تاريخ الغد بصيغة dd.mm.yyyy؛ مفيد لجدولة الرسائل\
**current\_time** - الوقت الحالي بصيغة hh:mm، بناءً على المنطقة الزمنية للمشروع\
**weekday** - يوم الأسبوع كرقم: الإثنين = 1، الثلاثاء = 2، إلخ.

**وصول سريع إلى أوصاف الدوال:**

* [إضافة وقت إلى وقت](#how-to-add-time-to-time)&#x20;
* [مقارنة الوقت](#how-to-compare-time)&#x20;
* [تعيين فترات زمنية](#how-to-set-time-intervals)&#x20;
* [حساب الوقت المتبقي حتى اليوم D ](#how-to-find-out-how-much-time-is-left-until-day-d)
* [العثور على عيد الميلاد القادم](#how-to-find-out-the-next-birthday)&#x20;
* [الحصول على تاريخ يوم أسبوع محدد ](#how-to-get-the-date-of-a-specific-weekday)
* [الحصول على تاريخ يوم محدد من الشهر](#how-to-get-the-date-of-a-specific-day-of-month)&#x20;
* [التحقق مما إذا كان ضمن ساعات العمل](#how-to-check-if-the-current-time-is-within-working-hours)

### كيفية إضافة وقت إلى وقت&#x20;

{% hint style="info" %}
يمكنك مقارنة التواريخ والأوقات باستخدام المعاملات المنطقية تمامًا مثل الأرقام.
{% endhint %}

**addYear() | addMonth() | addDays() | addMinutes()**

<details>

<summary>الوصف</summary>

**addYear(date, years\_to\_add) -** يحسب تاريخًا جديدًا بإضافة عدد محدد من السنوات إلى التاريخ المعطى، مع أخذ السنوات الكبيسة في الاعتبار. استخدم رقمًا سالبًا لطرح السنوات.

**addMonth(date, months\_to\_add)** - يحسب تاريخًا جديدًا بإضافة عدد محدد من الأشهر إلى التاريخ المعطى، مع أخذ السنوات الكبيسة في الاعتبار. استخدم رقمًا سالبًا لطرح الأشهر.

**addDays(date, days\_to\_add) -** يضيف عددًا محددًا من الأيام إلى التاريخ. استخدم رقمًا سالبًا لطرح الأيام. مثال: `addDays(current_date, 20)` أو `addDays('20.08.2019', -99)`

**addMinutes(time, minutes\_to\_add) -** يضيف عددًا محددًا من الدقائق إلى الوقت. استخدم رقمًا سالبًا لطرح الدقائق. مثال: `addMinutes(current_time, 20)` أو `addMinutes('20:08', -30)`

**'date' + days** - يضيف عددًا محددًا من الأيام إلى التاريخ

**'time' + minutes** - يضيف عددًا محددًا من الدقائق إلى الوقت

</details>

<details>

<summary>أمثلة</summary>

مثال على إضافة عدد معيّن من السنوات إلى تاريخ:

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

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

مثال على إضافة عدد معيّن من الأشهر إلى تاريخ:

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

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

مثال على استخدام عملية حسابية بسيطة — إضافة أيام إلى تاريخ ودقائق إلى وقت:

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

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

</details>

<details>

<summary>مثال على الكود للنسخ</summary>

`count = 2`\
`date = '29.02.2020'`\
`x = addYear(date, count)`\
`y = addYear('31.12.2021', -1*count)`

`count = 10`\
`date = '30.04.2019'`\
`x = addMonth(date, count)`\
`y = addMonth('31.12.2020', -1*count)`

`count = 10`\
`date = '30.04.2019'`\
`x = addMonth(date, count)`\
`y = addMonth('31.12.2020', -1*count)`

</details>

### كيفية مقارنة الوقت&#x20;

<details>

<summary>الوصف</summary>

يمكنك مقارنة التواريخ والأوقات باستخدام المعاملات المنطقية تمامًا مثل الأرقام:\
أكبر من > ، أصغر من <\
يساوي == ، لا يساوي !=\
أكبر من أو يساوي >= ، أصغر من أو يساوي <=

يمكن أيضًا دمج شروط المقارنة باستخدام المعاملات المنطقية AND و OR.

{% hint style="warning" %}
**يجب أن تكون شروط المقارنة متسقة منطقيًا**، أي لا يمكنك إنشاء شروط مثل a == 1 و a != 1، لأن القيمة لا يمكن أن تكون مساوية وغير مساوية لـ 1 في الوقت نفسه.
{% endhint %}

يتم إدخال شروط المقارنة في **"Variable"** .

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

تأكد من استخدام التأخيرات عند تحديد شروط المقارنة في السهم.

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

</details>

<details>

<summary>مثال</summary>

`'01.09.2020'`` `*`< '11.10.2020'`*&#x20;

*`'11.10.2020' >=`*` ``current_date`

`current_date == date`

`current_time >= '18:00'`&#x20;

`current_time <= '21:00'`

</details>

### &#x20;كيفية تعيين فترات زمنية

<details>

<summary>الوصف</summary>

الدالة المفيدة جدًا للعمل مع الفترات الزمنية هي:

**time\_interval('start\_time', 'end\_time')**

تُرجع الدالة قيمة منطقية **True** أو **خطأ**.

استخدم هذه الدالة في الكتل كشرط في حقل **"Variable to compare"** أو داخل حاسبة باستخدام IF().

{% hint style="info" %}
تتيح لك الدالة التحقق مما إذا كان **الوقت الحالي** يقع ضمن الفترة المحددة.
{% endhint %}

</details>

<details>

<summary>مثال</summary>

`time_interval('10:00','19:00') - يتحقق من الفترة الزمنية من 10 صباحًا إلى 7 مساءً`

`time_interval('19:00','07:00') - يتحقق من الفترة الزمنية من 7 مساءً إلى 7 صباحًا`

`time_interval('18.10.2021 10:00','25.10.2021 23:59:59') - يتحقق من الفترة الزمنية بين تواريخ مختلفة`

`time_interval('#{current_date} 10:00','#{date} 19:00') - يتحقق من الفترة الزمنية المحددة باستخدام المتغيرات`

لنلقِ نظرة أقرب على المثال الأول. تعمل الدالة كما يلي:

إذا أرسل المستخدم رسالة تحتوي على الكلمة "time" خلال الفترة من 10:00 إلى 19:00، فسيعيد الشرط true؛ وإلا فسيعيد false.

يتيح لك هذا إنشاء ردود مختلفة حسب وقت طلب العميل.\
على سبيل المثال، إذا كان الوقت الحالي بين 10:00 و19:00، فسيحصل العميل على:&#x20;***"سيرد عليك أحد المديرين قريبًا."***

في أي وقت آخر، سيحصل على:&#x20;***"المدير غير متاح حاليًا؛ ستتلقى ردًا خلال ساعات العمل من 10:00."***

في حقل Calculator، أدخل:

`response = if(time_interval('10:00','19:00'), "سيرد عليك أحد المديرين قريبًا", "المدير غير متاح حاليًا؛ ستتلقى ردًا خلال ساعات العمل من 10:00")`

في حقل "Message"، أدخل: `#{response}`

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

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

</details>

<details>

<summary>مثال على الكود للنسخ</summary>

`response = if(time_interval('10:00','19:00'), "سيرد عليك أحد المديرين قريبًا", "المدير غير متاح حاليًا؛ ستتلقى ردًا خلال ساعات العمل من 10:00")`

</details>

### كيفية معرفة مقدار الوقت المتبقي حتى اليوم D

<details>

<summary>مثال</summary>

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

لحساب مقدار الوقت المتبقي حتى اليوم D:

حدّد تاريخ ووقت اللحظة المستهدفة التي تريد العدّ التنازلي إليها.

`date_D = 10.10.2021 time_D = 12:00`

حوّله إلى **timestamp** صيغة:

`timestampD = convert_datetime("#{date_D} #{time_D}", "%d.%m.%Y %H:%M", "%s")`

التقط الوقت الحالي في **timestamp** صيغة:

`timestamp0 = #{timestamp}`

قرّب القيم الناتجة إلى أعداد صحيحة:&#x20;

`timeD = int(#{timestampD}) time0 = int(#{timestamp0})`

احسب الفرق بالثواني:

`time = timeD - time0`

اقسم على عدد الثواني في اليوم، ثم قرّب النتيجة:

`full_days = time/86400`&#x20;

`days = int(#{full_days})`

احسب عدد الثواني المتبقية من اليوم الجزئي:

`c = days*86400`&#x20;

`d = time - c`

احسب عدد الساعات التي يعادلها ذلك وقرّب القيمة:

`e = d/3600 hours = int(e)`

احسب عدد الثواني المتبقية من الساعات الجزئية:

`g = hours*3600`&#x20;

`h = d - g`

حوّله إلى دقائق وقرّب القيمة:&#x20;

`i = h/60`&#x20;

`minutes = int(i)`

احسب عدد الثواني المتبقية:

`k = minutes*60`&#x20;

`seconds = h - k`

واعرض الوقت في **"نص الرسالة"** :

الوقت المتبقي حتى البدء: #{days} أيام #{hours} ساعات #{minutes} دقائق و#{seconds} ثوانٍ

إليك الشيفرة لإدراجها في **"الحاسبة"** :

```
timestampD = convert_datetime("#{date_D} #{time_D}", "%d.%m.%Y %H:%M", "%s")
timestamp0 = #{timestamp}
timeD = int(#{timestampD})
time0 = int(#{timestamp0})
time = timeD - time0
full_days = time/86400
days = int(#{days})
c = days*86400
d = time - c
e = d/3600
hours = int(e)
g = hours*3600 
h = d - g
i = h/60 
minutes = int(i)
k = minutes*60 
seconds = h - k
```

<figure><img src="/files/5c80a611e34b12e71f1a6a2988d33d48dac297c7" alt="" width="563"><figcaption></figcaption></figure>

الـ **الحاسبة** يدعم أيضًا طرح التواريخ والأوقات دون تحويل النوع. على سبيل المثال:

`'11.12.2021' - '8.12.2021'  تُرجع 3 (أيام)`

`'11:12' - '3:45'  تُرجع 447 (دقائق)`

</details>

### كيفية معرفة عيد الميلاد القادم &#x20;

<details>

<summary>الوصف</summary>

لكي يرسل الروبوت تهنئة بعيد الميلاد، يمكنك استخدام الدالة:

**birthdate(date)** - تُرجع عيد الميلاد القادم اعتمادًا على تاريخ ميلاد الشخص: `reminder = birthdate('28.04.1994')`&#x20;

</details>

### كيفية الحصول على تاريخ يوم أسبوع محدد

<details>

<summary>الوصف</summary>

إذا كانت لديك رسائل متكررة في أيام أسبوع محددة، فيمكنك الحصول على تاريخ يوم الأسبوع لجدولة الإرسال.

**weekday\_date(weekday, b)** - تُرجع تاريخ أقرب يوم أسبوع محدد. تأخذ **معاملين**:

**المعامل الأول هو يوم الأسبوع** الرقم المطلوب العثور عليه (من 1 إلى 7، حيث 1 = الإثنين، 7 = الأحد).

**المعامل الثاني** يحدد ما إذا كان **يجب إرجاع تاريخ اليوم إذا كان يوم الأسبوع المحدد هو اليوم**. هذا المعامل اختياري وقيمته الافتراضية False.

لنلقِ نظرة على مثال لفهم كيفية عمل المعامل الثاني:

تريد جدولة رسالة لتُرسل يوم الخميس.

لكن ماذا لو سجّل العميل للتو يوم الخميس؟

هل يجب إرسال الرسالة هذا الخميس أم الخميس القادم؟

المعامل الثاني المضبوط على False يعني أن الرسالة ستُرسل فقط يوم الخميس القادم (مع تخطي اليوم).

المعامل الثاني المضبوط على True يعني أن الرسالة ستُرسل هذا الخميس إذا كان اليوم هو الخميس (بما في ذلك يوم التسجيل).

في مثالنا، يسجّل المستخدم يوم الخميس، 13.02.2025، ونريد إرسال الرسالة في الخميس القادم.&#x20;لذا، ستكون القيمة المعادة "20.02.2025".

على سبيل المثال، `weekday_date(4)` ستُرجع '20.02.2025'.

إذا أردت أن يُحتسب اليوم الحالي فقط حتى وقت معيّن، يمكنك استخدام هذا التركيب:

`weekday_date(4, current_time < '13:00')`، حيث يمكن استبدال الشرط بأي شرط تحتاجه.

<mark style="color:green;">**إليك مثالًا على كيفية استخدام الدالة:**</mark>

مثال على استخدام الدالة في حقل "Send date" الخاص بالاتصال

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

</details>

### كيفية الحصول على تاريخ يوم محدد من الشهر

<details>

<summary>الوصف</summary>

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

**month\_date(date, b)** - تُرجع أقرب تاريخ في الشهر للرقم المحدد لليوم. تأخذ **معاملين**:

**date** - رقم يوم الشهر المطلوب العثور عليه (من 1 إلى 31)

**b** - معامل اختياري؛ يحدد ما إذا كان سيتم إرجاع تاريخ اليوم إذا كان يطابق اليوم المحدد. القيمة الافتراضية هي False.

إذا مرّرت 31 لكن الشهر الحالي يحتوي فقط على 30 يومًا، فستُرجع الدالة آخر يوم في الشهر (مثلًا اليوم 30).

على سبيل المثال:

إذا كان اليوم هو 05.04.2022 واستدعيت t = month\_date(1)، فالنتيجة ستكون 01.05.2022 - أقرب يوم 1 من الشهر بعد اليوم.

</details>

### كيفية التحقق مما إذا كان الوقت الحالي ضمن ساعات العمل

<details>

<summary>الوصف</summary>

على سبيل المثال، تعمل الشركة من 9:00 صباحًا إلى 6:00 مساءً وتكون مغلقة يومي السبت والأحد. لننُشئ الفحوصات خطوة بخطوة:

1. تحقق مما إذا كان الوقت ضمن ساعات العمل: current\_time >= '9:00' **AND** current\_time <= '18:00'&#x20;
2. تحقق مما إذا كان الوقت خارج ساعات العمل: current\_time < '9:00' **OR** current\_time > '18:00'
3. تحقق مما إذا كان اليوم يوم عمل (ليس السبت أو الأحد): weekday != 6 AND weekday != 7
4. دمج الشروط للكتابة خلال ساعات العمل: current\_time >= '9:00' **AND** current\_time <= '18:00' **AND** weekday != 6 **AND** weekday != 7
5. دمج الشروط للكتابة خارج ساعات العمل: current\_time < '9:00' **OR** current\_time > '18:00' **OR** weekday == 6 **OR** weekday == 7

</details>

<details>

<summary>مثال</summary>

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

</details>

### كيفية تحويل التاريخ والوقت

<details>

<summary>مثال</summary>

تختلف صيغة التاريخ-الوقت المستخدمة بين الأنظمة، وقد تعيد إحدى الموارد المتكاملة وقتًا بصيغة لا يتعرف عليها MaviBot. ستحتاج إلى تحويلها.&#x20;

**convert\_datetime(date, fin, f\_out) -** يحوّل التاريخ والوقت

هناك ثلاثة معاملات:

* سلسلة تاريخ الإدخال
* سلسلة صيغة الإدخال
* سلسلة صيغة الإخراج

مثال: \
`convert_datetime("2011-11-03", "%Y-%m-%d", "%Y/%m/%d") на выходе будет 2011/11/03`

تقوم هذه الدالة بتحويل التاريخ الوارد إلى **timestamp**.

\#{current\_date} #{current\_time} - يحوّل إلى "06.01.2025 11:45" — نظرًا لعدم وجود معلومات عن الثواني أو أجزاء الثانية، فإن الطابع الزمني الناتج يحتوي على أصفار بعد الفاصلة العشرية.

على سبيل المثال: 1736144700.000000

إذا أضفت أجزاء الثانية بعد الفاصلة العشرية،

`convert_datetime("06.01.2025 19:26:35.123456", "%d.%m.%Y %H:%M:%S.%f", "%s.%f")`

فالنتيجة ستكون: `1736166395.123456`

**get\_datetime(format)** - دالة للحصول على الوقت الحالي بصيغة محددة.\
تأخذ الدالة معاملًا واحدًا — سلسلة تحدد صيغة الإخراج المطلوبة.

{% hint style="info" %} <mark style="color:$primary;">مهم!</mark> ستكون استجابة الدالة (Monday, Tuesday, etc.).\
\
مثال: <mark style="color:orange;">get\_datetime("%A") الناتج سيكون الأربعاء</mark>
{% endhint %}

وصف معاملات سلسلة الصيغة، والتي تُحدَّد في الدالة كسلاسل محاطة بعلامات اقتباس:

<table data-header-hidden><thead><tr><th width="177.33333333333331">التوجيه</th><th>القيمة</th><th>مثال</th></tr></thead><tbody><tr><td><code>%a</code></td><td>الاسم المختصر ليوم الأسبوع</td><td>Sun, Mon ...</td></tr><tr><td><code>%A</code></td><td>الاسم الكامل ليوم الأسبوع</td><td>Monday, Tuesday, …, Sunday </td></tr><tr><td><code>%w</code></td><td>يوم الأسبوع كرقم عشري، حيث 0 هو الأحد و6 هو السبت</td><td>0, 1, …, 6</td></tr><tr><td><code>%d</code></td><td>يوم الشهر كرقم عشري مع صفر بادئ</td><td>01, 02, …, 31</td></tr><tr><td><code>%b</code></td><td>الاسم المختصر للشهر</td><td>Jan, Feb, …, Dec</td></tr><tr><td><code>%B</code></td><td>الاسم الكامل للشهر</td><td>January, February, March, etc.</td></tr><tr><td><code>%m</code></td><td>الشهر كرقم عشري مع صفر بادئ</td><td>01, 02, …, 12</td></tr><tr><td><code>%y</code></td><td>السنة كرقم من رقمين</td><td>00, 01, …, 99</td></tr><tr><td><code>%Y</code></td><td>السنة كرقم من أربعة أرقام</td><td>0001, 0002, …, 2013, 2014, …, 9998, 9999</td></tr><tr><td><code>%H</code></td><td>الساعة (بتنسيق 24 ساعة) كرقم من رقمين مع صفر بادئ</td><td>00, 01, …, 23</td></tr><tr><td><code>%I</code></td><td>الساعة (بتنسيق 12 ساعة) كرقم من رقمين مع صفر بادئ</td><td>01, 02, …, 12</td></tr><tr><td><code>%p</code></td><td>مُؤشِّر AM أو PM</td><td>AM, PM (en_US);am, pm (de_DE)</td></tr><tr><td><code>%M</code></td><td>الدقائق كرقم من رقمين مع صفر بادئ</td><td>00, 01, …, 59</td></tr><tr><td><code>%S</code></td><td>الثواني كرقم من رقمين مع صفر بادئ</td><td>00, 01, …, 59</td></tr><tr><td><code>%f</code></td><td>الميكروثواني كرقم من ستة أرقام مع صفر بادئ</td><td>000000, 000001, …, 999999</td></tr><tr><td><code>%z</code></td><td>إزاحة UTC بالشكل <code>±HHMM[SS[.ffffff]]</code> (سلسلة فارغة إذا كان الكائن naive).</td><td>(فارغ)، +0000، -0400، +1030، +063415، -030712.345216</td></tr><tr><td><code>%Z</code></td><td>اسم المنطقة الزمنية (سلسلة فارغة إذا كان الكائن naive).</td><td>(فارغ)، UTC، GMT</td></tr><tr><td><code>%j</code></td><td>يوم السنة كرقم من ثلاثة أرقام مع صفر بادئ</td><td>001, 002, …, 366</td></tr><tr><td><code>%U</code></td><td>رقم أسبوع السنة (مع اعتبار الأحد أول يوم في الأسبوع) كرقم عشري مع صفر بادئ. تُعتبر جميع أيام السنة الجديدة السابقة لأول أحد أسبوعًا صفريًا.</td><td>00, 01, …, 53</td></tr><tr><td><code>%W</code></td><td>رقم أسبوع السنة (مع اعتبار الإثنين أول يوم في الأسبوع) كرقم عشري. تُعتبر جميع أيام السنة الجديدة السابقة لأول إثنين أسبوعًا صفريًا.</td><td>00, 01, …, 53</td></tr><tr><td><code>%%</code></td><td>الرمز <code>'%'</code></td><td>%</td></tr><tr><td><code>%s</code></td><td>timestamp</td><td>1607926200</td></tr></tbody></table>

جميع الرموز الأخرى تمثل نفسها.

{% hint style="info" %}
يمكنك الحصول على الطابع الزمني الحالي باستخدام: **convert\_datetime("#{current\_date} #{current\_time}", "%d.%m.%Y %H:%M", "%s")**
{% endhint %}

</details>

### عرض التاريخ الحالي بصيغة "dd اسم الشهر"

<details>

<summary>مثال</summary>

لعرض التاريخ بصيغة "dd اسم الشهر"، استخدم الدالة ***current\_date\_eng()***.&#x20;

*إذا كنت بحاجة إلى إضافة عدد معيّن من الأيام إلى هذا التاريخ، فعليك تحديد عدد الأيام المطلوب كمعامل في الدالة.*

على سبيل المثال، إذا كان تاريخ اليوم هو 3 أبريل، فستُرجع الدالة:

current\_date\_eng() - 3 أبريل

current\_date\_eng(2) - 5 أبريل

current\_date\_eng(-2) - 1 أبريل

</details>


---

# 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/functions/alaalh-alhasbh/date.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.
