-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathMessageParser.jsx
100 lines (90 loc) · 3.02 KB
/
MessageParser.jsx
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
88
89
90
91
92
93
94
95
96
97
98
99
100
class MessageParser {
constructor(actionProvider, state) {
this.actionProvider = actionProvider;
this.state = state;
}
parse = (message) => {
//convert message in lowercase wich passed by user
const lowerCase = message.toLowerCase();
//define your keyword in condition and return handler function whixh created in actionprovider
if (
lowerCase.includes("hi") ||
lowerCase.includes("hii") ||
lowerCase.includes("hiii") ||
lowerCase.includes("hello") ||
lowerCase.includes("hey") ||
lowerCase.includes("hiiii") ||
lowerCase.includes("..") ||
lowerCase.includes("heyy")
) {
return this.actionProvider.Greeting();
}
if (
lowerCase.includes("feature") ||
lowerCase.includes("what you provide") ||
lowerCase.includes("provide") ||
lowerCase.includes("services") ||
lowerCase.includes("tools") ||
lowerCase.includes("tool") ||
lowerCase.includes("about") ||
lowerCase.includes("help") ||
lowerCase.includes("methods")
) {
return this.actionProvider.Tools();
}
if (
lowerCase.includes("weather") ||
lowerCase.includes("weather info") ||
lowerCase.includes("weather information") ||
lowerCase.includes("info about weather") ||
lowerCase.includes("about weather") ||
lowerCase.includes("weather of city") ||
lowerCase.includes("information of weather") ||
lowerCase.includes("mosam")
) {
return this.actionProvider.WeatherInfoHandle();
}
if (
lowerCase.includes("enroll") ||
lowerCase.includes("rollment") ||
lowerCase.includes("enrollmentno") ||
lowerCase.includes("roll no") ||
lowerCase.includes("roll") ||
lowerCase.includes("roll number") ||
lowerCase.includes("enrollment no") ||
lowerCase.includes("enrollment number")
) {
return this.actionProvider.EnrollmentNumber();
}
if (
lowerCase.includes("web") ||
lowerCase.includes("webdevelop") ||
lowerCase.includes("website") ||
lowerCase.includes("website development") ||
lowerCase.includes("web app") ||
lowerCase.includes("web application") ||
lowerCase.includes("webdevelopment") ||
lowerCase.includes("web development") ||
lowerCase.includes("websites")
) {
return this.actionProvider.WebHandler();
}
if (
lowerCase.includes("android") ||
lowerCase.includes("ios") ||
lowerCase.includes("flutter") ||
lowerCase.includes("software") ||
lowerCase.includes("softwaredevelop") ||
lowerCase.includes("software develop") ||
lowerCase.includes("softwaresite development") ||
lowerCase.includes("software app") ||
lowerCase.includes("software application") ||
lowerCase.includes("softwaredevelopment") ||
lowerCase.includes("software development")
) {
return this.actionProvider.SoftwareHandler();
}
return this.actionProvider.handleDefault();
};
}
export default MessageParser;