-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
72 lines (68 loc) · 2.36 KB
/
app.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
'use strict'
const Readline = require('readline');
const rl = Readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
const matcher = require('./matcher');
const weather = require('./Weather');
const colors = require('colors');
const {CurrentWeather,forecastWeather,forecast} = require('./parser');
rl.setPrompt('> ');
rl.prompt();
rl.on('line', reply => {
matcher(reply, data => {
switch (data.intent) {
case 'Hello':
console.log(`${data.entities.greetings} to you too`);
rl.prompt();
break;
case 'Exit':
console.log("Thanks for using..Have a great day.!!!");
process.exit();
break;
case 'CurrentWeather':
console.log(`Let me check, current weather @ ${data.entities.city}`);
weather(data.entities.city, 'current')
.then(response => {
let pasrseResponse = CurrentWeather(response);
console.log(pasrseResponse)
rl.prompt();
}).catch(error => {
console.log("There seems to be a problem in connecting with weather service...");
rl.prompt();
})
break;
case 'WeatherForecast':
console.log(`Let me check, weather forecast of ${data.entities.city}`);
weather(data.entities.city)
.then(response => {
let pasrseResponse = forecastWeather(response,data.entities);
console.log(pasrseResponse)
rl.prompt();
}).catch(error => {
console.log("There seems to be a problem in connecting with weather service...");
rl.prompt();
})
break;
case 'forecast':
console.log(`Let me check, forecast for ${data.entities.city}`);
weather(data.entities.city)
.then(response => {
let parseResp = forecast(response,data.entities);
for(let day of parseResp){
console.log(`On ${day.date.red.bold}, weather will be ${day.text.red.bold} and ${day.high.red.bold} - ${day.low.red.bold} degrees Celsius.`);
}
rl.prompt();
}).catch(error => {
console.log("There seems to be a problem in connecting with weather service...");
rl.prompt();
})
break;
default:
console.log("I dont know...What do u mean..:(");
rl.prompt();
}
});
});