← บทความทั้งหมด
บทช่วยสอน

วิธีส่งข้อความชั่วคราวของบอต 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 สำหรับวงจรชีวิตที่เหมาะกับข้อความประเภทนี้

ให้ใช้เมธอดเฉพาะดังต่อไปนี้:

  • editEphemeralMessageText
  • editEphemeralMessageMedia
  • editEphemeralMessageCaption
  • editEphemeralMessageReplyMarkup
  • deleteEphemeralMessage

ตัวอย่างเช่น การแก้ไขข้อความต้องใช้ฟิลด์ระบุตัวตนทั้งสามรายการ:

{
  "chat_id": -1001234567890,
  "receiver_user_id": 424242424,
  "ephemeral_message_id": 781,
  "text": "The report is ready to download."
}

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

เช็กลิสต์การติดตั้งใช้งาน

  1. จำแนกประเภทการตอบกลับ ใช้ข้อความชั่วคราวสำหรับผลตอบกลับส่วนบุคคลที่ควรปรากฏในบริบทของกลุ่ม ไม่ใช่สำหรับบันทึกที่ทีมต้องเก็บรักษา
  2. เก็บทริกเกอร์ทันที เก็บ callback_query_id หรือ ephemeral_message_id ขาเข้าไว้เฉพาะระยะเวลาที่ต้องใช้เพื่อทำงานภายในกรอบ 15 วินาที
  3. ตรวจสอบสิทธิ์บนเซิร์ฟเวอร์ การซ่อนข้อความไม่ใช่การอนุญาตสิทธิ์ ตรวจสอบว่าผู้เรียกมีสิทธิ์ขอสรุป เมนู หรือการดำเนินการก่อนสร้างผลลัพธ์
  4. เก็บสถานะถาวรแยกต่างหาก บันทึกการอนุมัติ สถานะงาน และการดำเนินการของฝ่ายสนับสนุนในฐานข้อมูลของคุณก่อนยืนยันผลบน UI
  5. ใช้เมธอดวงจรชีวิตเฉพาะ เก็บ chat_id, receiver_user_id และ ephemeral_message_id เป็นชุดคีย์ค้นหาเดียวสำหรับการแก้ไขและลบ
  6. ออกแบบเผื่อกรณีส่งไม่ถึง เสนอแชตส่วนตัวแบบปกติ แดชบอร์ด หรือเส้นทางลองใหม่ เมื่อผู้ใช้จำเป็นต้องเรียกคืนผลลัพธ์ได้
  7. ทดสอบบทบาทและไคลเอนต์ ครอบคลุมบอตทั่วไป บอตที่เป็นผู้ดูแล กลุ่มและซูเปอร์กรุ๊ป อุปกรณ์ที่ใช้งานพร้อมกันหลายเครื่อง และผู้รับที่ออฟไลน์

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: