-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
87 lines (74 loc) · 2.29 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
const express = require("express");
const socket = require("socket.io");
// App setup
const app = express();
const PORT = process.env.PORT || 3000;
const server = app.listen(PORT, function () {
console.log("listening for requests on port ", PORT);
});
// Static files
app.use(express.json());
app.use(express.static("public"));
// Socket setup & pass server
const io = socket(server);
io.on("connection", (socket) => {
console.log(socket.id, "made socket connection");
// Handle chat event
socket.on("chat", function (data) {
// console.log(data);
io.sockets.emit("chat", data);
});
// Handle typing event
socket.on("typing", function (data) {
socket.broadcast.emit("typing", data);
});
socket.on("join", function (room) {
socket.join(room);
console.log(socket.id, " joined room ", room);
});
socket.on("disconnect", () => {
console.log(`Socket ${socket.id} disconnected.`);
});
});
app.post("/actions", function (request, response) {
// let((intent = scroll_direction = page = action)) = 0;
var scroll_direction = 0;
var intent = 0;
var page = 0;
var action = 0;
// console.log("Request Body: " + JSON.stringify(request.body));
// console.log(request.body.queryResult.intent);
intent = request.body.queryResult.intent["displayName"].toLowerCase();
console.log(intent);
try {
scroll_direction = request.body.queryResult.parameters[
"scroll_direction"
].toLowerCase();
} catch (e) {}
try {
page = request.body.queryResult.parameters["page"].toLowerCase();
} catch (e) {}
try {
action = request.body.queryResult.parameters["Action"].toLowerCase();
} catch (e) {}
if (intent == "key") {
room = request.body.queryResult.parameters["number"];
console.log(room);
io.emit("join", room);
data = {
payload: {
google: {
userStorage: JSON.stringify(room),
},
},
};
response.send(data);
}
room = request.body.originalDetectIntentRequest.payload.user.userStorage;
console.log(room);
if (intent == "scroll") io.to(room).emit("scroll", scroll_direction);
else if (intent == "navigation") io.to(room).emit("navigate", page);
else if (intent == "play") io.to(room).emit("play", action);
else if (intent == "narration") io.to(room).emit("narrate");
response.end();
});