node-leek 1.0.4 → 1.0.6
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/node-leek-client/leek-wars-client.d.ts +4 -0
- package/dist/node-leek-client/leek-wars-client.d.ts.map +1 -1
- package/dist/node-leek-client/leek-wars-client.js +26 -0
- 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 +8 -0
- package/package.json +2 -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);
|
|
@@ -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;
|
|
@@ -17,6 +18,7 @@ export declare class LeekWarsClient {
|
|
|
17
18
|
private token;
|
|
18
19
|
private phpsessid;
|
|
19
20
|
protected currentRoom: string;
|
|
21
|
+
inBattleRoyal: boolean;
|
|
20
22
|
constructor(username: string, password: string, readonly?: boolean);
|
|
21
23
|
protected loginOnLeekwars(): Promise<Farmer>;
|
|
22
24
|
close(): Promise<void>;
|
|
@@ -37,8 +39,10 @@ export declare class LeekWarsClient {
|
|
|
37
39
|
protected getFarmerOpponents(): Promise<FarmerOpponent[]>;
|
|
38
40
|
protected startFarmerFight(target_id: number): Promise<number>;
|
|
39
41
|
getFight(fight_id: number): Promise<FightResult>;
|
|
42
|
+
getGarden(): Promise<Garden | null>;
|
|
40
43
|
addMessageReaction(messageId: number, reaction: string): Promise<void>;
|
|
41
44
|
spendCapital(leekId: number, capitals: CapitalRequest): Promise<void>;
|
|
45
|
+
protected registerInBattleRoyale(leek: number): Promise<void>;
|
|
42
46
|
protected createBossRoom(bossId?: number, locked?: boolean, leeks?: number[]): Promise<void>;
|
|
43
47
|
protected joinBossRoom(roomId: string, leeks?: number[]): Promise<void>;
|
|
44
48
|
startRoomFight(): 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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"}
|
|
@@ -35,6 +35,7 @@ class LeekWarsClient {
|
|
|
35
35
|
token = "";
|
|
36
36
|
phpsessid = "";
|
|
37
37
|
currentRoom = "";
|
|
38
|
+
inBattleRoyal = false;
|
|
38
39
|
constructor(username, password, readonly = false) {
|
|
39
40
|
this.readonly = readonly;
|
|
40
41
|
this.username = username;
|
|
@@ -330,6 +331,23 @@ class LeekWarsClient {
|
|
|
330
331
|
return new fightResult_js_1.FightResult();
|
|
331
332
|
});
|
|
332
333
|
}
|
|
334
|
+
async getGarden() {
|
|
335
|
+
if (!this.ready)
|
|
336
|
+
return null;
|
|
337
|
+
return this.apiClient.gardenGet()
|
|
338
|
+
.then(async (result) => {
|
|
339
|
+
await this.sleep(75);
|
|
340
|
+
return result.body;
|
|
341
|
+
})
|
|
342
|
+
.catch(err => {
|
|
343
|
+
if (err.statusCode == 429) { // TOO MANY REQUEST
|
|
344
|
+
return this.sleep(15000)
|
|
345
|
+
.then(() => this.getGarden());
|
|
346
|
+
}
|
|
347
|
+
console.error("getGarden -> [" + err.statusCode + "] " + err.body.error);
|
|
348
|
+
return null;
|
|
349
|
+
});
|
|
350
|
+
}
|
|
333
351
|
async addMessageReaction(messageId, reaction) {
|
|
334
352
|
if (!this.ready)
|
|
335
353
|
return;
|
|
@@ -369,6 +387,11 @@ class LeekWarsClient {
|
|
|
369
387
|
return;
|
|
370
388
|
});
|
|
371
389
|
}
|
|
390
|
+
async registerInBattleRoyale(leek) {
|
|
391
|
+
const r = `[${SocketMessage_js_1.SocketMessage.BATTLE_ROYALE_REGISTER}, "${leek}"]`;
|
|
392
|
+
this.socket?.send(r);
|
|
393
|
+
console.log("Join battle royal : ", r);
|
|
394
|
+
}
|
|
372
395
|
async createBossRoom(bossId = 1, locked = false, leeks = []) {
|
|
373
396
|
const r = `[${SocketMessage_js_1.SocketMessage.GARDEN_BOSS_CREATE_SQUAD}, ${bossId}, ${locked}, [${leeks}]]`;
|
|
374
397
|
this.socket?.send(r);
|
|
@@ -464,14 +487,17 @@ class LeekWarsClient {
|
|
|
464
487
|
break;
|
|
465
488
|
}
|
|
466
489
|
case SocketMessage_js_1.SocketMessage.BATTLE_ROYALE_UPDATE: {
|
|
490
|
+
this.inBattleRoyal = true;
|
|
467
491
|
console.log(`[WS ${this.username}] received BATTLE_ROYALE_UPDATE`, data);
|
|
468
492
|
break;
|
|
469
493
|
}
|
|
470
494
|
case SocketMessage_js_1.SocketMessage.BATTLE_ROYALE_START: {
|
|
495
|
+
this.inBattleRoyal = false;
|
|
471
496
|
console.log(`[WS ${this.username}] received BATTLE_ROYALE_START`, data);
|
|
472
497
|
break;
|
|
473
498
|
}
|
|
474
499
|
case SocketMessage_js_1.SocketMessage.BATTLE_ROYALE_LEAVE: {
|
|
500
|
+
this.inBattleRoyal = false;
|
|
475
501
|
console.log(`[WS ${this.username}] received BATTLE_ROYALE_LEAVE`, data);
|
|
476
502
|
break;
|
|
477
503
|
}
|
|
@@ -32,6 +32,7 @@ export declare class NodeLeekClient extends LeekWarsClient {
|
|
|
32
32
|
startRandomTeamFight(leek_id: number): Promise<[Opponent, number]>;
|
|
33
33
|
getCompleteFight(fight_id: number): Promise<FightResult | void>;
|
|
34
34
|
syncWith(path: string, watch: boolean, choice?: string): Promise<void>;
|
|
35
|
+
joinBattleRoyale(): Promise<void>;
|
|
35
36
|
createRoom(bossId: number, locked?: boolean): Promise<string>;
|
|
36
37
|
joinRoom(roomId: string): Promise<string>;
|
|
37
38
|
}
|
|
@@ -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,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
|
}
|
|
@@ -188,6 +190,12 @@ class NodeLeekClient extends leek_wars_client_js_1.LeekWarsClient {
|
|
|
188
190
|
this.leekSyncClient = new leek_sync_client_js_1.LeekSyncClient(this, path);
|
|
189
191
|
return this.leekSyncClient.start(watch, choice);
|
|
190
192
|
}
|
|
193
|
+
async joinBattleRoyale() {
|
|
194
|
+
if (this.farmer.fights == 0)
|
|
195
|
+
return;
|
|
196
|
+
await this.registerInBattleRoyale(Number(Object.keys(this.farmer.leeks)[0]));
|
|
197
|
+
await this.sleep(100);
|
|
198
|
+
}
|
|
191
199
|
async createRoom(bossId, locked = false) {
|
|
192
200
|
if (this.farmer.fights == 0)
|
|
193
201
|
return "";
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-leek",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "A library for interacting with LeekWars API.",
|
|
5
5
|
"main": "dist/app.js",
|
|
6
6
|
"types": "dist/app.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc",
|
|
9
9
|
"prepublish": "npm run build",
|
|
10
|
+
"localtest": "npx tsc ; node dist/test.js",
|
|
10
11
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
11
12
|
},
|
|
12
13
|
"keywords": [
|