node-leek 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/credentials/credentials-manager.d.ts.map +1 -1
- package/dist/credentials/credentials-manager.js +10 -0
- package/dist/leek-sync/filelist/leekfile.d.ts +0 -1
- package/dist/leek-sync/filelist/leekfile.d.ts.map +1 -1
- package/dist/leek-sync/filelist/leekfile.js +0 -7
- package/dist/leek-sync/leekfile-source/leekfile-source.d.ts.map +1 -1
- package/dist/leek-sync/leekfile-source/leekfile-source.js +4 -0
- package/dist/leek-sync/leekfile-source/leekwars-source.js +1 -1
- package/dist/leek-sync/leekfile-source/localfile-source.d.ts.map +1 -1
- package/dist/leek-sync/leekfile-source/localfile-source.js +1 -2
- package/dist/node-leek-client/leek-wars-client.d.ts +2 -0
- package/dist/node-leek-client/leek-wars-client.d.ts.map +1 -1
- package/dist/node-leek-client/leek-wars-client.js +35 -8
- package/dist/node-leek-client/node-leek-client.d.ts +1 -0
- package/dist/node-leek-client/node-leek-client.d.ts.map +1 -1
- package/dist/node-leek-client/node-leek-client.js +13 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials-manager.d.ts","sourceRoot":"","sources":["../../src/credentials/credentials-manager.ts"],"names":[],"mappings":"AAGA,qBAAa,mBAAmB;IACrB,QAAQ,EAAE,MAAM,CAAK;IACrB,QAAQ,EAAE,MAAM,CAAK;CAC/B;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,IAAI,EAAE,MAAM;IAIxB,OAAO,CAAC,IAAI;YAUE,aAAa;YAiBb,gBAAgB;
|
|
1
|
+
{"version":3,"file":"credentials-manager.d.ts","sourceRoot":"","sources":["../../src/credentials/credentials-manager.ts"],"names":[],"mappings":"AAGA,qBAAa,mBAAmB;IACrB,QAAQ,EAAE,MAAM,CAAK;IACrB,QAAQ,EAAE,MAAM,CAAK;CAC/B;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,IAAI,EAAE,MAAM;IAIxB,OAAO,CAAC,IAAI;YAUE,aAAa;YAiBb,gBAAgB;IAajB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAE,OAAe;IAQpD,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAE,OAAe;IAIrD,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAE,OAAe;IAQrD,0BAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAE,OAAe;IAOhE,kBAAkB,CAAC,QAAQ,GAAE,OAAe;IAQ5C,qBAAqB;CAOrC"}
|
|
@@ -44,12 +44,16 @@ class CredentialsManager {
|
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
if (this.clients[index] != null) {
|
|
47
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
47
48
|
await this.clients[index]?.close();
|
|
49
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
52
|
async forEachAccount(input, readonly = false) {
|
|
51
53
|
for (let i = 0; i < this.credentials.length; i++) {
|
|
54
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
52
55
|
await input(await this.connectClient(i, readonly), i);
|
|
56
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
async forFirstAccount(input, readonly = false) {
|
|
@@ -57,7 +61,9 @@ class CredentialsManager {
|
|
|
57
61
|
}
|
|
58
62
|
async forOtherAccount(input, readonly = false) {
|
|
59
63
|
for (let i = 1; i < this.credentials.length; i++) {
|
|
64
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
60
65
|
await input(await this.connectClient(i, readonly), i);
|
|
66
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
61
67
|
}
|
|
62
68
|
}
|
|
63
69
|
async forEachAccountSimultaneous(input, readonly = false) {
|
|
@@ -68,12 +74,16 @@ class CredentialsManager {
|
|
|
68
74
|
}
|
|
69
75
|
async connectEachAccount(readonly = false) {
|
|
70
76
|
for (var i = 0; i < this.credentials.length; i++) {
|
|
77
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
71
78
|
await this.connectClient(i, readonly);
|
|
79
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
72
80
|
}
|
|
73
81
|
}
|
|
74
82
|
async disconnectEachAccount() {
|
|
75
83
|
for (var i = 0; i < this.credentials.length; i++) {
|
|
84
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
76
85
|
await this.disconnectClient(i);
|
|
86
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
77
87
|
}
|
|
78
88
|
}
|
|
79
89
|
}
|
|
@@ -9,7 +9,6 @@ declare class LeekFile {
|
|
|
9
9
|
constructor(name: string, id: number, code: string, timestamp: number, folder?: boolean, hash?: string | null);
|
|
10
10
|
getHash(code: string): string;
|
|
11
11
|
getFilename(): string;
|
|
12
|
-
getFilenameWithoutExtension(): string;
|
|
13
12
|
getParentFolder(): string;
|
|
14
13
|
isSimilar(file: LeekFile): boolean;
|
|
15
14
|
setCode(code: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leekfile.d.ts","sourceRoot":"","sources":["../../../src/leek-sync/filelist/leekfile.ts"],"names":[],"mappings":"AAEA,cAAM,QAAQ;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAM;IAClB,MAAM,EAAE,OAAO,CAAQ;IACvB,IAAI,EAAE,MAAM,CAAM;IAEzB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAE,MAAU,GAAI,QAAQ;gBAI1C,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW;IAS1H,OAAO,CAAC,IAAI,EAAE,MAAM,GAAI,MAAM;IAI9B,WAAW,IAAI,MAAM;IAQrB,
|
|
1
|
+
{"version":3,"file":"leekfile.d.ts","sourceRoot":"","sources":["../../../src/leek-sync/filelist/leekfile.ts"],"names":[],"mappings":"AAEA,cAAM,QAAQ;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAM;IAClB,MAAM,EAAE,OAAO,CAAQ;IACvB,IAAI,EAAE,MAAM,CAAM;IAEzB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAE,MAAU,GAAI,QAAQ;gBAI1C,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW;IAS1H,OAAO,CAAC,IAAI,EAAE,MAAM,GAAI,MAAM;IAI9B,WAAW,IAAI,MAAM;IAQrB,eAAe,IAAI,MAAM;IAQlB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAI,OAAO;IAI1C,OAAO,CAAC,IAAI,EAAE,MAAM;CAIvB;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -29,13 +29,6 @@ class LeekFile {
|
|
|
29
29
|
}
|
|
30
30
|
return this.name.substring(this.name.lastIndexOf("/") + 1);
|
|
31
31
|
}
|
|
32
|
-
getFilenameWithoutExtension() {
|
|
33
|
-
const name = this.getFilename();
|
|
34
|
-
if (this.folder) {
|
|
35
|
-
return name;
|
|
36
|
-
}
|
|
37
|
-
return name.substring(0, name.lastIndexOf("."));
|
|
38
|
-
}
|
|
39
32
|
getParentFolder() {
|
|
40
33
|
if (this.folder) {
|
|
41
34
|
const withoutLeadingSlash = this.name.substring(0, this.name.length - 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leekfile-source.d.ts","sourceRoot":"","sources":["../../../src/leek-sync/leekfile-source/leekfile-source.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,uBAAe,cAAc;IAEzB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE7B,SAAS,aAAa,QAAQ,EAAE,QAAQ;IAIlC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,QAAQ,CAAC,IAAI,IAAI,IAAI;IAEf,UAAU,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"leekfile-source.d.ts","sourceRoot":"","sources":["../../../src/leek-sync/leekfile-source/leekfile-source.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,uBAAe,cAAc;IAEzB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE7B,SAAS,aAAa,QAAQ,EAAE,QAAQ;IAIlC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,QAAQ,CAAC,IAAI,IAAI,IAAI;IAEf,UAAU,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5D,WAAW,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO;IAIjD,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,MAAM;CAGrB;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -15,13 +15,17 @@ class LeekfileSource {
|
|
|
15
15
|
// Remove file not present in the otherSource
|
|
16
16
|
for (const file of this.filelist.getFiles()
|
|
17
17
|
.filter((file) => !otherSource.filelist.contains(file.name))) {
|
|
18
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
18
19
|
await this.deleteFile(file);
|
|
20
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
19
21
|
}
|
|
20
22
|
// Update files
|
|
21
23
|
for (const file of otherSource.filelist.getFiles()
|
|
22
24
|
.filter((file) => !this.filelist.fileIsSimilar(file))) {
|
|
23
25
|
console.log("Updating out of sync : " + file.name);
|
|
26
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
24
27
|
await this.updateFile(file);
|
|
28
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
25
29
|
}
|
|
26
30
|
}
|
|
27
31
|
compareWith(otherSource) {
|
|
@@ -84,7 +84,7 @@ class LeekwarsSource extends leekfile_source_js_1.default {
|
|
|
84
84
|
async createFileInLeekwars(file) {
|
|
85
85
|
if (file.folder)
|
|
86
86
|
return this.createFolderInLeekwars(file).then((id) => { });
|
|
87
|
-
return this.nodeLeekClient.createFile(await this.getOrCreateFolderId(file.getParentFolder()), file.
|
|
87
|
+
return this.nodeLeekClient.createFile(await this.getOrCreateFolderId(file.getParentFolder()), file.getFilename())
|
|
88
88
|
.then(async (ia) => {
|
|
89
89
|
const newFile = new leekfile_js_1.default(file.name, ia.id, ia.code, 0);
|
|
90
90
|
this.filelist.set(file.name, newFile);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localfile-source.d.ts","sourceRoot":"","sources":["../../../src/leek-sync/leekfile-source/localfile-source.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAM/C,cAAM,eAAgB,SAAQ,cAAc;IAExC,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,QAAQ,CAAmB;gBAEvB,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAMtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBZ,UAAU,CAAC,IAAI,EAAE,QAAQ;IAmBzB,UAAU,CAAC,IAAI,EAAE,QAAQ;YAU1B,2BAA2B;IAIzC,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,6BAA6B;IAO9B,aAAa,CAAC,cAAc,EAAE,cAAc;IAmB5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,OAAe,GAAG,QAAQ;
|
|
1
|
+
{"version":3,"file":"localfile-source.d.ts","sourceRoot":"","sources":["../../../src/leek-sync/leekfile-source/localfile-source.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAM/C,cAAM,eAAgB,SAAQ,cAAc;IAExC,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,QAAQ,CAAmB;gBAEvB,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAMtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBZ,UAAU,CAAC,IAAI,EAAE,QAAQ;IAmBzB,UAAU,CAAC,IAAI,EAAE,QAAQ;YAU1B,2BAA2B;IAIzC,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,6BAA6B;IAO9B,aAAa,CAAC,cAAc,EAAE,cAAc;IAmB5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,OAAe,GAAG,QAAQ;IAKlE,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,QAAQ;CAwCnB;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -98,11 +98,10 @@ class LocalfileSource extends leekfile_source_js_1.default {
|
|
|
98
98
|
loadFile(filename, lazy = false) {
|
|
99
99
|
if (!lazy)
|
|
100
100
|
console.debug("Loading " + filename);
|
|
101
|
-
console.debug("Loading " + filename);
|
|
102
101
|
return new leekfile_js_1.default(filename, 0, lazy ? "Lazy loaded file, shouldn't be upload to leekwars as such" : node_fs_1.default.readFileSync(this.path + filename, "utf8"), this.getFileTimestamp(filename), false);
|
|
103
102
|
}
|
|
104
103
|
getFileTimestamp(filename) {
|
|
105
|
-
console.log("getFileTimestamp " + filename)
|
|
104
|
+
// console.log("getFileTimestamp " + filename)
|
|
106
105
|
return node_fs_1.default.statSync(this.path + filename).mtime.getTime();
|
|
107
106
|
}
|
|
108
107
|
exploreFiles(from, filelist = null) {
|
|
@@ -7,6 +7,7 @@ import { FarmerOpponent } from "../codegen/model/farmerOpponent.js";
|
|
|
7
7
|
import { PublicLeek } from "../codegen/model/publicLeek.js";
|
|
8
8
|
import { Buy200Response } from "../codegen/model/buy200Response.js";
|
|
9
9
|
import { CapitalRequest } from "./model/capital-request";
|
|
10
|
+
import { Garden } from "../codegen/model/garden";
|
|
10
11
|
export declare class LeekWarsClient {
|
|
11
12
|
private apiClient;
|
|
12
13
|
private ready;
|
|
@@ -38,6 +39,7 @@ export declare class LeekWarsClient {
|
|
|
38
39
|
protected getFarmerOpponents(): Promise<FarmerOpponent[]>;
|
|
39
40
|
protected startFarmerFight(target_id: number): Promise<number>;
|
|
40
41
|
getFight(fight_id: number): Promise<FightResult>;
|
|
42
|
+
getGarden(): Promise<Garden | null>;
|
|
41
43
|
addMessageReaction(messageId: number, reaction: string): Promise<void>;
|
|
42
44
|
spendCapital(leekId: number, capitals: CapitalRequest): Promise<void>;
|
|
43
45
|
protected registerInBattleRoyale(leek: number): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leek-wars-client.d.ts","sourceRoot":"","sources":["../../src/node-leek-client/leek-wars-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAIlE,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"leek-wars-client.d.ts","sourceRoot":"","sources":["../../src/node-leek-client/leek-wars-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -245,7 +245,11 @@ class LeekWarsClient {
|
|
|
245
245
|
}
|
|
246
246
|
async getSoloOpponents(leek_id) {
|
|
247
247
|
return this.apiClient.getSoloOpponents(leek_id)
|
|
248
|
-
.then(result =>
|
|
248
|
+
.then(async (result) => {
|
|
249
|
+
// Add on purpose delay to avoid TOO_MANY_REQUEST
|
|
250
|
+
await this.sleep(100);
|
|
251
|
+
return result.body.opponents;
|
|
252
|
+
})
|
|
249
253
|
.catch(err => {
|
|
250
254
|
if (err.statusCode == 429) { // TOO MANY REQUEST
|
|
251
255
|
return this.sleep(15000)
|
|
@@ -262,6 +266,7 @@ class LeekWarsClient {
|
|
|
262
266
|
console.error("Readonly mode, can't start fight");
|
|
263
267
|
return -1;
|
|
264
268
|
}
|
|
269
|
+
await this.sleep(100);
|
|
265
270
|
return this.apiClient.startSoloFight({
|
|
266
271
|
leekId: leek_id,
|
|
267
272
|
targetId: target_id
|
|
@@ -284,7 +289,11 @@ class LeekWarsClient {
|
|
|
284
289
|
if (!this.ready)
|
|
285
290
|
return [];
|
|
286
291
|
return this.apiClient.getFarmerOpponents()
|
|
287
|
-
.then(result =>
|
|
292
|
+
.then(async (result) => {
|
|
293
|
+
// Add on purpose delay to avoid TOO_MANY_REQUEST
|
|
294
|
+
await this.sleep(100);
|
|
295
|
+
return result.body.opponents;
|
|
296
|
+
})
|
|
288
297
|
.catch(err => {
|
|
289
298
|
if (err.statusCode == 429) { // TOO MANY REQUEST
|
|
290
299
|
return this.sleep(15000)
|
|
@@ -319,7 +328,7 @@ class LeekWarsClient {
|
|
|
319
328
|
return new fightResult_js_1.FightResult();
|
|
320
329
|
return this.apiClient.getFight(fight_id)
|
|
321
330
|
.then(async (result) => {
|
|
322
|
-
await this.sleep(
|
|
331
|
+
await this.sleep(100);
|
|
323
332
|
return result.body;
|
|
324
333
|
})
|
|
325
334
|
.catch(err => {
|
|
@@ -331,6 +340,23 @@ class LeekWarsClient {
|
|
|
331
340
|
return new fightResult_js_1.FightResult();
|
|
332
341
|
});
|
|
333
342
|
}
|
|
343
|
+
async getGarden() {
|
|
344
|
+
if (!this.ready)
|
|
345
|
+
return null;
|
|
346
|
+
return this.apiClient.gardenGet()
|
|
347
|
+
.then(async (result) => {
|
|
348
|
+
await this.sleep(100);
|
|
349
|
+
return result.body;
|
|
350
|
+
})
|
|
351
|
+
.catch(err => {
|
|
352
|
+
if (err.statusCode == 429) { // TOO MANY REQUEST
|
|
353
|
+
return this.sleep(15000)
|
|
354
|
+
.then(() => this.getGarden());
|
|
355
|
+
}
|
|
356
|
+
console.error("getGarden -> [" + err.statusCode + "] " + err.body.error);
|
|
357
|
+
return null;
|
|
358
|
+
});
|
|
359
|
+
}
|
|
334
360
|
async addMessageReaction(messageId, reaction) {
|
|
335
361
|
if (!this.ready)
|
|
336
362
|
return;
|
|
@@ -339,7 +365,7 @@ class LeekWarsClient {
|
|
|
339
365
|
reaction: reaction
|
|
340
366
|
})
|
|
341
367
|
.then(async (result) => {
|
|
342
|
-
return this.sleep(
|
|
368
|
+
return this.sleep(100);
|
|
343
369
|
})
|
|
344
370
|
.catch(err => {
|
|
345
371
|
if (err.statusCode == 429) { // TOO MANY REQUEST
|
|
@@ -354,12 +380,13 @@ class LeekWarsClient {
|
|
|
354
380
|
if (!this.ready)
|
|
355
381
|
return;
|
|
356
382
|
const request = `{"life":${capitals.life ?? 0},"strength":${capitals.strength ?? 0},"wisdom":${capitals.wisdom ?? 0},"agility":${capitals.agility ?? 0},"resistance":${capitals.resistance ?? 0},"frequency":${capitals.frequency ?? 0},"science":${capitals.science ?? 0},"magic":${capitals.science ?? 0},"cores":${capitals.cores ?? 0},"ram":${capitals.ram ?? 0},"tp":${capitals.tp ?? 0},"mp":${capitals.mp ?? 0}}`;
|
|
383
|
+
await this.sleep(100);
|
|
357
384
|
return this.apiClient.spendCapital({
|
|
358
385
|
leekId: leekId,
|
|
359
386
|
characteristics: request
|
|
360
387
|
})
|
|
361
388
|
.then(async (result) => {
|
|
362
|
-
return this.sleep(
|
|
389
|
+
return this.sleep(100);
|
|
363
390
|
})
|
|
364
391
|
.catch(err => {
|
|
365
392
|
if (err.statusCode == 429) { // TOO MANY REQUEST
|
|
@@ -371,17 +398,17 @@ class LeekWarsClient {
|
|
|
371
398
|
});
|
|
372
399
|
}
|
|
373
400
|
async registerInBattleRoyale(leek) {
|
|
374
|
-
const r = `[${SocketMessage_js_1.SocketMessage.BATTLE_ROYALE_REGISTER},
|
|
401
|
+
const r = `[${SocketMessage_js_1.SocketMessage.BATTLE_ROYALE_REGISTER},"${leek}"]`;
|
|
375
402
|
this.socket?.send(r);
|
|
376
403
|
console.log("Join battle royal : ", r);
|
|
377
404
|
}
|
|
378
405
|
async createBossRoom(bossId = 1, locked = false, leeks = []) {
|
|
379
|
-
const r = `[${SocketMessage_js_1.SocketMessage.GARDEN_BOSS_CREATE_SQUAD}
|
|
406
|
+
const r = `[${SocketMessage_js_1.SocketMessage.GARDEN_BOSS_CREATE_SQUAD},${bossId},${locked},[${leeks}]]`;
|
|
380
407
|
this.socket?.send(r);
|
|
381
408
|
console.log("Create room : ", r);
|
|
382
409
|
}
|
|
383
410
|
async joinBossRoom(roomId, leeks = []) {
|
|
384
|
-
const r = `[${SocketMessage_js_1.SocketMessage.GARDEN_BOSS_JOIN_SQUAD},
|
|
411
|
+
const r = `[${SocketMessage_js_1.SocketMessage.GARDEN_BOSS_JOIN_SQUAD},"${roomId}",[${leeks}]]`;
|
|
385
412
|
this.socket?.send(r);
|
|
386
413
|
console.log("Join room : ", r);
|
|
387
414
|
}
|
|
@@ -34,6 +34,7 @@ export declare class NodeLeekClient extends LeekWarsClient {
|
|
|
34
34
|
syncWith(path: string, watch: boolean, choice?: string): Promise<void>;
|
|
35
35
|
joinBattleRoyale(): Promise<void>;
|
|
36
36
|
createRoom(bossId: number, locked?: boolean): Promise<string>;
|
|
37
|
+
createRoomWith(bossId: number, leeks: number[], locked?: boolean): Promise<string>;
|
|
37
38
|
joinRoom(roomId: string): Promise<string>;
|
|
38
39
|
}
|
|
39
40
|
//# sourceMappingURL=node-leek-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-leek-client.d.ts","sourceRoot":"","sources":["../../src/node-leek-client/node-leek-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAGlD,OAAO,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAO1D,qBAAa,cAAe,SAAQ,cAAc;IAEvC,MAAM,EAAE,MAAM,CAAgB;IAC9B,KAAK,EAAE,UAAU,EAAE,CAAM;IAChC,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,cAAc,CAA+B;WAEjC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAK1E,KAAK;YAaJ,UAAU;
|
|
1
|
+
{"version":3,"file":"node-leek-client.d.ts","sourceRoot":"","sources":["../../src/node-leek-client/node-leek-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAGlD,OAAO,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAO1D,qBAAa,cAAe,SAAQ,cAAc;IAEvC,MAAM,EAAE,MAAM,CAAgB;IAC9B,KAAK,EAAE,UAAU,EAAE,CAAM;IAChC,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,cAAc,CAA+B;WAEjC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAK1E,KAAK;YAaJ,UAAU;IAajB,cAAc;IAKrB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;YAQV,eAAe;IAO7B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAMX,QAAQ,IAAI;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAI7C,OAAO,CAAC,gBAAgB;IAIX,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAcnE,sBAAsB,IAAK,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IActD,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAcnE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAWhE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW;IAK1D,gBAAgB,IAAK,OAAO,CAAC,IAAI,CAAC;IAMlC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAI,OAAO,CAAC,MAAM,CAAC;IAUrE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAG,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,OAAe,GAAI,OAAO,CAAC,MAAM,CAAC;IAU3F,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAI,OAAO,CAAC,MAAM,CAAC;CAO1D"}
|
|
@@ -36,7 +36,9 @@ class NodeLeekClient extends leek_wars_client_js_1.LeekWarsClient {
|
|
|
36
36
|
this.registerFolders(this.farmer.folders);
|
|
37
37
|
this.registerAis(this.farmer.ais);
|
|
38
38
|
for (const id of Object.keys(this.farmer.leeks)) {
|
|
39
|
+
await this.sleep(50);
|
|
39
40
|
await this.registerOwnLeek(Number(id));
|
|
41
|
+
await this.sleep(50);
|
|
40
42
|
}
|
|
41
43
|
this.leeks.forEach(leek => this.logLeekInfos(leek));
|
|
42
44
|
}
|
|
@@ -125,7 +127,7 @@ class NodeLeekClient extends leek_wars_client_js_1.LeekWarsClient {
|
|
|
125
127
|
}
|
|
126
128
|
registerAi(ai) {
|
|
127
129
|
if (this.foldersById[ai.folder] != undefined) {
|
|
128
|
-
this.filesByName[(this.foldersById[ai.folder] ?? "/") + ai.name
|
|
130
|
+
this.filesByName[(this.foldersById[ai.folder] ?? "/") + ai.name] = ai.id;
|
|
129
131
|
}
|
|
130
132
|
}
|
|
131
133
|
getFiles() {
|
|
@@ -204,6 +206,16 @@ class NodeLeekClient extends leek_wars_client_js_1.LeekWarsClient {
|
|
|
204
206
|
}
|
|
205
207
|
return this.currentRoom;
|
|
206
208
|
}
|
|
209
|
+
async createRoomWith(bossId, leeks, locked = false) {
|
|
210
|
+
if (this.farmer.fights == 0)
|
|
211
|
+
return "";
|
|
212
|
+
this.currentRoom = "";
|
|
213
|
+
await this.createBossRoom(bossId, locked, leeks);
|
|
214
|
+
while (this.currentRoom == "") {
|
|
215
|
+
await this.sleep(10);
|
|
216
|
+
}
|
|
217
|
+
return this.currentRoom;
|
|
218
|
+
}
|
|
207
219
|
async joinRoom(roomId) {
|
|
208
220
|
await this.joinBossRoom(roomId, Object.keys(this.farmer.leeks).map(id => Number(id)));
|
|
209
221
|
while (this.currentRoom == "") {
|