[PHP]LINEBOT x Dialogflow x Webhook ที่รับส่ง Message objects ได้ทุก type

ITTIRIT T.
2 min readJul 9, 2019

--

เห็นในกลุ่ม line dev มีคนใช้ Dialogflow เยอะมาก และส่วนใหญ่ก็เจอปัญหา Dialogflow รับเฉพาะ Message objects ที่เป็น text ซึ่งไม่สามารถตอบสนองต่อความต้องการส่งรูป ส่งโลเคชั่นของเราได้

และวันนี้เรามีวิธีแก้ปัญหาง่ายๆ ดังนี้

SOURCECODE:

https://github.com/itchampclub/php2019/archive/master.zip

  • ในส่วนของ Dialogflow ยังคงเป็นเช่นเดิม ดังวันเก่า ที่เรารับ-ส่ง ทุกอย่างที่เป็น type text
  • ในส่วนฝั่งการตั้งค่า line webhook ให้เราใช้ webhook ที่เราสร้างขึ้นเพื่อรับ-ส่ง type อื่นๆ

ข้ามไปยัง webhook เราจะใช้ github+heroku สายฟรีเจ้าเก่าเจ้าเดิม

เริ่มจากการบันทึกรูป if ($msg_type == ‘image’)

การบันทึกวิดีโอ elseif ($msg_type == ‘video’)

การบันทึกเสียง elseif ($msg_type == ‘audio’)

การส่งคืนรูปสติ๊กเกอร์ elseif ($msg_type == ‘sticker’)

และท้ายสุด location

และเมื่อเป็น text เราจะส่งต่อไปยัง Dialogflow ด้วย curl post ซึ่งส่งต่อไปทั้งหมดทั้งมวล นั่นเอง

ข้อมูลการส่งต่อ webhook จาก https://www.ninenik.com/%E0%B8%AA%E0%B9%88%E0%B8%87%E0%B8%95%E0%B9%88%E0%B8%AD_Webhook_Event_%E0%B8%88%E0%B8%B2%E0%B8%81_Line_%E0%B9%84%E0%B8%9B%E0%B8%A2%E0%B8%B1%E0%B8%87_Webhook_%E0%B9%83%E0%B8%99_DialogFlow_-926.html

--

--

No responses yet