
ได้มีโอกาสได้ทำ Line ChatBot ให้ลูกค้า สรุปตัวหลักๆ พื้นฐานที่ได้ใช้งานนะครับ
1.ตอบกลับข้อความ
1 2 |
$bot = new BOT_API($channelSecret, $accessToken); $bot->replyMessageNew($bot->replyToken, "ข้อความตอบกลับ"); |
2.ตอบกลับเป็นรูปภาพ
1 2 3 4 |
$bot = new BOT_API($channelSecret, $accessToken); $imageBuilder = new ImageMessageBuilder($image_url, $image_url); $bot->replyMessage($bot->replyToken, $imageBuilder); |
1,2 ตอบกลับได้ครั้งละ 1 เป็นการตอบกลับหลังจากที่ user ทัก chat มา จะต้องใช้ replyToken
(ถ้าจำไม่ผิด replyToken จะใช้ได้แค่ครั้งเดียวนะครับ one times token )
url ของภาพต้องเป็น https ด้วยนะครับ ไม่งั้นก็จะเจอกับความว่างเปล่า..
ถ้าอยากตอบกลับ 2 บอลลูน (ภาพ 1 ข้อความ 1) ต้องทำยังไง
3.ตอบกลับแบบหลายข้อความ
1 2 3 4 5 6 7 8 9 10 |
$bot = new BOT_API($channelSecret, $accessToken); $messageBuilder = new TextMessageBuilder($msg); $imageBuilder = new ImageMessageBuilder($image_url, $image_url); $multiMessageBuilder = new MultiMessageBuilder(); $multiMessageBuilder->add($messageBuilder) ->add($imageBuilder); $bot->replyMessage($bot->replyToken, $multiMessageBuilder); |
1,2,3 มีข้อจำกัดคือ ต้องมีการทักหรือพูดคุยของลูกค้ามายัง bot เพราะเราต้องใช้ replyToken
โจทย์ คือ ถ้ามีข้อความบางอย่าง เช่น โปรโมชั่น อยากส่งให้ลูกค้าทำไงครับ ส่งไปโดยไม่ต้องมีใครทักมา
4.ส่งข้อความแบบ push
1 2 3 4 5 |
$bot = new BOT_API($channelSecret, $accessToken); $messageBuilder = new TextMessageBuilder("โปรโมชั่น ดีๆ"); $bot->pushMessage("xxxxdfb156xxxxxxx600b43xxxxx",$messageBuilder); |
ส่งแบบ push ต้องใช้ userId แทน (ไม่ใช่ LineId นะครับ) ซึ่งระบบ ของเราต้องเก็บไว้เองตอนที่ลูกค้า มี event กับ bot
จบครับ
ใครสนใจทำ Line ChatBot ก็ติดต่อมานะครับ ^^
LineID : bchaichon