# دوال إرسال الرسائل وتحريرها

## **كيفية إرسال الرسائل باستخدام حساب Telegram Business**

**tg\_send\_message(platform\_id, text,client\_message\_id, reply\_markup, parse\_mode, disable\_web\_page\_preview, protect\_content, disable\_notification**, **message\_thread\_id, entities)**&#x20;

المعلمات:

<table><thead><tr><th width="324.87890625">المعامل</th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> platform_id</strong></td><td>معرّف مستخدم Telegram الذي يجب إرسال الرسالة إليه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> text</strong></td><td>نص الرسالة</td></tr><tr><td><strong>client_message_id</strong> </td><td>معرّف الرسالة المراد اقتباسها</td></tr><tr><td><strong>reply_markup</strong></td><td>إعدادات الزر  <a href="/pages/3190716913be58536287c09d548e47bb7928af82#how-to-delete-reply-buttons"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td>تنسيق النص العريض والمائل في الوصف<a href="/pages/9992a8217f2c8c29f6c1036949ffd70df651d3f5#markdown-markup"> <strong>***</strong></a><strong>.</strong> يمكن أن تكون له قيم مثل html وmarkdown وmarkdownV2.</td></tr><tr><td><strong>disable_web_page_preview</strong></td><td>إظهار معاينة الرابط. لتعطيلها، مرّر 1؛ وإلا فمرّر 0 أو اتركها فارغة "".</td></tr><tr><td><strong>protect_content</strong></td><td>علم حماية المحتوى. مرّر أي قيمة باستثناء 0 أو False أو '' للتفعيل.</td></tr><tr><td><strong>disable_notification</strong></td><td>علم الإشعار الصوتي (الافتراضي: 0). مرّر 1 لتعطيل الإشعار، و0 لتفعيله.</td></tr><tr><td><strong>message_thread_id</strong></td><td>معرّف الموضوع (متاح للمجموعات الفائقة مع تمكين وظيفة المنتدى)</td></tr><tr><td><strong>entities</strong></td><td>يتيح لك هذا نسخ نص مُنسّق مسبقًا مع جميع أنماطه وتحديد نطاق الأحرف الذي يجب تطبيق خط معيّن عليه ببساطة. يمكن العثور على مثال في tg_request ضمن الحقل المقابل. يجب أن تكون المعلمة قاموسًا. راجع تبويب المثال للرجوع إليه.</td></tr></tbody></table>

<details>

<summary><mark style="color:orange;"><strong>مثال مفصل</strong></mark></summary>

لنفترض مثالًا بسيطًا مع مجموعة من المعلمات المطلوبة:

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

يحدد platform\_id المعرّف الخاص بعميل معيّن.

انظر المثال نفسه، ولكن باستخدام المتغيرات:

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

في هذا المثال، سيحتوي المتغير `soob` على استجابة الخادم بعد إرسال رسالة.

<div data-with-frame="true"><figure><img src="/files/915af7b85514b4be88e3e0aa860f17a7cd80c554" alt="" width="356"><figcaption></figcaption></figure></div>

إذا حفظت `message_id` من الاستجابة المستلمة، فسيسمح لك ذلك لاحقًا بالتعامل مع هذه الرسالة (تعديل، حذف، إعادة توجيه، تعليق).

غالبًا ما تظهر صعوبات عند استخدام جميع المعلمات. لننظر في المثال التالي:

* أولًا، عرّف جميع المعلمات المستخدمة في الدالة. تذكّر أن المعلمات يمكن تمريرها ليس فقط كقيم ولكن أيضًا كمتغيرات، وهو ما يكون غالبًا أكثر ملاءمة ووضوحًا. يمكن الحصول على متغيرات مثل platform\_id وclient\_message\_id من بطاقة ملف العميل. \
  &#x20;**platform\_id** — معرّف عميل Telegram الذي يجب إرسال الرسالة إليه [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)\ <mark style="color:green;">>سنرد في نفس الدردشة التي يكتب فيها العميل</mark>

  **text** - نص الرسالة. \ <mark style="color:green;">>نستخدم تنسيق النص - على سبيل المثال، تمييز عريض.</mark>

  **client\_message\_id** - معرّف الرسالة المراد اقتباسها\ <mark style="color:green;">>في الدردشات، تُعيَّن قيمة هذا المتغير تلقائيًا.</mark>\
  **reply\_markup** — إعدادات الأزرار [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)**.** \ <mark style="color:green;">>لنعيّنه إلى المتغير opts.</mark>\
  **parse\_mode** — تنسيق النص العريض والمائل في الوصف [**\*\*\***](#kak-ispolzovat-razmetku-teksta-markdown-v-parametre-parse_mode)**.** يمكن أن تكون له قيم مثل html وmarkdown وmarkdownV2. الأحرف المستخدمة لتنسيق نص الرسالة موضحة[ هنا](/doc/ar/chatbot/builder/telegram_messages.md). \ <mark style="color:green;">>لنستخدم markdown.</mark> \
  **disable\_web\_page\_preview -** إظهار معاينة الرابط. لتعطيلها، مرّر 1؛ وإلا فمرّر 0 أو اتركها فارغة "".\ <mark style="color:green;">>يمكننا تمرير أي قيمة لأن نص الرسالة لا يحتوي على رابط.</mark>\
  **protect\_content** — علم حماية المحتوى. مرّر أي قيمة باستثناء 0 أو False أو '' للتفعيل.\ <mark style="color:green;">>لا نحتاج إلى حماية المحتوى، لذا سنمرر سلسلة فارغة</mark> <mark style="color:green;">''.</mark>\
  **disable\_notification** — علم الإشعار الصوتي (الافتراضي: 0). مرّر 1 لتعطيل الإشعار، و0 لتفعيله.\ <mark style="color:green;">>الإشعار هو نافذة منبثقة تعرض نص الرسالة. لنفعله.</mark>
* بعد ذلك، نُجمّع الدالة. تذكّر إسناد الدالة إلى متغير — فهذا سيسمح لك بتتبع حالة إرسال الرسالة.

<div data-with-frame="true"><figure><img src="/files/d5bb69309294159532ef557f437962c7a5c5440c" alt="" width="563"><figcaption><p>حقل "Calculator"</p></figcaption></figure></div>

إليك ما حصلنا عليه:\
بعد أن يرسل لنا العميل الكلمة المفتاحية test، نرد باقتباس رسالته.

في `ok` نرى حالة الإرسال؛ يلي ذلك معلومات عن الرسالة نفسها — معرّفها، وبيانات المرسل، والمحتوى.

مثال باستخدام **entities** المعلمة\
يمكنك تخزين السلسلة الأصلية في متغير، كما هو موضح أدناه:

`text = "qwert asdfg zxcvb poiuy lkjhg 12345"`\
\
يجب أن تكتب المعلمة كقاموس مع البيانات وتحدد التنسيق المطلوب بالإشارة إلى الخطوط:

`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"``    `<mark style="color:red;">**`https://mavibot.ai"}`**</mark>`,{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`

مرّر المعلمة أخيرًا في الدالة التي تستخدمها. يمكن تمرير المعلمة إلى كل من الدالتين tg\_send\_message وtg\_send\_message\_1:

`x = tg_send_message(platform_id, text, None, None, None, False, False, False, None, entities`)

</details>

{% hint style="info" %}
لتعيين نص مع فواصل أسطر إلى متغير، حدّد القيمة كما يلي:

`text = "First line of text" + "\n" + "Second line of text" + "\n" + "Third line"`
{% endhint %}

## كيفية إرسال رسالة مع تحديد بوت Telegram معيّن

tg\_send\_message\_1(token, platform\_id, text, client\_message\_id, reply\_markup, parse\_mode, disable\_web\_page\_preview, protect\_content, disable\_notification, message\_thread\_id, entities, business\_connection\_id)

<table><thead><tr><th width="288.94140625">المعامل</th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> token</strong></td><td>رمز بوت Telegram الذي تم الحصول عليه من BotFather</td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> platform_id</strong></td><td>معرّف مستخدم Telegram الذي يجب إرسال الرسالة إليه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> text</strong></td><td>نص الرسالة</td></tr><tr><td><strong>client_message_id</strong></td><td>معرّف الرسالة المراد اقتباسها</td></tr><tr><td><strong>reply_markup</strong></td><td>إعدادات الزر  <a href="/pages/3190716913be58536287c09d548e47bb7928af82#how-to-delete-reply-buttons"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td>تنسيق النص العريض والمائل في الوصف <a href="/pages/9992a8217f2c8c29f6c1036949ffd70df651d3f5"><strong>***</strong></a><strong>.</strong> يمكن أن تكون له قيم مثل html وmarkdown وmarkdownV2.</td></tr><tr><td><strong>disable_web_page_preview</strong></td><td>إظهار معاينة الرابط. لتعطيلها، مرّر 1؛ وإلا فمرّر 0 أو اتركها فارغة "".</td></tr><tr><td><strong>protect_content</strong></td><td>علم حماية المحتوى. مرّر أي قيمة باستثناء 0 أو False أو '' للتفعيل.</td></tr><tr><td><strong>disable_notification</strong></td><td>علم الإشعار الصوتي (الافتراضي: 0). مرّر 1 لتعطيل الإشعار، و0 لتفعيله.</td></tr><tr><td><strong>message_thread_id</strong> </td><td>معرّف الموضوع (متاح للمجموعات الفائقة مع تمكين وظيفة المنتدى)</td></tr><tr><td><strong>entities</strong></td><td>يتيح لك هذا نسخ نص مُنسّق مسبقًا مع جميع أنماطه وتحديد نطاق الأحرف الذي يجب تطبيق خط معيّن عليه ببساطة. يمكن العثور على مثال في tg_request ضمن الحقل المقابل. يجب أن تكون المعلمة قاموسًا.</td></tr><tr><td><strong>business_connection_id</strong></td><td>الـ <strong>معرّف النشاط التجاري</strong> تُستخدم هذه القيمة عند ربط البوت وتُعرض في القنوات. يجب توفيرها إذا كان رمز البوت مُدرجًا في المعلمات وكانت الرسالة تحتاج إلى الإرسال عبر حساب مستخدم مرتبط بالبوت.</td></tr></tbody></table>

<details>

<summary>مثال</summary>

مثال على تمرير المعلمة:\
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"`<mark style="color:red;">**`https://mavibot.ai"},`**</mark>`{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`

يُظهر المثال القاموس فقط، بينما يُسند نص الرسالة نفسه إلى متغير منفصل.

</details>

## كيفية تعديل النص في رسالة Telegram

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

تتوفر وظيفة تعديل الرسالة فقط للرسائل الجديدة والرسائل المرسلة حديثًا. <br>

تحدد خدمة المراسلة نفسها الفترة الزمنية التي يُسمح خلالها بتعديل الرسالة، ويعتمد ذلك على حمل/نشاط البوت الخاص بك؛ وقد تُختصر فترة التعديل. <br>

وفقًا للدعم الفني لخدمة المراسلة، فإن الإطار الزمني الأمثل لتعديل الرسالة هو 48 ساعة.
{% endhint %}

tg\_edit\_message\_text(platform\_id, message\_id, text, reply\_markup, parse\_mode, disable\_web\_page\_preview, entities)

<table><thead><tr><th width="270.03125">المعلمة</th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> platform_id</strong></td><td>معرّف مستخدم Telegram الذي يجب إرسال الرسالة إليه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> message_id</strong></td><td>معرّف الرسالة المراد تعديلها. يجب حفظ هذا المعرّف مسبقًا عند إرسال الرسالة.</td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> text</strong></td><td>نص الرسالة</td></tr><tr><td><strong>reply_markup</strong></td><td>إعدادات الزر  <a href="/pages/3190716913be58536287c09d548e47bb7928af82#how-to-delete-reply-buttons"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td>تنسيق النص العريض والمائل في الوصف <a href="/pages/9992a8217f2c8c29f6c1036949ffd70df651d3f5"><strong>***</strong></a><strong>.</strong> يمكن أن تكون له قيم مثل html وmarkdown وmarkdownV2.</td></tr><tr><td><strong>disable_web_page_preview</strong> </td><td>إظهار معاينة الرابط. لتعطيلها، مرّر 1؛ وإلا فمرّر 0 أو اتركها فارغة "".</td></tr><tr><td><strong>entities</strong></td><td>يتيح لك هذا نسخ نص مُنسّق مسبقًا مع جميع أنماطه وتحديد نطاق الأحرف الذي يجب تطبيق خط معيّن عليه ببساطة. يمكن العثور على مثال في tg_request ضمن الحقل المقابل. يجب أن تكون المعلمة قاموسًا.</td></tr></tbody></table>

## كيفية إرسال رد فعل على رسالة

tg\_set\_reaction(platform\_id, message\_id, reaction)

<table><thead><tr><th width="305.015625">المعامل</th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark> platform_id</td><td>معرّف دردشة تيليغرام</td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark> message_id</td><td>معرّف الرسالة</td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark> التفاعل</td><td>يتم تمرير الرد الفعل المطلوب كسلسلة نصية.</td></tr></tbody></table>

<details>

<summary>مثال</summary>

مثال كود للنسخ:

react = tg\_set\_reaction(platform\_id, 1556, '👌')

مثال في الحاسبة:

<div align="center" data-with-frame="true"><figure><img src="/files/90943ba7e8d164147fd616f7c80c7f30c5868109" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

## كيفية تعديل وصف مرفق

**tg\_edit\_message\_caption(platform\_id, message\_id, caption, reply\_markup, parse\_mode, entities, show\_caption\_above\_media)**

<table><thead><tr><th width="305.015625">المعامل </th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark> platform_id</td><td>معرّف مستخدم Telegram الذي يجب إرسال الرسالة إليه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark> message_id</td><td>معرّف الرسالة المراد تعديلها</td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> caption</strong></td><td>نص الوصف</td></tr><tr><td><strong>reply_markup</strong></td><td>إعدادات الزر <a href="#kak-propisyvat-knopki-v-parametre-reply_markup"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td>تنسيق النص العريض والمائل في الوصف<a href="/pages/9992a8217f2c8c29f6c1036949ffd70df651d3f5"> <strong>***</strong></a><strong>.</strong>  يمكن أن تكون له قيم مثل html وmarkdown وmarkdownV2.</td></tr><tr><td><strong>entities</strong> </td><td><p>يتيح لك هذا نسخ نص مُنسّق مسبقًا مع جميع أنماطه وتحديد نطاق الأحرف الذي يجب تطبيق خط معيّن عليه ببساطة. يمكن العثور على مثال في tg_request ضمن الحقل المقابل. يجب أن تكون المعلمة قاموسًا.<br><br>مثال على تمرير المعلمة:<br><code>entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"</code><mark style="color:red;"><strong><code>https://,mavibot.ai"}</code></strong></mark><code>,{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]</code></p><p></p><p>يُظهر المثال القاموس فقط، بينما يُسند نص الرسالة نفسه إلى متغير منفصل.</p></td></tr><tr><td><strong>show_caption_above_media</strong></td><td>يأخذ القيمة True؛ إذا تم تحديد هذه المعلمة، فسيتم عرض نص الرسالة فوق المرفق.</td></tr></tbody></table>

## كيفية تعديل المرفقات الوسائطية في رسالة

<table><thead><tr><th width="270.03125">المعامل</th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> platform_id</strong></td><td>معرّف مستخدم Telegram الذي يجب إرسال الرسالة إليه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> message_id</strong></td><td>معرّف الرسالة المراد تعديلها. يجب حفظ هذا المعرّف مسبقًا عند إرسال الرسالة. </td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> الوسائط</strong></td><td><p>قاموس يصف ملف الوسائط:<br><em>مثال على قاموس JSON لاستبدال صورة أُرسلت سابقًا:</em><br><code>media = '{"type": "photo", "media": "&#x3C;file_to_send>"}'</code></p><p></p><p>حيث يُنصح بأن يكون &#x3C;file_to_send> هو file_id الذي تم الحصول عليه عبر <a href="/pages/4f7f47cbf990e247b61acd4ca14b2d93f4aa69dc">Telegram webhook</a>. </p><p></p><p>لمزيد من التفاصيل، تُوصَف معلمات القاموس في <a href="/pages/a44d73bd79c63caabfbb3159f724824b2defc044">توثيق Telegram</a>. </p></td></tr><tr><td><strong>reply_markup</strong></td><td>إعدادات الزر <a href="#kak-propisyvat-knopki-v-parametre-reply_markup"><strong>**</strong></a></td></tr></tbody></table>

## **كيفية تعديل لوحة مفاتيح مضمّنة في رسالة**

<table><thead><tr><th width="270.03125">المعامل</th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> platform_id</strong></td><td>معرّف مستخدم Telegram الذي يجب إرسال الرسالة إليه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> message_id</strong></td><td>معرّف الرسالة المراد تعديلها. يجب حفظ هذا المعرّف مسبقًا عند إرسال الرسالة. </td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> reply_markup</strong></td><td>إعدادات الزر <a href="#kak-propisyvat-knopki-v-parametre-reply_markup"><strong>**</strong></a></td></tr></tbody></table>

{% hint style="warning" %}
يمكنك تعديل لوحة مفاتيح مضمّنة فقط.
{% endhint %}

<details>

<summary><strong>مثال: تعديل الرسالة باستخدام Telegram API</strong></summary>

يمكنك العثور أدناه على مثال مفصل للعمل مع دوال Telegram API الخاصة بتعديل الرسائل.&#x20;

</details>

## كيفية نسخ رسالة

**tg\_copy\_message(platform\_id, from\_chat\_id, message\_id, reply\_to\_message\_id, reply\_markup, parse\_mode, protect\_content, disable\_notification, caption, message\_thread\_id, entities, show\_caption\_above\_media)**

<table><thead><tr><th width="270.03125">المعامل</th><th>الوصف</th></tr></thead><tbody><tr><td> <mark style="color:red;"><strong>!</strong></mark><strong> platform_id</strong> </td><td>معرّف مستخدم Telegram الذي يجب نسخ الرسالة إليه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> from_chat_id</strong> </td><td>معرّف مستخدم Telegram الذي يجب نسخ الرسالة منه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> message_id</strong></td><td>معرّف الرسالة المراد نسخها</td></tr><tr><td><strong>reply_to_message_id</strong> </td><td>معرّف الرسالة الأصلية إذا كانت الرسالة المنسوخة تعليقًا</td></tr><tr><td><strong>reply_markup</strong> </td><td>إعدادات الزر <a href="#kak-propisyvat-knopki-v-parametre-reply_markup"><strong>**</strong></a></td></tr><tr><td><strong>parse_mode</strong></td><td><p>تنسيق النص العريض والمائل في الوصف <a href="/pages/9992a8217f2c8c29f6c1036949ffd70df651d3f5"><strong>***</strong></a><strong>.</strong></p><p>يمكن أن تكون له قيم مثل html وmarkdown وmarkdownV2.</p></td></tr><tr><td><strong>protect_content</strong></td><td>علم حماية المحتوى. مرّر أي قيمة باستثناء 0 أو False أو '' للتفعيل.</td></tr><tr><td><strong>disable_notification</strong> </td><td>علم الإشعار الصوتي (الافتراضي: 0). مرّر 1 لتعطيل الإشعار، و0 لتفعيله.                          </td></tr><tr><td><strong>caption</strong> - </td><td>وصف حتى 1024 حرفًا.</td></tr><tr><td><strong>message_thread_id</strong> </td><td>معرّف الموضوع (متاح للمجموعات الفائقة مع تمكين وظيفة المنتدى)</td></tr><tr><td><strong>entities</strong> </td><td>يتيح لك هذا نسخ نص مُنسّق مسبقًا مع جميع أنماطه وتحديد نطاق الأحرف الذي يجب تطبيق خط معيّن عليه ببساطة. يمكن العثور على مثال في tg_request ضمن الحقل المقابل. يجب أن تكون المعلمة قاموسًا.<br><br>مثال على تمرير المعلمة: <br><code>entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":</code><mark style="color:red;"><strong><code>"https://mavibot.ai"}</code></strong></mark><code>,{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]</code>  <br><br>يُظهر المثال القاموس فقط، بينما يُسند نص الرسالة نفسه إلى متغير منفصل.</td></tr><tr><td><strong>show_caption_above_media</strong> </td><td>يأخذ القيمة True؛ إذا تم تحديد هذه المعلمة، فسيتم عرض نص الرسالة فوق المرفق.</td></tr></tbody></table>

## كيفية إعادة توجيه رسالة

**tg\_forward\_message(platform\_id, from\_chat\_id, message\_id, protect\_content, disable\_notification,** **message\_thread\_id)**&#x20;

<table><thead><tr><th width="312.0703125">المعامل</th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> platform_id</strong> </td><td>معرّف مستخدم Telegram الذي يجب إرسال الرسالة إليه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> from_chat_id</strong></td><td>معرّف مستخدم Telegram الذي يجب إرسال الرسالة منه <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a></td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> message_id</strong></td><td>معرّف الرسالة المراد إعادة توجيهها</td></tr><tr><td><strong>protect_content</strong></td><td>علم حماية المحتوى. مرّر أي قيمة باستثناء 0 أو False أو '' للتفعيل.</td></tr><tr><td><strong>disable_notification</strong></td><td>علم الإشعار الصوتي (الافتراضي: 0). مرّر 1 لتعطيل الإشعار، و0 لتفعيله.</td></tr><tr><td><strong>message_thread_id</strong> </td><td>معرّف الموضوع (متاح للمجموعات الفائقة مع تمكين وظيفة المنتدى)</td></tr></tbody></table>

## كيفية حذف رسالة

**tg\_delete\_message(platform\_id, message\_id)**&#x20;

<mark style="color:red;">**!**</mark> استخدم هذه الطريقة لحذف رسالة، بما في ذلك رسائل الخدمة، مع القيود التالية:

* لا يمكن حذف الرسالة إلا إذا كانت قد أُرسلت منذ أقل من 48 ساعة.
* الرسائل التي تحتوي على نرد في دردشة خاصة لا يمكن حذفها إلا إذا كانت قد أُرسلت منذ أكثر من 24 ساعة.
* يمكن للبوتات حذف الرسائل الصادرة في الدردشات الخاصة والمجموعات والمجموعات الفائقة.
* يمكن للبوتات حذف الرسائل الواردة في الدردشات الخاصة.
* يمكن للبوتات التي لديها **can\_post\_messages** إذن حذف الرسائل الصادرة في القنوات.
* إذا كان البوت مديرًا لمجموعة، فيمكنه حذف أي رسالة فيها.
* إذا كان البوت لديه **can\_delete\_messages** إذن في مجموعة فائقة أو قناة، فيمكنه حذف أي رسالة فيها.&#x20;

<table><thead><tr><th width="294.3203125">المعامل</th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> platform_id</strong> </td><td>معرّف مستخدم Telegram <a href="#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii"><strong>*</strong></a> </td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark><strong> message_id</strong></td><td>معرّف الرسالة المراد حذفها</td></tr></tbody></table>

## **كيفية حذف عدة رسائل**

tg\_delete\_messages(platform\_id, message\_ids)

<mark style="color:red;">**!**</mark> استخدم هذه الطريقة لحذف رسالة، بما في ذلك رسائل الخدمة، مع القيود التالية:

* لا يمكن حذف الرسالة إلا إذا كانت قد أُرسلت منذ أقل من 48 ساعة.
* الرسائل التي تحتوي على نرد في دردشة خاصة لا يمكن حذفها إلا إذا كانت قد أُرسلت منذ أكثر من 24 ساعة.
* يمكن للبوتات حذف الرسائل الصادرة في الدردشات الخاصة والمجموعات والمجموعات الفائقة.
* يمكن للبوتات حذف الرسائل الواردة في الدردشات الخاصة.
* يمكن للبوتات التي لديها **can\_post\_messages** إذن حذف الرسائل الصادرة في القنوات.
* إذا كان البوت مديرًا لمجموعة، فيمكنه حذف أي رسالة فيها.
* إذا كان البوت لديه **can\_delete\_messages** إذن في مجموعة فائقة أو قناة، فيمكنه حذف أي رسالة فيها.&#x20;

<table><thead><tr><th width="288.06640625">المعامل</th><th>الوصف</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark> platform_id</td><td>معرّف مستخدم Telegram </td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark> message_ids</td><td>مصفوفة من معرّفات الرسائل المراد حذفها. بحد أقصى 100 عنصر.</td></tr></tbody></table>

## **مثال: إرسال رسالة باستخدام Telegram API**

<details>

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

مثال 1

```
/*من الملائم تعريف النص مسبقًا في متغير*/
text='Writing-writing-witing text'
/*دالة إرسال رسالة*/
soob=tg_send_message(platform_id, text)
/*حفظ معرّف الرسالة المرسلة*/
soob_id=soob['result']['message_id']

```

مثال 2

```
id_group=-1001847103100
text='Testing message sending via API method. For example, *bold text*'
opts = {"inline_keyboard": [[{"text": "👍","callback_data":1}, {"text": "👎","callback_data":2}]]}
disable_web_page_preview=1
protect_content=''
disable_notification=1
parse_mode='markdown'
soob=tg_send_message(id_group, text,client_message_id, opts, parse_mode, disable_web_page_preview, protect_content, disable_notification) 


```

</details>

## **مثال: تعديل الرسالة باستخدام Telegram API**

<details>

<summary>مثال على الإعداد</summary>

إذًا، لنرسل رسالة إلى أنفسنا مع لوحة مفاتيح مضمّنة:

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

بعد ذلك، عدّل نص الرسالة:

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

ثم عدّل الأزرار:

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

لنحاول تعديل رسالة تتضمن صورة. للقيام بذلك، أرسل رسالة تحتوي على صورة واحفظ معرّف الرسالة المرسلة. اقرأ التعليمات التفصيلية حول كيفية الحصول على رابط الصورة [هنا](/doc/ar/chatbot/ttbyqat-almraslh/tylyjram/api/messages.md):&#x20;

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

الآن، لنعدّل الصورة ووصفها:

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

</details>

<details>

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

```
/*من الملائم تعريف المعلمات مسبقًا في متغير.*/
text='What package would you like to choose?'
opts = {"inline_keyboard": [[{"text": "Package 1","callback_data":1}, {"text": "Package 2","callback_data":2}]]}
/*دالة إرسال الرسالة*/
soob=tg_send_message(platform_id, text, None, opts)
/*حفظ معرّف الرسالة المرسلة*/
soob_id=soob['result']['message_id']

/*تعديل الرسالة*/
text='What package are you interested in?'
tg_edit_message_text(platform_id, soob_id, text, opts)  

/*تعديل لوحة المفاتيح المضمّنة*/
opts = {"inline_keyboard": [[{"text": "Standard","callback_data":1}, {"text": "Premium","callback_data":2}]]}
tg_edit_message_reply_markup(platform_id, soob_id, opts)


/*إرسال صورة مع الوصف*/
soob=tg_send_photo(platform_id, "AgACAgIAAxkBAAIPpWO4T7jhOgYHq6uR8rjnq9rIvBs-AAJlwDEb5fHASaGdhzgWjyn7AQADAgADeAADLQQ", "هذه صورة")
/*حفظ معرّف الرسالة المرسلة*/
soob_id=soob['result']['message_id']

/*تعديل الصورة*/
media='{"type": "photo", "media": "AgACAgIAAxkBAAIPrmO4UiH7Tazqn-3IbFVzPKNsVEZmAAJ1wDEb5fHASWcNXKah-egvAQADAgADeQADLQQ"}'
tg_edit_message_media(platform_id, soob_id, media)
/*تعديل وصف الصورة*/
tg_edit_message_caption(platform_id, soob_id, 'هذا أنا!')
```

</details>

## **مثال: نسخ رسالة باستخدام Telegram API**

<details>

<summary>مثال</summary>

لنرسل رسالة ونحفظ معرّفها.

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

ثم ننسخ الرسالة المرسلة سابقًا.

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

</details>

<details>

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

```
/*من الملائم تعريف المعلمات مسبقًا في متغير.*/
text='What package would you like to choose?'
opts = {"inline_keyboard": [[{"text": "Package 1","callback_data":1}, {"text": "Package 2","callback_data":2}]]}
/*دالة إرسال الرسالة*/
soob=tg_send_message(platform_id, text, None, opts)
/*حفظ معرّف الرسالة المرسلة*/
soob_id=soob['result']['message_id']


/*نسخ الرسالة المرسلة*/
tg_copy_message('5081438490', '1840834360', soob_id, None, opts, None, None, 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/ttbyqat-almraslh/tylyjram/api/messages.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.
