منسّق نصوص Telegram: غامق ومائل وسبويلر وMarkdownV2
اكتب بخط غامق ومائل ومسطّر ومشطوب وسبويلر وكود وروابط واقتباسات، وراقب المعاينة وهي تتغير، ثم انسخ النص بالشكل الذي يريده Telegram: MarkdownV2 مع تهريب كل رمز، أو HTML، أو entities بإزاحات UTF-16.
الترميز: **غامق**، __مائل__، ++مسطّر++، ~~مشطوب~~، ||سبويلر||، `كود`، سياج ``` في سطر مستقل لكتلة كود، [نص](url)، سطر يبدأ بـ > للاقتباس وبـ >> للاقتباس القابل للتوسيع. الشرطة المائلة العكسية تُبقي الرمز كما هو. تعمل أيضًا Ctrl أو Cmd مع B وI وU.
المعاينة
نشحن إلى كل العالم ابتداءً من الاثنين.
للبوتات وBot API
*يوم الإطلاق\.* _التشكيلة_ الجديدة متاحة الآن: ~49~ 29 USD، والشحن مجاني لأول 50 طلبًا\. ||كود الخصم: FIRST50|| التفاصيل: [في المتجر](https://example.com/shop) >نشحن إلى كل العالم ابتداءً من الاثنين\.
أرسِله مع parse_mode=MarkdownV2. كل حرف خاص مُهرَّب مسبقًا.
<b>يوم الإطلاق.</b> <i>التشكيلة</i> الجديدة متاحة الآن: <s>49</s> 29 USD، والشحن مجاني لأول 50 طلبًا. <tg-spoiler>كود الخصم: FIRST50</tg-spoiler> التفاصيل: <a href="https://example.com/shop">في المتجر</a> <blockquote>نشحن إلى كل العالم ابتداءً من الاثنين.</blockquote>
أرسِله مع parse_mode=HTML. رموز < و> و& في نصك مستبدَلة مسبقًا.
[
{
"type": "bold",
"offset": 0,
"length": 12
},
{
"type": "italic",
"offset": 13,
"length": 8
},
{
"type": "strikethrough",
"offset": 42,
"length": 2
},
{
"type": "spoiler",
"offset": 81,
"length": 18
},
{
"type": "text_link",
"offset": 110,
"length": 9,
"url": "https://example.com/shop"
},
{
"type": "blockquote",
"offset": 120,
"length": 38
}
]أرسِل النص العادي في text وهذه المصفوفة في entities بلا parse_mode. الإزاحات والأطوال بوحدات UTF-16.
تُحسب الحدود على النص بعد إزالة الترميز: 4,096 حرفًا للرسالة و1,024 لتعليق الوسائط. كيف يجري العدّ
التنسيق في Telegram ليس طباعةً بل بيانات. الكلمة الغامقة كيان: نوع وإزاحة وطول ملحقة بنص عادي. التطبيقات ترسمه، والبوتات ترسله، وكل ما يسوء في رسالة منسّقة يسوء عند النقطة التي يتحول فيها النص إلى كيانات.
عشرة أنماط وترميز واحد
يقبل الحقل أعلاه ترميزًا صغيرًا ويحوّله إلى كيانات وأنت تكتب: **غامق**، __مائل__، ++مسطّر++، ~~مشطوب~~، ||سبويلر||، زوج من علامات التنصيص المائلة للكود داخل السطر، سياج ``` في سطر مستقل لكتلة كود (تُكتب اللغة بعد سياج الفتح)، [نص](url) للرابط، وسطر يبدأ بـ > للاقتباس أو بـ >> للاقتباس القابل للتوسيع. الشرطة المائلة العكسية قبل أي من هذه الرموز تُبقيه نصًا. الأنماط تتداخل، فيجوز أن يقع رابط داخل غامق وغامق داخل اقتباس؛ الكود لا يحوي شيئًا، والاقتباس لا يحوي اقتباسًا آخر ولا كتلة كود. تلك هي قواعد التداخل التي يطبّقها Telegram نفسه لا قيد من هذه الصفحة.
تُظهر المعاينة ما تعنيه الكيانات لا كيف يرسمها تطبيق بعينه بكسلًا بكسل. تبقى السبويلرات مخفية حتى تنقر عليها. ويقيس العدّاد أسفل الحقل النص بلا ترميز، لأنه النص الذي يقيسه Telegram.
MarkdownV2: التهريب الذي يعطّل البوتات
parse_mode=MarkdownV2 هو الصيغة التي تعرضها معظم الشروحات، وهو ما يقف وراء معظم أخطاء «can’t parse entities». القاعدة قصيرة وقاسية: خارج الكود، يجب أن تسبق شرطة مائلة عكسية كلًا من الأحرف _ * [ ] ( ) ~ ` > # + - = | { } . !، والشرطة المائلة العكسية نفسها كذلك. نقطة واحدة غير مهرَّبة في آخر الجملة تكفي ليرفض الـAPI الرسالة كلها. داخل code وpre لا يُهرَّب إلا علامة التنصيص المائلة والشرطة العكسية؛ وداخل جزء العنوان من الرابط لا يُهرَّب إلا قوس الإغلاق والشرطة العكسية.
وثمة فخ آخر. الشرطتان السفليتان تُقرآن دائمًا تسطيرًا، بنهم، من اليسار إلى اليمين، ولذلك لا يمكن كتابة مائلٍ ينتهي حيث ينتهي التسطير تمامًا كتابةً ساذجة. الحل الموثّق: أغلق المائل، وأدخل كيان غامق فارغًا ** فاصلًا، ثم أغلق التسطير. مخرج MarkdownV2 أعلاه يفعل ذلك كله بما فيه الفاصل، ولهذا يستحق النسخ لا إعادة الكتابة.
HTML: ثلاثة أحرف للتهريب
parse_mode=HTML هو الخيار الأهدأ. يدعم Telegram قائمة ثابتة من الوسوم: b وi وu وs وtg-spoiler وa وcode وpre (مع code class="language-…" متداخل لتسمية اللغة) وblockquote عاديًا أو expandable. ثلاثة أحرف فقط في نصك تحتاج إلى انتباه: < و> و&، وتُستبدل بـ< و> و&. كل ما عداها، بما فيه النقاط والشرطات التي تجعل MarkdownV2 هشًا، يُرسل كما هو. إنها الصيغة التي يستخدمها AdminHub نفسه حين ينشر المنشورات، والصيغة التي يُستحسن اختيارها لأي بوت يُكتب من الصفر.
Entities، إن كنت تفضّل ألا تهرّب شيئًا
المخرج الثالث هو مصفوفة entities. أرسِلها مع النص العادي وبلا parse_mode، فلن يبقى ما يُهرَّب لأن شيئًا لا يُحلَّل. الشيء الوحيد الذي يلزم معرفته هو الوحدة: تُحسب الإزاحات والأطوال بوحدات UTF-16، فيُحسب الإيموجي أو أي حرف خارج المستوى الأساسي متعدد اللغات وحدتين. ولهذا السبب بالضبط يعرض العدّاد هذا الرقم على حدة.
ما أقصى طول للرسالة
تتّسع الرسالة لـ4,096 حرفًا وتعليق الوسائط لـ1,024، وكلاهما «بعد تحليل الكيانات»: الترميز والوسوم وشرطات التهريب لا تُحسب، بل النص الذي يراه القارئ فقط. الحدود معلنة بالأحرف، وإعدادات عميل Telegram تعدّها نقاط ترميز، فالإيموجي الغامق حرف واحد أمام الحد وإن كان كيانه بطول وحدتين. يتبع العدّاد أعلاه هذه القاعدة ويبدّل بين الحدين؛ ويشرح مولّد الخطوط الفرق نفسه للحروف اليونيكودية المزخرفة.
ما لا تفعله هذه الأداة
الإيموجي المخصص وكيانات التاريخ tg-time تحتاج إلى بوت بصلاحيات معيّنة، ولذلك استُبعدت. الوضع القديم Markdown مستبعد عمدًا: فهو لا يتداخل، ولا يعبّر عن التسطير أو الشطب أو السبويلر أو الاقتباس، وتوثيق Telegram نفسه يحيل إلى MarkdownV2. كما أن العناوين والجداول والقوائم ليست من تنسيق الرسائل العادي: قدّمها Telegram في يوليو 2026 كمحرّر نص غني منفصل لمستخدمي Premium، وبالنسبة إلى البوتات فهي رسائل Bot API 10.1 الغنية، وهي ما ينتجه محرّر منشورات AdminHub. أما أنماط هذه الصفحة فيعرضها كل عميل Telegram بالطريقة نفسها.
المصادر، روجعت في سبتمبر 2026: Bot API, Formatting options لقواعد تهريب MarkdownV2 وقائمة وسوم HTML وقواعد التداخل وحدود «بعد تحليل الكيانات»؛ Bot API, MessageEntity للإزاحات والأطوال بوحدات UTF-16؛ Styled text with message entities عن طريقة عدّ العملاء لأطوال الكيانات؛ مدونة Telegram، 14 يوليو 2026 عن محرّر النص الغني وإتاحته لمشتركي Premium فقط.
ما الذي يسأل عنه الناس عادةً
- كيف أجعل النص غامقًا في Telegram؟
- اكتبه هنا بين نجمتين مزدوجتين، أو حدّده واضغط «غامق»، ثم انسخ الناتج بالشكل الذي تحتاجه. للبوت، أرسِل النص بصيغة <b>غامق</b> مع parse_mode=HTML، أو *غامق* مع parse_mode=MarkdownV2 حيث يجب تهريب كل الأحرف الخاصة الأخرى. تغطي هذه الصفحة ما توثّقه Bot API لا أزرار كل تطبيق.
- لماذا يتلقى بوتي الخطأ can't parse entities؟
- لأن الرسالة أُرسلت مع parse_mode=MarkdownV2 وتحوي حرفًا خاصًا غير مهرَّب، غالبًا نقطة أو شرطة أو علامة تعجب أو قوسًا، أو نمطًا فُتح ولم يُغلق. مع HTML يأتي الخطأ نفسه من وسم غير مغلق أو غير مدعوم، أو من < أو & عارية في النص. الصق النص هنا وانسخ مخرج MarkdownV2 أو HTML: التهريب والإغلاق منجزان.
- HTML أم MarkdownV2: أيهما أستخدم للبوت؟
- HTML ما لم يكن لديك سبب لغير ذلك. فهو يهرّب ثلاثة أحرف بدل ثمانية عشر، ولا لبس فيه بين التسطير والمائل، وهو الصيغة التي يرسلها AdminHub إلى Telegram مع كل منشور منسّق. أما MarkdownV2 فلا بأس به حين تبنيه مكتبتك عنك أو حين تنسخه من أداة كهذه.
- كيف أخفي نصًا خلف سبويلر؟
- لفّه بين خطين عموديين مزدوجين، ||هكذا||، أو حدّده واضغط «سبويلر». يُكتب السبويلر في MarkdownV2 بالطريقة نفسها، وفي HTML هو الوسم tg-spoiler، ونوعه ككيان spoiler. يرى القارئ كتلة مموّهة إلى أن ينقر عليها.
- هل يمكن استخدام العناوين أو الجداول أو القوائم في رسالة Telegram؟
- ليس في تنسيق الرسائل العادي، وهذه الأداة لا تنتجها. أضاف Telegram العناوين والجداول والقوائم في يوليو 2026 كمحرّر نص غني منفصل لمستخدمي Premium فقط؛ وبالنسبة إلى البوتات فهي من رسائل Bot API 10.1 الغنية، وهكذا يرسلها محرّر منشورات AdminHub. كل أنماط هذه الصفحة تعمل في أي محادثة.
- ما أقصى طول لرسالة منسّقة؟
- 4,096 حرفًا للرسالة و1,024 لتعليق الوسائط، محسوبةً على النص بعد إزالة الترميز: الوسوم والنجوم وشرطات التهريب لا تُحسب. يطبّق العدّاد أسفل الحقل القاعدة نفسها ويبدّل بين الحدين.
- لماذا يختلف طول الكيان عن عدد الأحرف؟
- تُحسب إزاحات الكيانات وأطوالها بوحدات UTF-16، فيُحسب الإيموجي أو أي حرف خارج المستوى الأساسي وحدتين، بينما يُحسب حد الرسالة بالأحرف. يعرض العدّاد الرقمين: الأول يقرر إن كانت الرسالة تتّسع، والثاني هو ما يدخل مصفوفة entities.