ใน Codelab นี้คุณจะได้เรียนรู้การสร้าง LINE Chatbot สายย่อ(ลิงก์) ที่จะช่วยย่อ URL ที่ยาวๆของคุณให้สั้นลงด้วย Bitly API ผ่าน Fulfillment ใน Dialogflow กัน
จุดเริ่มต้นของการพัฒนา LINE Chatbot คือคุณจะต้องสร้าง LINE OA(LINE Official Account) และเปิดใช้งาน Messaging API
หลังจากที่เรามี LINE OA เรียบร้อยแล้ว ขั้นตอนนี้จะพาทุกคนไปเพิ่มความสามารถให้ LINE OA ของเรากลายเป็น LINE Chatbot ได้
ขั้นตอนนี้เราจะเข้าไปใช้งาน LINE Developers Console ซึ่งเป็นเว็บไซต์สำหรับการบริหารจัดการ LINE Chatbot(LINE OA ที่เปิดใช้งาน Messaging API แล้ว) ในส่วนของนักพัฒนา
Dialogflow เป็นเครื่องมือในการพัฒนาให้ Chatbot เข้าใจบทสนทนา(Conversation Development Tool) ที่เราสามารถหยิบไปใช้ได้ทันที โดยไม่ต้องพัฒนาตัว NLP เอง แถมรองรับภาษาไทย ซึ่งขั้นตอนนี้เราจะมาสร้างสิ่งที่เรียกว่า Agent ขึ้นมา
ถ้าพูดถึงบริการย่อลิงก์ หลายคนคงนึกถึง Bit.ly เป็นแน่ และ Bit.ly ก็มีเปิด API ให้เราใช้ฟรีด้วย ดังนั้น codelab นี้เราจะใช้ Bitly API มาช่วยเราย่อลิงก์กัน ถ้าพร้อมแล้วเราไปเริ่มกันเลย
ขั้นตอนนี้เราจะกลับมาที่ Dialogflow console อีกครั้ง ให้เลือกเมนู Fulfillment จากนั้นให้ Enable ตัว Inline Editor
"Dependencies": {
// ...
"bitly": "^7.1.2"
}
YOUR-BITLY-ACCESS-TOKEN
const { WebhookClient, Payload } = require("dialogflow-fulfillment");
const functions = require("firebase-functions");
const BitlyClient = require("bitly").BitlyClient;
const bitly = new BitlyClient("YOUR-BITLY-ACCESS-TOKEN");
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
function shortenUrl(agent) {
const url = agent.parameters.url;
return bitly.shorten(url).then(response => {
agent.add(`Shorten URL: ${response.link}`);
});
}
let intentMap = new Map();
intentMap.set("Shorten URL", shortenUrl);
agent.handleRequest(intentMap);
});
หาก deploy สำเร็จ และเชื่อมต่อ LINE Chatbot กับ Dialogflow เรียบร้อย ผลลัพธ์ก็จะได้ประมาณนี้
ยินดีด้วยครับ ถึงตรงนี้คุณก็มี LINE Chatbot สายย่อ(ลิงก์) ไว้ใช้งานเป็นของคุณเองแล้ว!!!