Skip to content

Instantly share code, notes, and snippets.

@iammarkps
Created July 2, 2019 16:10
Show Gist options
  • Save iammarkps/f6d4f6c84246123dc742ff5fe646f7b7 to your computer and use it in GitHub Desktop.
Save iammarkps/f6d4f6c84246123dc742ff5fe646f7b7 to your computer and use it in GitHub Desktop.
// See https://github.com/dialogflow/dialogflow-fulfillment-nodejs
// for Dialogflow fulfillment library docs, samples, and to report issues
"use strict";
const functions = require("firebase-functions");
const { WebhookClient, Payload } = require("dialogflow-fulfillment");
const { Card, Suggestion } = require("dialogflow-fulfillment");
process.env.DEBUG = "dialogflow:debug"; // enables lib debugging statements
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(
(request, response) => {
const agent = new WebhookClient({ request, response });
console.log(
"Dialogflow Request headers: " + JSON.stringify(request.headers)
);
console.log("Dialogflow Request body: " + JSON.stringify(request.body));
function welcome(agent) {
agent.add(`Welcome to my agent!`);
}
function fallback(agent) {
agent.add(`I didn't understand`);
agent.add(`I'm sorry, can you try again?`);
}
function intercom(agent) {
const todayIntercom = `อินเตอร์คอม
🌻วันจันทร์ที่ 1 กรกฎาคม 2562
_________________________________
⚡️ขอแสดงความยินดีกับนักเรียนที่ผ่านการคัดเลือกคณะกรรมการกลางงานกิจกรรมพัฒนาผู้เรียนทุกคน
⚡️กลุ่มสาระการเรียนรู้วิทยาศาสตร์ จัดอบรมการติวเข้าค่ายสอวน. วิชาชีววิทยา ค่าย1 โดยคุณครูสาขาวิชาชีววิทยา และรุ่นพี่
โดยจะมีการจัดติว :
⏱ในวันที่ 29 พ.ค. - 7 ส.ค. ทุกวันจันทร์ และพุธ
🏫ณ ห้องโสตทัศนศึกษา ตึก9
⚡️ในวันที่ 4 ก.ค. ขอให้นักเรียนชั้นม.6 ขึ้นหอประชุมในคาบแนะแนว โดยจะมีการแนะแนวจาก”มหาวิทยาลัยโมนาช” เวลา 15.40 น.
💥นักเรียนที่สนใจสามารถลงชื่อได้ที่ห้องแนะแนว
⚡️โครงการรุ่นพี่ติวรุ่นน้อง ในวันนี้มีการติว 2 วิชา ได้แก่
📚วิชาภาษาญี่ปุ่น
📍ห้องประชุมคุณหญิงบุญเลื่อน ตึก 60ปี
📚วิชาชีววิทยา
📍ห้องประชุม ฯพณฯ ศ.ม.ล. ปิ่น มาลากุล ตึกเฉลิมพระเกียรติ 72 พรรษาฯ
⚡️ขอให้หัวหน้าห้องทุกหน้ามารับใบปพ.6 ที่ห้องทะเบียนในเวลาพักกลางวัน
⚡️ขอให้หัวหน้าห้องรวบรวมรูปถ่ายนักเรียน ส่งที่ห้องทะเบียนวัดผล`;
agent.add(todayIntercom);
}
function schedule(agent) {
const room = request.body.queryResult.parameters.room;
let link = "";
switch (room) {
case 332:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/332.jpg?alt=media&token=fd20f3f6-ddb3-48ff-8d78-b7490bcd7996";
break;
case 333:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/333.jpg?alt=media&token=c4ffcef4-5845-4e0d-865f-e30fa97bf880";
break;
case 334:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/333.jpg?alt=media&token=c4ffcef4-5845-4e0d-865f-e30fa97bf880";
break;
case 335:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/335.jpg?alt=media&token=b92dfc6d-f9c3-4d12-93ed-a170012439de";
break;
case 336:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/336.jpg?alt=media&token=4f9d4909-1c73-4de3-ab9c-c5a23e723dda";
break;
case 341:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/341.jpg?alt=media&token=5e42e0a2-605c-4992-a94c-d51fcab48787";
break;
case 342:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/342.jpg?alt=media&token=db65e6aa-4ed7-4cf6-95f3-0b930b531d4a";
break;
case 343:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/343.jpg?alt=media&token=f0f4bd5c-4a31-48e0-8d1f-c625ab4e7750";
break;
case 344:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/344.jpg?alt=media&token=70f9316b-8b72-4405-96a4-6f02c7e5cea1";
break;
case 345:
link =
"https://firebasestorage.googleapis.com/v0/b/o60thanvbld-ejrqwb.appspot.com/o/345.jpg?alt=media&token=5dc0a11a-a091-495d-bc6e-f56faf30324d";
break;
}
const payloadJson = {
type: "image",
originalContentUrl: link,
previewImageUrl: link
};
const payload = new Payload("LINE", payloadJson, { sendAsMessage: true });
agent.add(payload);
}
let intentMap = new Map();
intentMap.set("Default Welcome Intent", welcome);
intentMap.set("Default Fallback Intent", fallback);
intentMap.set("Intercom", intercom);
intentMap.set("Schedule", schedule);
agent.handleRequest(intentMap);
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment