all repos — tipigee @ c3d7956b838407b21c41930b135f9c3c12895626

(Very) old version of Kokyo

index.js (view raw)

 1const messenja = require("messenja");
 2const Actions = require("./actions");
 3const db = require("./db");
 4const logger = require("./logger");
 5
 6const app = messenja((request, response, utils) => {
 7  logger.request(request);
 8
 9  // Store data for stats
10  db.addRequest("api");
11
12  // If user uses callback
13  if (request.isCallback) {
14    // If user clicks on "Démarrer" button (Facebook)
15    if (request.data === "/start")
16      return Actions("welcome", request, response, utils);
17  }
18  // If user sends text
19  if (request.content) {
20    if (request.content.hasOwnProperty("text")) {
21      // If text is "/favoris" (useful for Telegram)
22      if (request.content.text === "/favoris") {
23        return Actions("server.favorites", request, response, utils);
24      }
25      // If request has Dialogflow data associated
26      if (request.content.hasOwnProperty("dialogflow")) {
27        const action = request.content.dialogflow.action;
28        return Actions(action, request, response, utils);
29      }
30      // Else
31      return response.sendText("Pas de connexion avec le service NLP");
32    }
33    // If user sends a location
34    if (request.content.hasOwnProperty("location")) {
35      return Actions("stop.closeStops", request, response);
36    }
37    // If user from Facebook sends an image (thumb up sticker in most case)
38    if (
39      request.service === "facebook" &&
40      request.content.hasOwnProperty("image")
41    ) {
42      return Actions("server.favorites", request, response, utils);
43    }
44  }
45  return response.sendText("Je n'ai pas compris votre requête");
46});
47
48// Send privacy notes
49app.use("/privacy", (req, res) => {
50  res.send(
51    "Le développeur de Tipigee s'engage à ne pas utiliser / diffuser toute information fournie par un utilisateur du chatbot. Aucune exception possible."
52  );
53});