# العمل مع الروابط

## روابط مع إشعار بالنقر <a href="#dlya-raboty-s-ssylkami" id="dlya-raboty-s-ssylkami"></a>

proxy() | proxy\_date() | proxy\_timeout()

&#x20;<mark style="color:red;">**المفتاح:**</mark>

<mark style="color:red;">**!**</mark> - المعاملات المطلوبة

**proxy(lnk, one-shot)** - ينشئ رابطًا مع إشعار بالنقر. تأخذ الدالة المعاملات التالية:\ <mark style="color:red;">!</mark> **الرابط** -الرابط \
**استخدام مرة واحدة** -مؤشر على أن الرابط للاستخدام لمرة واحدة. ما عليك سوى تمرير القيمة 1.

**proxy\_date(lnk, date, time)** - ينشئ رابطًا مع إشعار بالنقر ووقت انتهاء محدد. تأخذ الدالة المعاملات التالية:\ <mark style="color:red;">!</mark> **الرابط** - الرابط\ <mark style="color:red;">!</mark> **date** - تاريخ انتهاء الرابط \ <mark style="color:red;">!</mark> **الوقت** - وقت انتهاء الرابط\
**استخدام مرة واحدة** - مؤشر على أن الرابط للاستخدام لمرة واحدة. ما عليك سوى تمرير 1.

**proxy\_timeout(lnk, minutes, one-shot)** - ينشئ رابطًا مع إشعار بالنقر ومؤقت وصول محدد. تأخذ الدالة المعاملات التالية:\ <mark style="color:red;">!</mark> **الرابط** - الرابط\ <mark style="color:red;">!</mark> **minutes** - عدد الدقائق التي يبقى فيها الرابط نشطًا.\
**استخدام مرة واحدة** - مؤشر على أن الرابط للاستخدام لمرة واحدة. ما عليك سوى تمرير 1.

<details>

<summary>مثال</summary>

لنمرّ عبر مثال بسيط:

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

لقد أنشأنا رابطين وكيلين وأدرجناهما في الأزرار ونص الرسالة. وبما أننا نختبر في Telegram، فهذه فرصة جيدة لتذكّر كيفية تنسيق الروابط بشكل صحيح باستخدام Markdown. وللتعامل مع الأحرف الخاصة، استخدمنا الدالة tg\_escape().

هذا ما يراه العميل، على سبيل المثال، في Telegram:

<div data-with-frame="true"><figure><img src="/files/84c9f5c619acdbd143672881537405b8a1567250" alt="" width="188"><figcaption></figcaption></figure></div>

عندما ينقر العميل على الرابط، نتلقى استدعاءً عكسيًا:

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

لنقم بإعداد استجابة لهذا الحدث:

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

الآن، لنختبر وظائف إزالة الروابط:

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

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

لنحذف الرابط المحدد بالوقت:

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

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

</details>

<details>

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

مثال على الكود لحقل "الرسالة" (لا تنسَ تفعيل **Markdown** إذا كنت تعمل مع Telegram):

```
*اختبار الروابط:*
[انقر](#{link3})
```

أو اختبر باستخدام تنسيق الإخراج التالي:

<pre><code><strong>اختبار الروابط:
</strong>#{link2}
</code></pre>

مثال على الكود في حقل "الحاسبة":&#x20;

```
link1=proxy('https://mavibot.ai/', 1) 
link2=short_date('https://mavibot.ai/#tariff', '11.06.2025', '2pm') 
link3=tg_escape(link2)
```

</details>

{% hint style="info" %}
عندما ينقر العميل على رابط وكيل، ستتلقى استدعاءً عكسيًا بالشكل **link\_was\_pressed** . يتيح لك ذلك إعداد رد فعل عند النقر على الرابط.

للقيام بذلك، أدخل الاستدعاء العكسي المستلم في حقل "الشرط" واضبط نوع المطابقة على تطابق تام.
{% endhint %}

## تقليل طول الرابط

short() | short\_date() | short\_timeout()

&#x20;<mark style="color:red;">**المفتاح:**</mark>

<mark style="color:red;">**!**</mark> - المعاملات المطلوبة

**short(lnk, one-shot)** - ينشئ رابطًا من دون إشعار بالنقر. تأخذ الدالة المعاملات التالية:\ <mark style="color:red;">!</mark> **الرابط** -الرابط \
**استخدام مرة واحدة** -مؤشر على أن الرابط للاستخدام لمرة واحدة. ما عليك سوى تمرير القيمة 1.

**short\_date(lnk, date, time)** - ينشئ رابطًا من دون إشعار بالنقر ووقت انتهاء محدد. تأخذ الدالة المعاملات التالية:\ <mark style="color:red;">!</mark> **الرابط** - الرابط\ <mark style="color:red;">!</mark> **date** - تاريخ انتهاء الرابط \ <mark style="color:red;">!</mark> **الوقت** - وقت انتهاء الرابط\
**استخدام مرة واحدة** - مؤشر على أن الرابط للاستخدام لمرة واحدة. ما عليك سوى تمرير 1.

**short\_timeout(lnk, minutes, one-shot)** - ينشئ رابطًا من دون إشعار بالنقر ومؤقت وصول محدد. تأخذ الدالة المعاملات التالية:\ <mark style="color:red;">!</mark> **الرابط** - الرابط\ <mark style="color:red;">!</mark> **minutes** - عدد الدقائق التي يبقى فيها الرابط نشطًا.\
**استخدام مرة واحدة** - مؤشر على أن الرابط للاستخدام لمرة واحدة. ما عليك سوى تمرير 1.

## **إزالة الروابط**

remove\_links() | remove\_one\_time\_links()| remove\_timer\_links()

<mark style="color:red;">**المفتاح:**</mark>

<mark style="color:red;">**!**</mark> - المعاملات المطلوبة

**remove\_links()** - تعطيل جميع الروابط المختصرة المرسلة إلى العميل

\
**remove\_one\_time\_links()** - تعطيل جميع الروابط لمرة واحدة المرسلة إلى العميل<br>

**remove\_timer\_links()** - تعطيل جميع الروابط محددة المدة المرسلة إلى العميل

## رابط اختبار Telegram bot

quiz\_link\_timeout() | quiz\_link\_date() | quiz\_link()

{% hint style="warning" %}
يرجى الانتباه!

هناك حد صلاحية للرابط لمدة 21 يومًا، لذا يجب تحديثه!
{% endhint %}

لتمكين عرض الاختبار في Telegram، تحتاج إلى:

1\. انسخ معرّف صفحة الموقع. للقيام بذلك، انتقل إلى قسم "المواقع" وحدد الموقع المطلوب:

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

لاحقًا في النص، سنشير إلى **mini\_landing\_page\_id** باعتباره اسم المتغير.

2\. في حقل "الحاسبة"، استخدم إحدى الدوال التالية:

<mark style="color:red;">**المفتاح:**</mark>

<mark style="color:red;">**!**</mark> - المعاملات المطلوبة

**quiz\_link\_timeout(mini\_landing\_page\_id, minutes)  -** ينشئ رابطًا بحد عمر مضبوط بالدقائق

المعلمات:

<mark style="color:red;">**!**</mark>**&#x20;mini\_landing\_page\_id** - معرّف صفحة الموقع\
**minutes -** مدة حياة الرابط بالدقائق (النوع: رقم)

**quiz\_link\_date(mini\_landing\_page\_id, date, time) -** ينشئ رابطًا بانتهاء محدد بتاريخ ووقت معينين

المعلمات:

<mark style="color:red;">**!**</mark>**&#x20;mini\_landing\_page\_id** - معرّف صفحة الموقع\
**date** - تاريخ تفعيل الرابط (الصيغة: dd.mm.yyyy)\
**الوقت** - وقت تفعيل الرابط (الصيغة: hh:mm)

&#x20;**quiz\_link(mini\_landing\_page\_id)** - ينشئ رابطًا من دون وقت انتهاء

المعلمات:

<mark style="color:red;">**!**</mark>**&#x20;mini\_landing\_page\_id** - معرّف صفحة الموقع

<details>

<summary>مثال</summary>

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

3\. أنشئ **Telegram Web App** والزر وحدد اسم المتغير بين أقواس معقوفة مع علامة #.

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

<mark style="color:red;">**مهم!**</mark> \
تأكد من حفظ قيمة المتغير بشكل صحيح في الإعدادات المتقدمة.

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

إذا استخدمت **quiz\_link\_timeout** لإعادة توجيه العميل إلى صفحة موقع، يمكنك استخدام متغيرات العميل داخل عنوان الصفحة والوصف. على سبيل المثال، إذا كان لدى العميل متغير **name** بقيمة "John"، وكان وصف الصفحة يتضمن **"Hi #{name}, how are you?"**، فسيكون الناتج "Hi John, how are you?". ولكن إذا لم يكن لدى العميل ذلك المتغير، فستُسحب القيمة من المتغيرات العامة للمشروع.

{% hint style="warning" %}
**ملاحظة!** كن حذرًا عند استخدام الروابط من دون وقت انتهاء. إذا تمت مشاركة الرابط مع شخص آخر وأكمل الاختبار، فسيتم تسجيل النتائج تحت اسم العميل الذي تم إنشاء الرابط له في الأصل.
{% endhint %}

</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/links.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.
