-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBotCommandFactory.php
More file actions
89 lines (89 loc) · 2.95 KB
/
BotCommandFactory.php
File metadata and controls
89 lines (89 loc) · 2.95 KB
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
<?php
/**
* Class BotCommandFactory
* This class creates an instance of BotCommand based on the given command.
*
* @author: Angelito Sardez, Jr.
* @date: 14/11/2017
*/
class BotCommandFactory {
public static function create($command, $sender, $user) {
$commandLower = strtolower($command);
switch($commandLower)
{
case "help":
return new HelpBotCommand($sender, $user);
break;
case "echo":
return new EchoBotCommand($sender, $user);
break;
case "hi":
return new HiBotCommand($sender, $user);
break;
case "imdb":
return new ImdbBotCommand($sender, $user);
break;
case "cinema":
return new CinemaBotCommand($sender, $user);
break;
case "php":
return new PhpBotCommand($sender, $user);
break;
case "weather":
return new WeatherBotCommand($sender, $user);
break;
case "phone":
return new PhoneBotCommand($sender, $user);
break;
case "gender":
return new GenderBotCommand($sender, $user);
break;
case "recipe":
return new RecipeBotCommand($sender, $user);
break;
case "pokedex":
return new PokedexBotCommand($sender, $user);
break;
case "ip":
return new IpBotCommand($sender, $user);
break;
case "history":
return new HistoryBotCommand($sender, $user);
break;
case "trump":
return new TrumpBotCommand($sender, $user);
break;
case "university":
return new UniversityBotCommand($sender, $user);
break;
case "netflix":
return new NetflixBotCommand($sender, $user);
break;
case "remind":
return new RemindBotCommand($sender, $user);
break;
case "search":
case "find":
case "look":
case "query":
return new SearchBotCommand("SEARCH", $sender, $user);
break;
case "new":
case "news":
return new SearchBotCommand("NEWS", $sender, $user);
break;
case "trend":
case "trending":
return new SearchBotCommand("TRENDING", $sender, $user);
break;
case "ask":
return new MagicBotCommand($sender, $user);
break;
case "chuck":
return new ChuckBotCommand($sender, $user);
break;
default:
return new UnknownBotCommand($command, $sender, $user);
}
}
}