เราขอแนะนำให้คุณอ่านบทความ Button

คุณสามารถใช้ทั้งปุ่มตอบกลับ (ปุ่มปกติหรือปุ่มคีย์บอร์ด) และปุ่ม Inline (ปุ่มในข้อความ) ใน Telegram

ข้อสำคัญ: ข้อจำกัดของปุ่ม

โปรดทราบข้อจำกัดของแพลตฟอร์มต่อไปนี้เมื่อสร้างปุ่ม:

  • ปุ่มตอบกลับ (คีย์บอร์ด): สูงสุด 12 ปุ่มต่อแถว
  • ปุ่ม Inline: สูงสุด 8 ปุ่มต่อแถว
  • ข้อความบนปุ่ม: จำกัดที่ 32 ตัวอักษร
  • สีของปุ่ม: ไม่สามารถปรับแต่งได้ ปุ่มใช้สไตล์เริ่มต้นของแพลตฟอร์ม

วิธีสร้างปุ่มในบล็อก

ในการสร้างปุ่มใดๆ ในแชทบอท ให้ไปที่การตั้งค่าบล็อกแล้วคลิกที่แท็บ "Buttons" :

จากนั้นการตั้งค่าสำหรับการเพิ่มและแก้ไขปุ่มจะเปิดขึ้น จากนั้นคลิก Add :

หน้าต่างการตั้งค่าจะเปิดขึ้น ซึ่งช่วยให้คุณกำหนดป้ายชื่อ การทำงาน และตัวเลือกเพิ่มเติมของปุ่มได้

ประเภทปุ่มต่อไปนี้ มีให้ใช้งานเฉพาะสำหรับบอท Telegram เท่านั้น :

  • Share button – ให้ผู้ใช้แชร์เนื้อหา
  • Callback button – ส่งคำขอ callback แบบเงียบไปยังบอทของคุณ
  • Telegram WebApp – เปิดแอปพลิเคชันขนาดเล็ก (เช่น วิดเจ็ตหรือเว็บไซต์) ภายใน Telegram
  • Telegram login – อนุญาตให้ผู้ใช้ผ่านบัญชี Telegram ของตน

นอกจากนี้ยังมีปุ่มอื่นๆ ที่มีใน Telegram เช่น การชำระเงิน การขอหมายเลขโทรศัพท์หรือตำแหน่งที่ตั้ง และการส่งลิงก์

ปุ่มแชร์

เมื่อสร้างปุ่ม ให้เลือก "Share (Telegram only)" และกรอกข้อมูลในฟิลด์ (ฟิลด์ข้อความเพิ่มเติมที่ไม่บังคับ):

ปุ่มนี้ช่วยให้คุณส่งต่อข้อมูลโดยการเลือกผู้ติดต่อจากรายชื่อของคุณ

ป้อน URL ที่คุณต้องการแชร์ในฟิลด์ "Share link" ของปุ่ม

เมื่อเลือกผู้ติดต่อแล้ว เนื้อหาจากฟิลด์ "Share link" และ "Additional text" จะถูกส่ง ใช้เพื่อแชร์ลิงก์ไปยังโพสต์ในช่อง Telegram และเนื้อหาอื่นๆ

ข้อควรระวัง! อาจทำงานไม่ถูกต้องบนอุปกรณ์ iOS บางรุ่น

ปุ่มเข้าสู่ระบบเว็บไซต์

เพื่อให้ปุ่มเข้าสู่ระบบทำงานได้ บอทของคุณต้องได้รับอนุญาตสำหรับโดเมนเป้าหมายก่อน การกำหนดค่านี้ทำผ่าน @BotFather

ขั้นตอนการกำหนดค่า:

  1. เปิดแชทกับ @BotFather
  2. เลือกบอทของคุณจากรายการ
  3. เลือก Bot Settings > Domain และเพิ่มโดเมนของเว็บไซต์ของคุณ

จากนั้นไปที่ปุ่ม Domain :

หมายเหตุ: ปุ่มจะแสดง Edit domain หากมีโดเมนอยู่แล้ว หรือ Set domain หากต้องเพิ่มโดเมน

คุณจะได้รับแจ้งให้ตั้งค่าโดเมนสำหรับบอทของคุณ:

รูปแบบโดเมนที่ถูกต้อง:

ป้อนโดเมนของคุณเป็น mavibot.ai หรือเป็น yourdomain.com หากคุณมีเว็บไซต์ที่เชื่อมต่อกับ MaviBot

ขั้นตอนถัดไป:

เมื่อโดเมนของคุณได้รับการยืนยันและกำหนดค่าแล้ว คุณสามารถดำเนินการสร้างปุ่มอนุญาตได้

ในฟิลด์ Text ให้ป้อนป้ายชื่อที่จะปรากฏบนปุ่ม

จากนั้นระบุ URL ของหน้าในฟิลด์ Link ที่จะทำการอนุญาต

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

หากคุณต้องการให้สามารถส่งข้อความจากบอทที่ระบุได้ ให้แน่ใจว่าได้ทำเครื่องหมายที่ช่อง "Request permission from the user to send messages from the bot" :

ปุ่มเข้าสู่ระบบ Telegram

ปุ่ม Callback

ปุ่ม Callback คือปุ่มตอบกลับเมื่อลูกค้าเห็นสิ่งหนึ่ง แต่ในบอทเราได้รับ callback ที่จำเป็นเพื่อเริ่มบล็อกใดๆ ของ funnel

การสร้างนั้นค่อนข้างง่าย: ในฟิลด์ Buttons ให้คลิกปุ่ม Add ในฟอร์มที่เปิดขึ้น ให้ป้อนข้อความ ระบุประเภท - Callback button (Telegram) และป้อน Callback text ที่ควรส่งกลับเมื่อคลิกที่ปุ่ม:

ในทางสายตา ปุ่มจะมีลักษณะเหมือนปุ่ม inline ทั่วไป:

หลังจากคลิกที่ปุ่ม คุณจะเห็น Callback ที่กำหนดค่าไว้ในการ์ดของลูกค้า:

มันสำคัญ!

Telegram ไม่รองรับปุ่มคีย์บอร์ด Callback

โปรดทราบ!

หากเลือกประเภทปุ่ม "Callback" ปุ่มจะแสดงเป็น callback ก็ต่อเมื่อข้อความของปุ่มแตกต่างจากข้อความของ callback

ปุ่มแอปพลิเคชันเว็บ Telegram

ปุ่มนี้ช่วยให้คุณเปิดเว็บไซต์เป็นแอปพลิเคชันเว็บใน Telegram

เมื่อเพิ่มปุ่ม ให้ระบุป้ายชื่อ เลือกประเภทของปุ่ม Telegram Web App และระบุลิงก์ไปยังเว็บไซต์ที่จะเปิดเป็นแอปพลิเคชันเว็บ:

  • คุณสามารถระบุลิงก์ผ่านตัวแปร:

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

วิธีการทำงาน:

  1. กำหนดตัวแปร (เช่น landing_page_url) ในการตั้งค่าโปรเจกต์ของคุณ
  2. อ้างอิงตัวแปรนี้ (เช่น #{landing_page_url}) ในปุ่ม Web App ทั้งหมดใน flows ของคุณ

ข้อดี: แทนที่จะอัปเดต URL ด้วยตนเองในทุกบล็อกปุ่ม คุณเพียงแค่เปลี่ยนค่าของตัวแปรครั้งเดียวในการตั้งค่าโปรเจกต์ และปุ่มทั้งหมดจะอัปเดตโดยอัตโนมัติ

ทางเลือก: แน่นอน คุณยังสามารถระบุ URL แบบคงที่โดยตรงในการตั้งค่าปุ่มได้

วิธีสร้างปุ่มสำหรับฟังก์ชัน Telegram API

แม้ว่าการทำงานโดยตรงกับ Telegram Bot API อาจเป็นเรื่องท้าทาย โดยเฉพาะสำหรับผู้เริ่มต้น แต่ MaviBot มีทางเลือกที่เข้าถึงได้ง่ายกว่ามาก

วิธีการ: ใช้โค้ดที่สร้างขึ้น

คุณสามารถใช้ โค้ดปุ่มที่สร้างไว้ล่วงหน้า จากการตั้งค่าขั้นสูง โดยไม่ต้องเขียนการเรียก API ด้วยตนเอง

ขั้นตอน:

  1. ไปที่การตั้งค่าบล็อกของคุณและเปิดส่วน Buttons
  2. ใช้อินเทอร์เฟซเพื่อเพิ่มและกำหนดค่าปุ่มที่คุณต้องการทั้งหมด (ข้อความ ลิงก์ ฟังก์ชัน)
  3. ระบบจะสร้างโค้ด Telegram API ที่ถูกต้องโดยอัตโนมัติในเบื้องหลัง

วิธีนี้ช่วยให้คุณสร้างคีย์บอร์ดที่ซับซ้อนด้วยภาพ ในขณะที่แพลตฟอร์มจัดการการทำงานทางเทคนิคพื้นฐาน

คลิก "Advanced Settings" เพื่อดูโค้ด Telegram API ที่สร้างขึ้นสำหรับปุ่มของคุณ

ทดสอบปุ่มของคุณ จากนั้นคัดลอกโค้ดที่สร้างขึ้นจาก Advanced Settings ลงในตัวแปร เช่น buttons

ฟังก์ชันนี้ส่งข้อความผ่าน Telegram API ด้วยพารามิเตอร์ต่อไปนี้: tg_send_message (platform_id, text,client_message_id, reply_markup, sparse_mode, disable_web_page_preview, protect_content, disable_notification, message_thread_id, entities):

ส่งตัวแปร buttons ไปยังฟังก์ชันในพารามิเตอร์ reply_markup:

ปุ่มของคุณจะปรากฏในแชทด้วยเค้าโครงและสไตล์ที่คุณกำหนด

วิธีลบปุ่มตอบกลับ

แม้ว่าปุ่มคีย์บอร์ดมักจะหายไปโดยอัตโนมัติ แต่บางครั้งก็ยังคงมองเห็นได้

เพื่อล้างปุ่มตอบกลับที่ค้างอยู่อย่างบังคับ ให้ใส่โค้ดต่อไปนี้ในฟิลด์ Advanced Settings :

[{"buttons":[],"one_time":true,"index_in_line":0,"line":0}]

การกำหนดค่าปุ่มว่างนี้จะสั่งให้ Telegram ซ่อนคีย์บอร์ดที่กำหนดเอง

ปุ่มเมนูคีย์บอร์ดใน Telegram

เราแนะนำให้ใช้ฟีเจอร์นี้สำหรับผู้ใช้ขั้นสูงเท่านั้น!

ปุ่มคีย์บอร์ด

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

ตัวแปร: tg_permanent_reply_buttons

การตั้งค่าตัวแปร tg_permanent_reply_buttons ให้คุณ ควบคุมด้วยตนเองอย่างเต็มที่ เกี่ยวกับการมองเห็นของคีย์บอร์ดตอบกลับ (ปุ่มใต้ข้อความ) พฤติกรรมการซ่อนอัตโนมัติทั้งหมดโดยแพลตฟอร์มจะถูกปิดใช้งาน

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

การกลับไปใช้พฤติกรรมอัตโนมัติ

เพื่อคืนค่าการซ่อนคีย์บอร์ดอัตโนมัติมาตรฐาน:

  1. ลบตัวแปร tg_permanent_reply_buttons ออกจากการตั้งค่าโปรเจกต์ของคุณ
  2. สร้างปุ่มตอบกลับใดๆ ใหม่ ที่สร้างขึ้นในขณะที่ตัวแปรทำงานอยู่ ปุ่มที่สร้างภายใต้กฎ "ถาวร" จะคงสถานะนั้นไว้และต้องสร้างใหม่เพื่อรับพฤติกรรมอัตโนมัติใหม่

วิธีสร้างเมนูใน Telegram

ผู้ที่สร้างบอท Telegram สามารถสร้างเมนูดังกล่าวได้

ในการทำเช่นนี้ ให้เขียนถึง Botfather ใน Telegram

ป้อนคำสั่ง /mybots และรายการบอทของคุณจะเปิดขึ้น เลือกบอทที่คุณต้องการ เมนูจะเปิดขึ้นสำหรับคุณ ที่นี่คุณต้องเลือก Edit Bot จากนั้นเลือก Edit Commands

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

ตอนนี้คุณสามารถดูและใช้เมนูในแชท Telegram กับบอทได้

เมื่อคุณคลิกที่ปุ่มเมนู รายการคำสั่งที่ลงทะเบียนไว้ก่อนหน้านี้ใน BotFather จะเปิดขึ้น:

จากนั้นไปที่ Mavibot เปิดโปรเจกต์ที่เชื่อมต่อบอท Telegram นี้

สร้างบล็อก Start หรือ Trigger เขียนคำสั่งในเงื่อนไข และในฟิลด์ "Message text" — ข้อความที่จะได้รับตอบกลับ

ตัวอย่าง:

วิธีรวมปุ่มสองประเภท

สร้างบล็อกด้วยปุ่มตอบกลับ (คีย์บอร์ด) ที่คุณต้องการให้เห็นภาพ

สร้างบล็อกถัดไป (ตัวจับเวลา 0 วินาที) ด้วยปุ่ม inline (ปุ่มในข้อความ) ซึ่งต้องวางโดยไม่ลบปุ่มตอบกลับ ตัวอย่าง: [{"type": "inline", "text": "BUTTON NAME", "line": 0, "index_in_line": 0}]

นี่คือผลลัพธ์:

ข้อสำคัญ: คุณต้องปฏิบัติตามลำดับนี้เมื่อเพิ่มปุ่มในบล็อกเดียวกัน:

  1. ขั้นแรก เพิ่มปุ่มตอบกลับ (คีย์บอร์ด) ทั้งหมด
  2. จากนั้น เพิ่มปุ่ม Inline ใดๆ

หากลำดับนี้กลับกัน ปุ่มตอบกลับจะถูกลบเมื่อส่งบล็อกข้อความถัดไป