เราขอแนะนำให้คุณอ่านบทความ 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
ขั้นตอนการกำหนดค่า:
- เปิดแชทกับ @BotFather
- เลือกบอทของคุณจากรายการ
- เลือก 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 และระบุลิงก์ไปยังเว็บไซต์ที่จะเปิดเป็นแอปพลิเคชันเว็บ:
- คุณสามารถระบุลิงก์ผ่านตัวแปร:

การใช้ตัวแปรสำหรับลิงก์มีประโยชน์มากเมื่อหน้าเป้าหมายหรือที่อยู่เว็บไซต์เปลี่ยนแปลงบ่อย
วิธีการทำงาน:
- กำหนดตัวแปร (เช่น
landing_page_url) ในการตั้งค่าโปรเจกต์ของคุณ - อ้างอิงตัวแปรนี้ (เช่น
#{landing_page_url}) ในปุ่ม Web App ทั้งหมดใน flows ของคุณ
ข้อดี: แทนที่จะอัปเดต URL ด้วยตนเองในทุกบล็อกปุ่ม คุณเพียงแค่เปลี่ยนค่าของตัวแปรครั้งเดียวในการตั้งค่าโปรเจกต์ และปุ่มทั้งหมดจะอัปเดตโดยอัตโนมัติ
ทางเลือก: แน่นอน คุณยังสามารถระบุ URL แบบคงที่โดยตรงในการตั้งค่าปุ่มได้

วิธีสร้างปุ่มสำหรับฟังก์ชัน Telegram API
แม้ว่าการทำงานโดยตรงกับ Telegram Bot API อาจเป็นเรื่องท้าทาย โดยเฉพาะสำหรับผู้เริ่มต้น แต่ MaviBot มีทางเลือกที่เข้าถึงได้ง่ายกว่ามาก
วิธีการ: ใช้โค้ดที่สร้างขึ้น
คุณสามารถใช้ โค้ดปุ่มที่สร้างไว้ล่วงหน้า จากการตั้งค่าขั้นสูง โดยไม่ต้องเขียนการเรียก API ด้วยตนเอง
ขั้นตอน:
- ไปที่การตั้งค่าบล็อกของคุณและเปิดส่วน Buttons
- ใช้อินเทอร์เฟซเพื่อเพิ่มและกำหนดค่าปุ่มที่คุณต้องการทั้งหมด (ข้อความ ลิงก์ ฟังก์ชัน)
- ระบบจะสร้างโค้ด 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 ให้คุณ ควบคุมด้วยตนเองอย่างเต็มที่ เกี่ยวกับการมองเห็นของคีย์บอร์ดตอบกลับ (ปุ่มใต้ข้อความ) พฤติกรรมการซ่อนอัตโนมัติทั้งหมดโดยแพลตฟอร์มจะถูกปิดใช้งาน
ขอบเขต: การตั้งค่านี้ใช้กับ ปุ่มตอบกลับทั้งหมด ที่สร้างในบอทในขณะที่ตัวแปรทำงานอยู่
การกลับไปใช้พฤติกรรมอัตโนมัติ
เพื่อคืนค่าการซ่อนคีย์บอร์ดอัตโนมัติมาตรฐาน:
-
ลบตัวแปร
tg_permanent_reply_buttonsออกจากการตั้งค่าโปรเจกต์ของคุณ - สร้างปุ่มตอบกลับใดๆ ใหม่ ที่สร้างขึ้นในขณะที่ตัวแปรทำงานอยู่ ปุ่มที่สร้างภายใต้กฎ "ถาวร" จะคงสถานะนั้นไว้และต้องสร้างใหม่เพื่อรับพฤติกรรมอัตโนมัติใหม่
วิธีสร้างเมนูใน 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}]

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

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


