ข้ามไปยังเนื้อหาหลัก

เครื่องมือฟรี

จัดรูปแบบข้อความ Telegram พร้อม escape ให้เรียบร้อย

ข้อความของคุณมีราคา มีเครื่องหมายยัติภังค์ และมีจุด แล้ว Bot API ก็ตอบกลับว่า "can't parse entities" MarkdownV2 สงวนอักขระไว้ 18 ตัว และประโยคธรรมดาหนึ่งประโยคมักมีอยู่สี่หรือห้าตัว เขียนข้อความตรงนี้ เลือกตัวหนาหรือสปอยเลอร์หรือบล็อกโค้ด แล้วคัดลอกผลลัพธ์ที่ escape อักขระเหล่านั้นให้ครบแล้ว

เขียนข้อความของคุณ

เลือกข้อความแล้วใส่สไตล์ หรือพิมพ์แท็กเองก็ได้ กล่องนี้ทำงานด้วยไวยากรณ์ HTML ของ Telegram สิ่งที่คุณแก้จึงใช้ได้กับหนึ่งในสองผลลัพธ์อยู่แล้ว ตัวอย่างที่เห็นเป็นภาพของข้อความ ไม่ใช่ปุ่มส่ง: ไม่มีอะไรจากตรงนี้ออกจากเบราว์เซอร์ของคุณ

อักขระ 198 จาก 4096

Telegram นับเฉพาะอักขระที่มองเห็น มาร์กอัปจึงไม่คิดเพิ่ม entity และแท็กจัดรูปแบบไม่นับรวมในขีดจำกัด

ตัวอย่าง
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.
แตะสปอยเลอร์เพื่อเปิดดู เหมือนที่ผู้อ่านจะทำ

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 แล้ว ส่วนภายในโค้ดจะ 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

Telegram รับ parse mode สามแบบ Markdown เป็นตัวเก่าและรองรับสี่สไตล์ ส่วน MarkdownV2 กับ HTML รองรับครบทั้งสิบ ตารางนี้วาง MarkdownV2 กับ HTML ไว้เทียบกัน

สไตล์MarkdownV2HTML
ตัวหนา*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?id=5368324170671202286)<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 คือมันอ่านง่ายกว่าในระบบควบคุมเวอร์ชัน

ขีดจำกัด 4096 อักขระนับตัวข้อความ ไม่นับมาร์กอัป

ข้อความตัวอักษรของ Telegram จุได้ 4096 อักขระ การจัดรูปแบบเดินทางไปในรูป entity ที่อยู่ข้างข้อความ ไม่ใช่อยู่ในตัวข้อความ แท็ก ดอกจัน และแบ็กสแลชที่คุณเห็นในผลลัพธ์จึงไม่ถูกนับ ตัวนับด้านบนแสดงความยาวที่มองเห็น และนั่นคือตัวเลขที่ Telegram ตรวจ

มีอีกสองขีดจำกัดที่อยู่ใกล้กันและควรรู้ก่อนจะเขียนตัวส่ง คำบรรยายสื่อจุได้ 1024 อักขระ ข้อความที่จัดรูปแบบแล้วซึ่งพอดีสบายๆ เมื่ออยู่ลำพัง จึงถูกปฏิเสธทันทีที่คุณแนบรูป ส่วนข้อความที่เกินขีดจำกัดจะไม่ถูกตัดทอน: API คืนข้อผิดพลาดกลับมาและไม่ส่งอะไรเลย

คำถาม

ใช้ได้กับโพสต์ในแชนเนลและแชตทั่วไปด้วยไหม หรือเฉพาะบอต

ตารางไวยากรณ์ใช้ได้กับทุกอย่างที่ส่งผ่าน Bot API หรือไลบรารีฝั่งไคลเอนต์ ถ้าคุณพิมพ์ใน Telegram เอง แอปมีเมนูจัดรูปแบบของตัวเองและคุณจะไม่เห็น MarkdownV2 เลย เครื่องมือนี้มีไว้สำหรับกรณีที่สิ่งอื่นเป็นคนส่ง และต้องการข้อความที่จัดรูปแบบมาแล้ว

ควรใช้ parse mode ไหน

ใช้ HTML ถ้าไม่มีเหตุผลอื่น มัน escape สามตัวแทนที่จะเป็นสิบแปด ซ้อนกันได้อย่างคาดเดาได้ และเวลาพลาดมักจะเห็นแท็กโผล่ออกมามากกว่าที่ข้อความจะถูกปฏิเสธ ส่วน MarkdownV2 อ่านง่ายกว่าในไฟล์ต้นฉบับ ซึ่งเป็นข้อดีที่ตรงไปตรงมาของมัน

ทำไมข้อความส่งออกไปได้แต่รูปแบบหายหมด

เกือบทุกครั้งคือลืมใส่ parse_mode ถ้าไม่มี Telegram จะถือว่าข้อความเป็นตัวอักษรตรงๆ ดอกจันและแท็กจึงโผล่มาเป็นอักขระ ให้ตั้ง parse_mode เป็น MarkdownV2 หรือ HTML ตอนเรียกส่ง ให้ตรงกับผลลัพธ์ที่คุณคัดลอกไป

ซ้อนตัวหนาในลิงก์ หรือซ้อนตัวเอียงในตัวหนาได้ไหม

ได้ ทั้งสอง parse mode โดยมีข้อยกเว้นเดียว: ขีดเส้นใต้กับตัวเอียงพร้อมกันใน MarkdownV2 ต้องใช้วิธีเลี่ยง เพราะตัวคั่นชนกัน ส่วนโค้ดในบรรทัดและบล็อกโค้ดนั้นใส่สไตล์อื่นไว้ข้างในไม่ได้เลยในทั้งสองโหมด

รหัสอิโมจิกำหนดเองคืออะไร และหาได้จากไหน

มันคือรหัสตัวเลขของอิโมจิกำหนดเองแบบ Premium และคุณอ่านมันจากข้อความที่มีอิโมจินั้นอยู่แล้ว ไม่ใช่จากแคตตาล็อกสาธารณะ ผู้ส่งต้องมี Telegram Premium หรือต้องเป็นบอตที่เป็นเจ้าของชุดสติกเกอร์นั้น คนอื่นจะเห็นอักขระสำรองที่คุณครอบไว้

สิ่งที่ฉันพิมพ์ตรงนี้ถูกอัปโหลดไปไหนไหม

ไม่ การแปลงทำงานในเบราว์เซอร์ของคุณ และหน้านี้ไม่มีขั้นตอนส่ง ไม่มีบัญชี และไม่มีที่เก็บข้อมูล ปิดแท็บแล้วข้อความก็หายไป

ไปต่อ

ฟรีเหมือนกัน: Telegram Group Finder , Telegram Lead Finder , Free QR Code Generator .

ถ้ารูปแบบนี้ใช้กับข้อความที่คุณกำลังจะส่งถึงคน 200 คน

ข้อความที่ escape มาแล้วเป็นครึ่งเล็กของการส่งกระจาย ครึ่งใหญ่คือการส่งจากบัญชีที่คนตอบกลับจริง การคุมจังหวะให้ Telegram ไม่ระแวง และการรับคำตอบไว้ที่อื่นที่ไม่ใช่โทรศัพท์ ส่วนนั้นเป็นงานของ Entergram: บัญชี Telegram ส่วนตัวจริงแทนบอต แต่ละบัญชีผ่านพร็อกซีของตัวเอง และคำตอบไหลเข้ามาในอินเทอร์เฟซเดียวข้างระเบียนผู้ติดต่อ

ดูว่าการส่งกระจายทำงานอย่างไร