This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8" /> | |
<meta | |
name="viewport" | |
content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0,viewport-fit=cover" | |
/> | |
<title>LIFF: LINE Front-end Framework</title> | |
<script src="https://static.line-scdn.net/liff/edge/2/sdk.js"></script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Import stylesheets | |
import './style.css'; | |
// Body element | |
const body = document.getElementById('body'); | |
// Button elements | |
const btnSend = document.getElementById('btnSend'); | |
const btnClose = document.getElementById('btnClose'); | |
const btnShare = document.getElementById('btnShare'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as functions from "firebase-functions"; | |
import * as dialogflow from "@google-cloud/dialogflow"; | |
import axios from "axios"; | |
const projectId = "<DIALOGFLOW PROJECTID>"; | |
const LINE_HEADER_DEV = { | |
"Content-Type": "application/json", | |
"Authorization": "Bearer <DEV CHANNEL ACCESS TOKEN>", | |
}; | |
const LINE_HEADER_PROD = { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as functions from "firebase-functions"; | |
import * as dialogflow from "@google-cloud/dialogflow"; | |
const projectId = "multiple-env-pafg"; | |
// // Start writing Firebase Functions | |
// // https://firebase.google.com/docs/functions/typescript | |
let dialogflowEnv = ""; | |
// | |
export const webHook = functions.https.onRequest((request, response) => { | |
if (request.body.destination === "U19476f0931c6ac37972a6b7f4b4321c6") { | |
dialogflowEnv = "draft"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as functions from "firebase-functions"; | |
// // Start writing Firebase Functions | |
// // https://firebase.google.com/docs/functions/typescript | |
let dialogflowEnv = ""; | |
// | |
export const webHook = functions.https.onRequest((request, response) => { | |
if (request.body.destination === "U19476f0931c6ac37972a6b7f4b4321c6") { | |
dialogflowEnv = "draft"; | |
} else if (request.body.destination === "U92a6f010a3fd78085b8763159a04772b") { | |
dialogflowEnv = "production"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as functions from "firebase-functions"; | |
// // Start writing Firebase Functions | |
// // https://firebase.google.com/docs/functions/typescript | |
// | |
export const webHook = functions.https.onRequest((request, response) => { | |
console.log(request.body); | |
const events = request.body.events; | |
events.forEach( async (event: any) => { | |
console.log(event); | |
if (event.type === "message") { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Handle events | |
events.forEach(async(event) => { | |
if (event.type === 'videoPlayComplete') { | |
await savePointVideoComplete(event) | |
} | |
console.log(event) | |
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const admin = require("firebase-admin") | |
const functions = require("firebase-functions") | |
const region = 'asia-northeast1' | |
const channelSecret = '' | |
const channelAccessToken = '' | |
admin.initializeApp() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const reply = async(replyToken, messages) => { | |
const axios = require("axios") | |
const data = { replyToken, messages } | |
const headers = { | |
'Authorization': `Bearer ${channelAccessToken}`, | |
'Content-Type': 'application/json' | |
} | |
axios.post('https://api.line.me/v2/bot/message/reply', data, { | |
headers: headers | |
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const collectPoint = async(event) => { | |
try { | |
const userId = event.source.userId | |
const trackingId = event.videoPlayComplete.trackingId | |
const timestamp = event.timestamp | |
const params = { | |
userId, trackingId, timestamp | |
} | |
await admin.firestore().collection('collectPoint').add(params) | |
return true |
NewerOlder