วิธีส่งข้อความชั่วคราวของบอต Telegram ในกลุ่ม
บอต Telegram สามารถส่งข้อความชั่วคราวในกลุ่มหรือซูเปอร์กรุ๊ปที่มีเพียงผู้ใช้ซึ่งระบุไว้กับตัวบอตเท่านั้นที่มองเห็นได้ สำหรับบอตทั่วไป การตอบกลับต้องเกิดหลัง callback หรือข้อความชั่วคราวที่เข้าเงื่อนไขภายใน 15 วินาที ส่วนบอตที่เป็นผู้ดูแลแชตสามารถเริ่มส่งให้สมาชิกที่ไม่ใช่บอตได้ทุกเมื่อ อย่างไรก็ตาม Telegram ไม่รับประกันว่าข้อความจะถูกส่งถึง โดยเฉพาะเมื่อผู้รับออฟไลน์
ประเด็นสำคัญ
- Bot API 10.2 เพิ่มข้อความส่วนตัวจากบอตแบบรายบุคคลและคำสั่งชั่วคราวเมื่อวันที่ 14 กรกฎาคม 2026
- ตั้งค่าฟิลด์
is_ephemeralของคำสั่งเป็นtrueเมื่อต้องการซ่อนคำสั่งของผู้ใช้จากสมาชิกและบอตอื่น - บอตที่ไม่ใช่ผู้ดูแลต้องมี
callback_query_idล่าสุดหรือreply_parameters.ephemeral_message_idและต้องตอบกลับภายใน 15 วินาที - บอตที่เป็นผู้ดูแลสามารถระบุสมาชิกที่ไม่ใช่บอตได้โดยไม่ต้องมีตัวระบุทริกเกอร์ดังกล่าว แต่ยังคงเป็นการส่งแบบพยายามให้ดีที่สุดโดยไม่มีการรับประกัน
- ข้อความชั่วคราวเหมาะสำหรับผลตอบกลับบนอินเทอร์เฟซ ไม่ใช่บันทึกตรวจสอบแบบถาวรหรือประเภทข้อความที่ใช้ร่วมกันข้ามแพลตฟอร์ม
ข้อความชั่วคราวของบอต Telegram คืออะไร
ข้อความชั่วคราวของบอตคือการตอบกลับแบบส่วนตัวที่แสดงบนไทม์ไลน์ของกลุ่มหรือซูเปอร์กรุ๊ปให้ผู้ใช้เพียงคนเดียวเห็น สมาชิกคนอื่นในกลุ่มและบอตอื่นจะมองไม่เห็น Telegram ยกตัวอย่างการใช้งานที่เหมาะสม เช่น ข้อความต้อนรับ สรุปจาก AI แบบส่วนตัว ข้อผิดพลาด การยืนยัน คำแนะนำตามบริบท และเมนูปุ่ม
ฟีเจอร์นี้ต่างจาก Guest Mode ของ Telegram เพราะ Guest Mode กำหนดวิธีเรียกบอตในแชตที่บอตยังไม่ได้เข้าร่วม ส่วนข้อความชั่วคราวกำหนดว่าใครจะเห็นคำสั่งหรือการตอบกลับหนึ่ง ๆ ของบอต นอกจากนี้ยังต่างจาก Rich Messages ใน Bot API 10.1 ซึ่งเปลี่ยนรูปแบบการแสดงผล ไม่ใช่ขอบเขตการมองเห็น
Telegram ระบุว่าการโต้ตอบเหล่านี้อาจหายไปโดยอัตโนมัติหลังผ่านไประยะหนึ่งหรือเมื่อแอปเริ่มทำงานใหม่ เอกสารทางการไม่ได้ระบุอายุข้อความที่แน่นอน จึงไม่ควรใช้ข้อความที่มองเห็นอยู่เป็นหลักฐานเพียงแห่งเดียวสำหรับการอนุมัติ สถานะการชำระเงิน การตัดสินใจของฝ่ายสนับสนุน หรือเหตุการณ์ทางธุรกิจอื่นที่ต้องเก็บรักษา
บอตแบบใดส่งการตอบกลับส่วนตัวในกลุ่มได้บ้าง
สิทธิ์มีสองรูปแบบ ควรเลือกรูปแบบก่อนออกแบบ handler เพราะตัวระบุที่ต้องใช้และพฤติกรรมการส่งแตกต่างกัน
| บริบทของบอต | ส่งได้เมื่อใด | ข้อมูลทริกเกอร์ที่ต้องใช้ | ขอบเขตการส่ง |
|---|---|---|---|
| บอตทุกประเภท | ภายใน 15 วินาทีหลังการดำเนินการขาเข้าที่เข้าเงื่อนไข | callback_query_id หรือ reply_parameters.ephemeral_message_id | แอปไคลเอนต์ที่เริ่มการดำเนินการ |
| บอตที่เป็นผู้ดูแลแชต | ส่งให้สมาชิกที่ไม่ใช่บอตได้ทุกเมื่อ | ไม่ต้องใช้ตัวระบุทริกเกอร์ทั้งสองรายการ | อาจส่งถึงไคลเอนต์ที่กำลังใช้งานหลายเครื่อง แต่ไม่รับประกัน |
ทั้งสองรูปแบบใช้ receiver_user_id เพื่อเลือกผู้ที่มองเห็น ข้อความชั่วคราวขาออกใช้ได้เฉพาะในกลุ่มและซูเปอร์กรุ๊ป และไม่ใช่สิ่งทดแทนการสนทนาด้วยข้อความส่วนตัว
ข้อจำกัดด้านการส่งเป็นเรื่องสำคัญ Telegram ระบุอย่างชัดเจนว่าไม่รับประกันการได้รับข้อความ โดยเฉพาะเมื่อผู้ใช้ออฟไลน์ ออกแบบข้อความนี้ให้เป็นผลตอบกลับบน UI ที่ช่วยเพิ่มความสะดวก หากการดำเนินการเปลี่ยนสถานะบนเซิร์ฟเวอร์ ให้บันทึกสถานะนั้นก่อนและเปิดทางให้ผู้ใช้เรียกดูได้อีกในภายหลัง
ขั้นตอนที่ 1: ประกาศคำสั่งชั่วคราว
ใช้ setMyCommands และตั้งค่า is_ephemeral เป็น true สำหรับคำสั่งที่ควรเป็นส่วนตัวเมื่อผู้ใช้เรียกใช้ ตัวอย่างสมมติต่อไปนี้จะซ่อนคำขอ /summary ของผู้ใช้จากสมาชิกและบอตอื่นทั้งหมดในกลุ่ม:
curl "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/setMyCommands" \
-H "Content-Type: application/json" \
-d '{
"commands": [
{
"command": "summary",
"description": "Summarize this discussion for me",
"is_ephemeral": true
}
],
"scope": {
"type": "all_group_chats"
}
}'
is_ephemeral มีผลต่อคำสั่งที่ผู้ใช้ส่ง แต่ไม่ได้เลือกผู้รับของข้อความจากบอตทุกข้อความในภายหลังโดยอัตโนมัติ คำขอส่งยังต้องระบุแชตและผู้รับให้ถูกต้อง รวมถึงทริกเกอร์ที่เข้าเงื่อนไขหากบอตไม่ใช่ผู้ดูแล
ขั้นตอนที่ 2: ส่งการตอบกลับส่วนตัวในกลุ่ม
สำหรับการตอบกลับที่เกิดจาก callback ให้เรียกเมธอดส่งที่รองรับพร้อม chat_id, receiver_user_id และ callback_query_id Bot API 10.2 เพิ่มพารามิเตอร์สำหรับข้อความชั่วคราวสองรายการใน sendMessage รวมถึงเมธอดที่รองรับสำหรับส่งสื่อ ไฟล์ รายชื่อติดต่อ และตำแหน่ง
คำขอสมมติต่อไปนี้ส่งข้อความยืนยันให้สมาชิกหนึ่งคนในซูเปอร์กรุ๊ป:
curl "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": -1001234567890,
"receiver_user_id": 424242424,
"callback_query_id": "4382bfdwdsb323b2d9",
"text": "Your report is ready. Only you can see this confirmation."
}'
ส่งคำขอภายในกรอบเวลา 15 วินาที หากทริกเกอร์เป็นข้อความชั่วคราวขาเข้าแทน callback query ให้ตอบกลับด้วย reply_parameters.ephemeral_message_id อย่าใช้ message_id ปกติแทน เพราะ Bot API 10.2 กำหนดไว้โดยเฉพาะว่าสามารถไม่ส่ง message_id ได้เมื่อมีตัวระบุข้อความชั่วคราว
หากบอตที่เป็นผู้ดูแลเริ่มส่งข้อความโดยไม่มีการดำเนินการล่าสุด ให้ละ callback_query_id และเป้าหมายการตอบกลับแบบชั่วคราว แต่ยังคงต้องระบุ chat_id ของกลุ่มและ receiver_user_id ของสมาชิกที่ไม่ใช่บอต
ขั้นตอนที่ 3: แก้ไขหรือลบด้วยตัวระบุข้อความชั่วคราว
จัดเก็บ ephemeral_message_id ที่ได้รับกลับมาในออบเจ็กต์ Message ของ Telegram ร่วมกับ chat_id และ receiver_user_id เมธอดแก้ไขและลบตามปกติไม่ใช่ API สำหรับวงจรชีวิตที่เหมาะกับข้อความประเภทนี้
ให้ใช้เมธอดเฉพาะดังต่อไปนี้:
editEphemeralMessageTexteditEphemeralMessageMediaeditEphemeralMessageCaptioneditEphemeralMessageReplyMarkupdeleteEphemeralMessage
ตัวอย่างเช่น การแก้ไขข้อความต้องใช้ฟิลด์ระบุตัวตนทั้งสามรายการ:
{
"chat_id": -1001234567890,
"receiver_user_id": 424242424,
"ephemeral_message_id": 781,
"text": "The report is ready to download."
}
Telegram ยังเตือนว่าเหตุการณ์แก้ไขและลบอาจไปไม่ถึงผู้ใช้ที่ออฟไลน์ ให้ถือว่าการเรียกใช้วงจรชีวิตเป็นการอัปเดต UI แบบพยายามให้ดีที่สุด ไม่ใช่หลักฐานว่าบุคคลหนึ่งเคยเห็นหรือหยุดเห็นข้อมูลที่ละเอียดอ่อนแล้ว
เช็กลิสต์การติดตั้งใช้งาน
- จำแนกประเภทการตอบกลับ ใช้ข้อความชั่วคราวสำหรับผลตอบกลับส่วนบุคคลที่ควรปรากฏในบริบทของกลุ่ม ไม่ใช่สำหรับบันทึกที่ทีมต้องเก็บรักษา
- เก็บทริกเกอร์ทันที เก็บ
callback_query_idหรือephemeral_message_idขาเข้าไว้เฉพาะระยะเวลาที่ต้องใช้เพื่อทำงานภายในกรอบ 15 วินาที - ตรวจสอบสิทธิ์บนเซิร์ฟเวอร์ การซ่อนข้อความไม่ใช่การอนุญาตสิทธิ์ ตรวจสอบว่าผู้เรียกมีสิทธิ์ขอสรุป เมนู หรือการดำเนินการก่อนสร้างผลลัพธ์
- เก็บสถานะถาวรแยกต่างหาก บันทึกการอนุมัติ สถานะงาน และการดำเนินการของฝ่ายสนับสนุนในฐานข้อมูลของคุณก่อนยืนยันผลบน UI
- ใช้เมธอดวงจรชีวิตเฉพาะ เก็บ
chat_id,receiver_user_idและephemeral_message_idเป็นชุดคีย์ค้นหาเดียวสำหรับการแก้ไขและลบ - ออกแบบเผื่อกรณีส่งไม่ถึง เสนอแชตส่วนตัวแบบปกติ แดชบอร์ด หรือเส้นทางลองใหม่ เมื่อผู้ใช้จำเป็นต้องเรียกคืนผลลัพธ์ได้
- ทดสอบบทบาทและไคลเอนต์ ครอบคลุมบอตทั่วไป บอตที่เป็นผู้ดูแล กลุ่มและซูเปอร์กรุ๊ป อุปกรณ์ที่ใช้งานพร้อมกันหลายเครื่อง และผู้รับที่ออฟไลน์
UnifyPort เหมาะกับส่วนใด และไม่เหมาะกับส่วนใด
ข้อความชั่วคราวของ Telegram เป็นฟีเจอร์ของ Telegram Bot API เอกสารอ้างอิง API ปัจจุบันของ UnifyPort ไม่ได้ระบุ receiver_user_id, callback_query_id หรือเมธอดแก้ไขและลบข้อความชั่วคราวสำหรับ POST /v1/messages หากผลิตภัณฑ์ของคุณต้องใช้ประสบการณ์แบบรายบุคคลภายในกลุ่มนี้ ให้ใช้ Bot API ทางการของ Telegram
UnifyPort แก้ปัญหาในอีกชั้นหนึ่ง กล่าวคือข้อความขาเข้าปกติจากบัญชีที่รองรับสามารถเข้ามาเป็นอีเวนต์ message.received ที่ปรับให้อยู่ในรูปแบบเดียวกัน ขณะที่การตอบกลับมาตรฐานที่รองรับใช้ message API เดียวกันสำหรับหลายผู้ให้บริการ วิธีนี้ช่วยให้ทีมมีคิวแบบถาวรที่ครอบคลุม Telegram, WhatsApp, LINE, Zalo, TikTok และ X แต่ไม่ได้เปลี่ยนข้อความจากแพลตฟอร์มอื่นให้เป็นการตอบกลับชั่วคราวของ Telegram หรือคงความหมายด้านการมองเห็นที่มีเฉพาะ Telegram
หากความต้องการที่แท้จริงคือการสนับสนุนหลายช่องทาง ไม่ใช่หน้าบอตสำหรับ Telegram เพียงแพลตฟอร์มเดียว คู่มือระบบอัตโนมัติ Telegram แบบข้ามช่องทาง จะอธิบายขอบเขตของสถาปัตยกรรมนี้
ข้อจำกัดและสิ่งที่ต้องแลก
เลือกฟีเจอร์ Bot API ทางการเมื่อบอตต้องแสดงการยืนยัน ข้อผิดพลาด เมนู หรือสรุปแบบส่วนตัวโดยไม่พาผู้ใช้ออกจากกลุ่ม ฟีเจอร์นี้ให้การมองเห็นแบบรายบุคคลโดยตรงในไคลเอนต์ Telegram และรองรับทั้งข้อความ สื่อหลายประเภท และข้อความยูทิลิตี
อย่าใช้ฟีเจอร์นี้สำหรับการแจ้งเตือนที่ต้องรับประกัน บันทึกด้านการกำกับดูแล ประวัติการสนับสนุนแบบถาวร หรือความลับที่ต้องเพิกถอนได้แน่นอน การส่ง การแก้ไข และการลบไม่รับประกันสำหรับผู้ใช้ออฟไลน์ ข้อความอาจหายไป และเอกสารทางการไม่ได้รับรองอายุข้อความที่แน่นอน อินเทอร์เฟซที่ไม่เป็นทางการไม่สามารถเปลี่ยนเงื่อนไขรับประกันของแพลตฟอร์มหรือเพิ่มพฤติกรรมแบบชั่วคราวให้ช่องทางอื่นได้
คำถามที่พบบ่อย
บอต Telegram ส่งข้อความที่มีสมาชิกในกลุ่มเพียงคนเดียวเห็นได้หรือไม่
ได้ ในกลุ่มหรือซูเปอร์กรุ๊ป ให้ระบุ receiver_user_id และทำตามหนึ่งในสองเงื่อนไข ได้แก่ เส้นทางทริกเกอร์ที่เข้าเงื่อนไขภายใน 15 วินาที หรือเส้นทางบอตที่เป็นผู้ดูแลแชต มีเพียงผู้ใช้ที่เลือกและบอตเท่านั้นที่จะเห็นข้อความชั่วคราว
บอตต้องเป็นผู้ดูแลกลุ่มหรือไม่
ไม่จำเป็นเสมอไป บอตทุกประเภทตอบกลับได้ภายใน 15 วินาทีหากมี callback_query_id ที่เกี่ยวข้องหรือตัวระบุการตอบกลับข้อความชั่วคราวขาเข้า ส่วนบอตที่เป็นผู้ดูแลสามารถเริ่มส่งข้อความชั่วคราวให้สมาชิกที่ไม่ใช่บอตคนใดก็ได้โดยไม่ต้องมีตัวระบุทริกเกอร์เหล่านั้น
ข้อความชั่วคราวของบอต Telegram อยู่ได้นานเท่าใด
Telegram ไม่ได้เผยแพร่อายุข้อความที่แน่นอน เอกสารระบุว่าการโต้ตอบอาจหายไปโดยอัตโนมัติหลังผ่านไประยะหนึ่งหรือเมื่อแอปเริ่มทำงานใหม่ แอปพลิเคชันจึงไม่ควรใช้ข้อความนี้เป็นที่จัดเก็บข้อมูลถาวร
ผู้ใช้ที่ออฟไลน์จะได้รับข้อความชั่วคราวหรือไม่
ไม่รับประกันการส่ง โดยเฉพาะเมื่อผู้ใช้ออฟไลน์ เหตุการณ์แก้ไขและลบก็มีข้อจำกัดเดียวกัน ควรมีเส้นทางที่ช่วยให้ผู้ใช้เรียกคืนผลลัพธ์สำคัญได้
ข้อความชั่วคราวเหมือนกับ Guest Mode ของ Telegram หรือไม่
ไม่เหมือน Guest Mode ควบคุมวิธีที่บอตเข้าร่วมการสนทนาโดยไม่ต้องเข้าร่วมแชต ส่วนข้อความชั่วคราวควบคุมการมองเห็นคำสั่งหรือการตอบกลับภายในกลุ่ม ฟีเจอร์ทั้งสองทำงานเสริมกันได้ แต่แก้ปัญหาคนละประเภท
ขั้นตอนถัดไป
ติดตั้งใช้งานเส้นทางเฉพาะของ Telegram ตาม เอกสารอ้างอิง Bot API ทางการสำหรับข้อความชั่วคราว หากส่วนอื่นของเวิร์กโฟลว์ต้องใช้ข้อความถาวรผ่านผู้ให้บริการหลายราย ให้ตรวจสอบ ตารางการรองรับข้อความของผู้ให้บริการ UnifyPort ก่อนออกแบบ handler ที่ใช้ร่วมกัน
แหล่งข้อมูล
ตรวจสอบแหล่งข้อมูลทางการเมื่อวันที่ 20 กรกฎาคม 2026: