ابزار رایگان
قالببندی متن تلگرام، با escape آماده
در پیام شما یک قیمت هست، یک خط تیره و یک نقطه، و Bot API جواب میدهد "can't parse entities". MarkdownV2 هجده کاراکتر را رزرو میکند و یک جمله معمولی معمولاً چهار پنج تا از آنها را دارد. پیام را همینجا بنویسید، پررنگ یا اسپویلر یا بلوک کد را انتخاب کنید و خروجی را بردارید که همه آن کاراکترها در آن escape شدهاند.
پیامتان را بنویسید
متن را انتخاب کنید و یک سبک بزنید، یا خودتان تگها را تایپ کنید. این کادر با نحو HTML تلگرام کار میکند، پس آنچه مینویسید همین حالا برای یکی از دو خروجی معتبر است. پیشنمایش تصویری از پیام است، نه دکمه ارسال: هیچچیز از مرورگر شما بیرون نمیرود.
کاراکتر 198 از ۴۰۹۶
از ۴۰۹۶ کاراکتر گذشتید. تلگرام این را به عنوان یک پیام نمیپذیرد، پس تقسیمش کنید یا بخش بلند را در یک فایل بگذارید.
تلگرام کاراکترهای دیدهشدنی را میشمارد، پس خود نشانهگذاری هزینهای ندارد. entityها و تگهای قالببندی در سقف حساب نمیشوند.
Fixed: the CSV import dropped rows ending in a comma.
Reported by three of you on the same day.
Run
npm i -g entergram@2.4 to upgrade.The migration note is boring but mandatory.
MarkdownV2
*Release 2\.4 is out\.* Fixed: the CSV import dropped rows ending in a comma\. >Reported by three of you on the same day\. Run `npm i -g entergram@2.4` to upgrade\. The migration note is ||boring but mandatory||\.
با parse_mode=MarkdownV2 بفرستید. در متن عادی هر کاراکتر رزرو escape شده است؛ داخل یک قطعه کد فقط بکاسلش و بکتیک.
HTML
<b>Release 2.4 is out.</b> Fixed: the CSV import dropped rows ending in a comma. <blockquote>Reported by three of you on the same day.</blockquote> Run <code>npm i -g entergram@2.4</code> to upgrade. The migration note is <tg-spoiler>boring but mandatory</tg-spoiler>.
با parse_mode=HTML بفرستید. چیز کمتری برای escape کردن دارد و بیشتر کتابخانهها به همین دلیل آن را پیشفرض گذاشتهاند.
نحو، در هر دو parse mode
تلگرام سه parse mode را میپذیرد. Markdown نسخه قدیمی است و چهار سبک را پشتیبانی میکند؛ MarkdownV2 و HTML هر ده سبک را. این جدول MarkdownV2 و HTML را کنار هم میگذارد.
| سبک | MarkdownV2 | HTML |
|---|---|---|
| پررنگ | *bold* | <b>bold</b> |
| مورب | _italic_ | <i>italic</i> |
| زیرخطدار | __underline__ | <u>underline</u> |
| خطخورده | ~strike~ | <s>strike</s> |
| اسپویلر | ||hidden|| | <tg-spoiler>hidden</tg-spoiler> |
| کد درونخطی | `code` | <code>code</code> |
| بلوک کد | ```python code ``` | <pre><code class="language-python">code</code></pre> |
| نقلقول بلوکی | >quoted line | <blockquote>quoted</blockquote> |
| لینک درونخطی | [text](https://example.com) | <a href="https://example.com">text</a> |
| ایموجی سفارشی |  | <tg-emoji emoji-id="5368324170671202286">👍</tg-emoji> |
در MarkdownV2 نمیشود زیرخط و مورب را همینطوری تو در تو گذاشت، چون __ و _ در مرز با هم برخورد میکنند. وقتی هر دو را روی یک تکه متن میخواهید از HTML استفاده کنید.
چرا MarkdownV2 پیام شما را پس میزند
MarkdownV2 هجده کاراکتر را رزرو میکند و بیرون از یک entity کد، پیش از تکتک آنها باید یک بکاسلش بیاید، حتی جایی که اصلاً امکان ندارد نشانهگذاری خوانده شود. فهرست این است: _ * [ ] ( ) ~ ` > # + - = | { } . ! و خود بکاسلش، چون کاراکتر escape است.
دو تا از اینها دلیل گیر کردن تقریباً همه است. نقطه آخر بیشتر جملهها میآید. خط تیره در تاریخها، بازهها، فلگها و واژههای مرکب پیدا میشود. یادداشت انتشاری که میگوید "Fixed: the 2.4-rc build" در نه کلمه سه کاراکتر رزرو دارد و API به جای عبور دادن متن، کل پیام را رد میکند.
قاعدهها داخل یک entity فرق میکنند و این دومین چیزی است که اشتباه گرفته میشود. در یک قطعه کد یا بلوک کد فقط بکاسلش و بکتیک ویژهاند، پس escape کردن بقیه در آنجا بکاسلشهای دیدهشدنی داخل کد شما میگذارد. داخل پرانتزهای یک لینک یا ایموجی سفارشی، فقط پرانتز بسته و بکاسلش ویژهاند. ابزار بالا برای هر زمینه قاعده درست را اعمال میکند، و این همان کاری است که جستوجو و جایگزینی از پسش برنمیآید.
اگر هیچکدام از اینها به دلتان ننشست، HTML را بردارید. سه کاراکتر را escape میکند، &، < و >، و بدون ابهام تو در تو میشود. تنها دلیل ترجیح MarkdownV2 این است که در کنترل نسخه خواناتر است.
سقف ۴۰۹۶ کاراکتری متن را میشمارد، نه نشانهگذاری را
یک پیام متنی تلگرام ۴۰۹۶ کاراکتر جا دارد. قالببندی به شکل entity کنار متن حمل میشود نه درون آن، پس تگها و ستارهها و بکاسلشهایی که در خروجی میبینید حساب نمیشوند. شمارنده بالا طول دیدهشدنی را نشان میدهد، همان عددی که تلگرام بررسی میکند.
دو سقف دیگر نزدیک آن هست که پیش از ساختن یک فرستنده دانستنشان میارزد. کپشن رسانه ۱۰۲۴ کاراکتر جا دارد، پس پیام قالببندیشدهای که تنها بهراحتی جا میشود، به محض پیوست کردن یک تصویر رد میشود. پیام بیشتر از سقف بریده نمیشود؛ API خطا برمیگرداند و هیچ چیز نمیفرستد.
پرسشها
این برای پست کانال و گفتوگوی معمولی هم کار میکند یا فقط برای رباتها؟
جدول نحو برای هر چیزی که از راه Bot API یا یک کتابخانه کلاینت میفرستد صدق میکند. اگر خودتان داخل تلگرام تایپ میکنید، اپ منوی قالببندی خودش را دارد و اصلاً MarkdownV2 نمیبینید. این ابزار برای حالتی است که چیز دیگری میفرستد و متن باید از قبل قالببندیشده به آن برسد.
کدام parse mode را انتخاب کنم؟
اگر دلیل خاصی ندارید، HTML. سه کاراکتر را escape میکند نه هجده تا، قابل پیشبینی تو در تو میشود و وقتی اشتباه کنید معمولاً یک تگ دیدهشدنی میبینید نه یک پیام ردشده. MarkdownV2 در فایل سورس خواناتر است و این استدلال صادقانه به نفع آن است.
چرا پیامم رفت ولی قالببندیاش از بین رفت؟
تقریباً همیشه parse_mode جا افتاده است. بدون آن تلگرام متن را عین خودش میگیرد و ستارهها و تگها به شکل کاراکتر ظاهر میشوند. در فراخوانی ارسال، parse_mode را روی MarkdownV2 یا HTML بگذارید، متناسب با خروجیای که کپی کردهاید.
میشود پررنگ را داخل لینک یا مورب را داخل پررنگ گذاشت؟
بله، در هر دو parse mode، با یک استثنا: زیرخط و مورب با هم در MarkdownV2 به یک راهحل جانبی نیاز دارند چون جداکنندهها برخورد میکنند. قطعه کد و بلوک کد در هیچکدام از دو حالت هیچ سبک دیگری را داخل خود نمیپذیرند.
شناسه ایموجی سفارشی چیست و از کجا میآید؟
شناسه عددی یک ایموجی سفارشی پرمیوم است و آن را از پیامی که همین حالا آن ایموجی را دارد میخوانید، نه از یک فهرست عمومی. فرستنده باید تلگرام پرمیوم داشته باشد یا رباتی باشد که مالک آن استیکرپک است. بقیه همان کاراکتر جایگزینی را میبینند که دورش پیچیدهاید.
چیزی که اینجا تایپ میکنم جایی آپلود میشود؟
نه. تبدیل در مرورگر شما انجام میشود و صفحه نه مرحله ارسال دارد، نه حساب کاربری و نه ذخیرهسازی. تب را ببندید، پیام رفته است.
ادامه بدهید
اینها هم رایگاناند: Telegram Group Finder , Telegram Lead Finder , Free QR Code Generator .
اگر این قالببندی برای پیامی است که میخواهید به ۲۰۰ نفر بفرستید
متن از پیش escape شده نیمه کوچک یک ارسال گروهی است. نیمه بزرگ این است که از حسابی بفرستید که مردم واقعاً به آن جواب میدهند، سرعت را طوری تنظیم کنید که تلگرام حساس نشود، و جوابها را جایی غیر از یک گوشی بگیرید. آن بخش کار اینترگرام است: حسابهای شخصی واقعی تلگرام به جای ربات، هرکدام روی پراکسی خودش، و جوابهایی که در یک رابط کنار پرونده مخاطب مینشینند.
ببینید ارسال گروهی چطور کار میکند