← บทความทั้งหมด
คู่มือ

บอต Telegram ไม่ได้รับข้อความในกลุ่ม? ตรวจโหมดความเป็นส่วนตัวก่อน

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

ประเด็นสำคัญ

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

โหมดความเป็นส่วนตัวของ Telegram ควบคุมอะไร

ตามเอกสารคุณสมบัติบอตอย่างเป็นทางการ บอตที่เปิดโหมดความเป็นส่วนตัวจะได้รับคำสั่งที่ระบุถึงบอตโดยตรง เช่น /command@this_bot และการตอบกลับข้อความที่ส่งถึงบอตนั้น ส่วนคำสั่งทั่วไปมีเงื่อนไขตามบริบท จึงไม่เหมาะจะใช้เป็นหลักฐานทดสอบเพียงอย่างเดียว

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

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

บทความนี้วิเคราะห์กรณี ข้อความบางส่วนในกลุ่มมองไม่เห็น หากยังเลือกระหว่างบอตกับการรับข้อความระดับบัญชี อ่านเปรียบเทียบ Telegram Bot API webhook กับ unified inbound webhook ก่อน

แยกสาเหตุข้อความในกลุ่มหายเป็นชั้น ๆ

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

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

1. ยืนยันตัวตนบอตและบทบาทในกลุ่ม

เรียก getMe ผ่านไคลเอนต์ API ที่เชื่อถือได้ เพื่อดูว่าโทเคนที่ระบบใช้ระบุบอตใด เอกสาร Bot API ระบุว่า can_read_all_group_messages เป็นฟิลด์ทางเลือกที่ส่งกลับเฉพาะใน getMe หากเป็น true หมายถึงปิดโหมดความเป็นส่วนตัวแล้ว

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

2. เปลี่ยนการมองเห็นเท่าที่จำเป็น

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

หากต้องประมวลผลบทสนทนาทั่วไปจากสมาชิกจริง ให้เจ้าของบอตตรวจ /setprivacy ใน BotFather อธิบายขอบเขตการเก็บข้อมูลที่กว้างขึ้นต่อผู้ดูแลและสมาชิกก่อนเปิดใช้งาน หลังปิดโหมด ให้ประสานงานนำบอตออกและเพิ่มกลับตามคำแนะนำของ Telegram แล้วตรวจบทบาทอีกครั้ง

อย่าเปลี่ยนโหมด ยกระดับเป็นผู้ดูแล และย้ายตัวรับข้อมูลในครั้งเดียว เพราะจะไม่ทราบว่าการเปลี่ยนแปลงใดแก้ปัญหาได้

3. ตรวจตัวกรองอัปเดตโดยยังไม่เปลี่ยนวิธีรับข้อมูล

พารามิเตอร์ allowed_updates ของ Bot API กรองตามชนิดอัปเดต สำหรับการทดสอบข้อความตัวอักษร ตรวจว่าการตั้งค่าที่ต้องการรวม message ไว้ Telegram ระบุว่าหากไม่ส่ง allowed_updates ระบบจะใช้ค่าเดิม การละพารามิเตอร์จึงไม่ใช่การรีเซ็ต

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

หากการส่งข้อมูลล้มเหลวทั้งหมด ให้ใช้แนวทางสลับ getUpdates กับ setWebhook แยกต่างหาก อย่าสลับวิธีส่งข้อมูลเพื่อทดสอบโหมดความเป็นส่วนตัว

ทดสอบการรับข้อความแบบควบคุม

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

  1. ส่งข้อความส่วนตัวถึงบอตเพื่อตรวจเส้นทางรับข้อมูลพื้นฐาน
  2. ส่งคำสั่งในกลุ่มโดยระบุชื่อผู้ใช้จริงของบอต
  3. ตอบกลับข้อความที่บอตส่ง
  4. ส่งข้อความทั่วไปในกลุ่มที่ไม่ใช่คำสั่งและไม่ใช่การตอบกลับ
  5. เปรียบเทียบข้อมูลดิบกับบันทึกของแอปก่อนและหลังการเปลี่ยนขอบเขตที่ได้รับอนุมัติ

เมื่อเปิดโหมดอยู่ การโต้ตอบแบบเจาะจงเข้าแต่ข้อความทั่วไปไม่เข้า สอดคล้องกับกฎในเอกสาร หลังตั้งค่าการเข้าถึงที่กว้างขึ้นตามต้องการ ให้ทดสอบข้อความทั่วไปอีกครั้งและแยกปัญหาที่เหลือเป็นการส่งข้อมูลกับการประมวลผล ใช้ข้อความใหม่ เพราะนี่ไม่ใช่วิธีกู้ประวัติ อย่าใช้บอตอีกตัวเป็นผู้ส่ง เนื่องจากพฤติกรรมระหว่างบอตเป็นอีกประเด็นหนึ่ง

UnifyPort เหมาะกับส่วนใด

UnifyPort ไม่ใช่การตั้งค่า BotFather และไม่ใช่เครื่องมือซ่อม webhook ของ Bot API เดิม แต่เป็นอินเทอร์เฟซที่ไม่เป็นทางการสำหรับเชื่อมบัญชีรับส่งข้อความและส่งเหตุการณ์ในรูปแบบมาตรฐาน หากต้องการกล่องข้อความของบัญชีเดิมแทนบอตสาธารณะ ให้ดูเอกสารการยืนยันสิทธิ์ Telegram ก่อนเลือกสถาปัตยกรรม แม้จะต้องรวมการรับข้อความกับ LINE ก็ควรกำหนดขอบเขตบัญชีที่เชื่อมต่อให้ชัดเจนก่อน

ในเส้นทางนี้ message.received หมายถึงข้อความที่ระบบสังเกตพบ ต้องตรวจ data.message.direction ก่อนจัดเป็นข้อความขาเข้า ใช้โครงสร้างจากเอกสารเหตุการณ์ ตั้ง signing_secret และตรวจ HMAC-SHA256 ตามเอกสารการส่ง webhook

รูปแบบมาตรฐานไม่ได้ให้สิทธิ์เข้าถึงทุกกลุ่มหรือรับประกันการกู้ข้อความที่พลาด UnifyPort ไม่มี REST API สำหรับอ่านประวัติข้อความและไม่รับประกันการส่งซ้ำย้อนหลัง จัดเก็บเหตุการณ์ที่ได้รับอนุญาตเมื่อมาถึง และไม่ส่งเนื้อหากลุ่มไปยังระบบปลายทางที่ไม่จำเป็นต้องใช้ข้อมูลนั้น

คำถามที่พบบ่อย

ทำไมรับแชตส่วนตัวได้ แต่รับข้อความในกลุ่มไม่ได้?

การรับแชตส่วนตัวกับการมองเห็นข้อความกลุ่มใช้กฎต่างกัน ตรวจโหมดและบทบาทในกลุ่มก่อน แล้วจึงตรวจตัวกรองอัปเดตและแอป

ต้องตั้งบอตเป็นผู้ดูแลหรือไม่?

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

ปิดโหมดแล้ว ทำไมยังเหมือนเดิม?

Telegram กำหนดให้เพิ่มบอตกลับเข้ากลุ่ม ตรวจว่าบอตและกลุ่มถูกต้อง แล้วทดสอบด้วยข้อความใหม่จากคนจริงและดูข้อมูลดิบที่ตัวรับ

เปลี่ยนเป็น getUpdates แล้วจะเห็นข้อความมากขึ้นหรือไม่?

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

แหล่งข้อมูลและขั้นตอนถัดไป

ตรวจเอกสารทางการเมื่อ 2026-09-16:

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

UnifyPort API

เปลี่ยนการเชื่อมต่อข้อความให้เป็น pipeline ผลิตภัณฑ์ที่เสถียร

เริ่มจากการส่งผ่าน API เดียว แล้วส่งข้อความขาเข้าทั้งหมดกลับสู่ระบบธุรกิจของคุณด้วย event มาตรฐาน