-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.ts
61 lines (51 loc) · 1.71 KB
/
index.ts
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
import { GatherWrapper } from "./src/gatherwrapper";
import commandLineArgs, { OptionDefinition } from "command-line-args";
import { SlackIntegration } from "./src/slack/SlackIntegration";
const optionsDefinition: OptionDefinition[] = [
{ name: "chase", type: Boolean },
{ name: "cleanup", type: Boolean },
{ name: "jaws", type: Boolean },
{ name: "move", type: Boolean },
{ name: "rickroll", type: Boolean },
{ name: "wander", type: Boolean },
{ name: "player", type: String },
{ name: "location_x", type: Number },
{ name: "location_y", type: Number },
{ name: "mewmba", type: String, multiple: true },
];
const slack = new SlackIntegration();
slack.connect().then(() => {});
const options = commandLineArgs(optionsDefinition);
GatherWrapper.createInstance().then(async (value: GatherWrapper) => {
const myWrapper = value;
await myWrapper.unfreezeMewmbas();
if (options.player === "***RANDOM***") {
options.player = myWrapper.getRandomPlayer();
}
let mewmbas: Promise<void>[] = [];
for (const myMewmbaName of options.mewmba) {
let myMewmba = myWrapper.getMewmbaByName(myMewmbaName as string);
if (options.chase) {
mewmbas.push(myMewmba.chasePlayer(options.player));
}
if (options.rickroll) {
mewmbas.push(myWrapper.setRickRollTrap(options.player));
}
if (options.jaws) {
mewmbas.push(myWrapper.setJawsTrap(options.player));
}
if (options.wander) {
mewmbas.push(myMewmba.wander());
}
if (options.cleanup) {
mewmbas.push(myWrapper.mewmbaCleanupCoffee(myMewmbaName as string));
}
// TODO - Add other commands here
}
// Await all
for (const m of mewmbas) {
await m;
}
await myWrapper.disconnect();
return;
});