Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.98 KB | None | 0 0
  1. const mysql = require('mysql');
  2. const connection = mysql.createConnection({
  3. host: 'localhost',
  4. user: 'user',
  5. password: 'password',
  6. database: 'database name'
  7. });
  8. connection.connect((err) => {
  9. if (err) throw err;
  10. console.log('Connected!');
  11. });
  12. const functions = require('firebase-functions');
  13. const {dialogflow} = require('actions-on-google');
  14. const HA_TYPE_ENTITY = 'ha';
  15. const COLORI_TYPE_ENTITY = 'colori';
  16. const SESSO_TYPE_ENTITY = 'sesso';
  17. const NASO_TYPE_ENTITY = 'naso';
  18. const PERSONAGGIO_TYPE_ENTITY = 'personaggio';
  19.  
  20. const DOMANDE_INTENT = 'domande';
  21. const DEFAULT_WELCOME_INTENT = 'Default Welcome Intent';
  22.  
  23. const app = dialogflow();
  24.  
  25. function leggi(nome){
  26.  
  27. con.query('SELECT * FROM '+nome, (err,rows) => {
  28. if(err) throw err;
  29. console.log('Data received from Db:\n');
  30. console.log(rows);
  31. });
  32. return rows;
  33.  
  34. }
  35.  
  36. function edit(nome,cosa,scrivi,riga){
  37. con.query(
  38. 'UPDATE '+nome+' SET '+cosa+' = ? Where ID = ?',
  39. [scrivi, riga],
  40. (err, result) => {
  41. if (err) throw err;
  42.  
  43. console.log(`Changed ${result.changedRows} row(s)`);
  44. }
  45. );
  46. }
  47.  
  48.  
  49. app.intent(DEFAULT_WELCOME_INTENT, (conv) => {
  50.  
  51. conv.ask("Ciao, Benvenuto a Indovina Chi. Adesso penserò ad un personaggio e dovrai farmi delle domande per indovinarlo");
  52. const a = Math.floor(Math.random() * 25);
  53.  
  54. con.query('SELECT * FROM personaggi', (err,rows) => {
  55. if(err) throw err;
  56.  
  57. console.log('Data received from Db:\n');
  58. console.log(rows);
  59. });
  60.  
  61. const nome='${rows[a].nome}'
  62.  
  63. const inserisci = { nome: a, id: request.body.sessionid, tentativi: 0 };
  64. con.query('INSERT INTO log SET ?', inserisci, (err, res) => {
  65. if(err) throw err;
  66.  
  67. console.log('Last insert ID:', res.insertId);
  68. });
  69.  
  70. conv.ask("Fatto! Ora chiedi tutte le domande che vuoi!")
  71.  
  72. });
  73.  
  74.  
  75. app.intent(DOMANDE_INTENT, (conv) => {
  76.  
  77. const ha_type = conv.parameters(HA_TYPE_ENTITY).toLowerCase();
  78. const colori_type = conv.parameters(COLORI_TYPE_ENTITY).toLowerCase();
  79. const sesso_type = conv.parameters(SESSO_TYPE_ENTITY).toLowerCase();
  80. const naso_type = conv.parameters(NASO_TYPE_ENTITY).toLowerCase();
  81. const personaggio_type = conv.parameters(PERSONAGGIO_TYPE_ENTITY).toLowerCase();
  82.  
  83. const data = leggi('log')
  84. for(var i in data){
  85. if (data[i].id == request.body.sessionid){
  86. const persona = data[i].nome
  87. break;
  88. nomi = leggi('personaggi')
  89.  
  90. if (ha_type != ""){
  91. if (ha_type == "barba"){
  92. if (${nomi[persona].barba} == "Si"){
  93. conv.ask("Ha la barba!")
  94. return;
  95. } else {
  96. conv.ask("Non ha la barba!")
  97. return;
  98. }
  99. if (ha_type == "cappello"){
  100. if (${nomi[persona].cappello} == "Si"){
  101. conv.ask("Si ha il cappello!")
  102. return;
  103. } else {
  104. conv.ask("Non ha la il cappello!")
  105. return;
  106. }
  107. if (ha_type == "occhiali"){
  108. if (${nomi[persona].occhiali} == "Si"){
  109. conv.ask("Si, indossa gli occhiali!")
  110. return;
  111. } else {
  112. conv.ask("Non porta gli occhiali!")
  113. return;
  114. }
  115. } else if (colori_type != ""){
  116. if (colori_type == "occhi"){
  117. conv.ask("Ha gli occhi di colore"+${nomi[persona].occhi})
  118. return;
  119. } else if (colori_type == "capelli"){
  120. conv.ask("Ha i capelli di colore"+${nomi[persona].capelli})
  121. return;
  122. }
  123. } else if (sesso_type != ""){
  124. if (sesso_type == "maschio"){
  125. if (${nomi[persona].sesso} == "maschio"){
  126. conv.ask("Si! Il mio personaggio è maschio")
  127. return;
  128. } else {
  129. conv.ask("No, il mio personaggio non è maschio")
  130. return;
  131. }
  132. } else if (sesso_type == "femmina"){
  133. if (${nomi[persona].sesso} == "femmina"){
  134. conv.ask("Si! Il mio personaggio è femmina")
  135. return;
  136. } else {
  137. conv.ask("No, il mio personaggio non è femmina")
  138. return;
  139. }
  140. } else if (naso_type != ""){
  141. if (naso_type == "piccolo"){
  142. if (${nomi[persona].naso} == "piccolo"){
  143. conv.ask("Si! Il naso è piccolo")
  144. return;
  145. } else {
  146. conv.ask("No, il naso è grande")
  147. return;
  148. }
  149. } else if (naso_type == "grande"){
  150. if (${nomi[persona].sesso} == "grande"){
  151. conv.ask("Si! Il naso è grande")
  152. return;
  153. } else {
  154. conv.ask("No, il naso è piccolo")
  155. return;
  156. }
  157. } else if (personaggio_type != ""){
  158. if (${nomi[persona].nome} == personaggio_type){
  159. //const t = leggi('log')
  160. //for(var l in t){
  161. //if (t[l].id == request.body.sessionid){
  162. //const tentativi = t[l].tentativi
  163. //break;
  164. conv.ask("Si! Complimenti hai indovinato il mio personaggio")
  165. //conv.ask("Hai impiegato "+tentativi+" tentativi")
  166. return;
  167. } else {
  168. conv.ask("No! Hai sbagliato, fammi qualche altra domanda e ritenta")
  169. return;
  170. }
  171.  
  172. } else {
  173. conv.ask("Scusa, puoi ripetere?")
  174. }
  175. });
  176.  
  177. exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement