yolkbot 1.4.7 → 1.5.0

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.
Files changed (129) hide show
  1. package/README.md +1 -1
  2. package/browser/build/global.js +1 -1
  3. package/browser/build/module.js +1 -1
  4. package/dist/api.d.ts +34 -16
  5. package/dist/api.js +164 -121
  6. package/dist/bot/GamePlayer.d.ts +2 -2
  7. package/dist/bot/GamePlayer.js +15 -5
  8. package/dist/bot.d.ts +121 -83
  9. package/dist/bot.js +624 -1077
  10. package/dist/comm/CommIn.js +14 -17
  11. package/dist/comm/CommOut.js +15 -15
  12. package/dist/constants/CommCode.js +1 -1
  13. package/dist/constants/findItemById.js +2 -1
  14. package/dist/constants/guns.d.ts +16 -41
  15. package/dist/constants/guns.js +137 -259
  16. package/dist/constants/index.d.ts +7 -9
  17. package/dist/constants/index.js +15 -13
  18. package/dist/dispatches/BanPlayerDispatch.d.ts +3 -1
  19. package/dist/dispatches/BootPlayerDispatch.d.ts +3 -1
  20. package/dist/dispatches/ChatDispatch.d.ts +3 -1
  21. package/dist/dispatches/ChatDispatch.js +3 -3
  22. package/dist/dispatches/FireDispatch.d.ts +3 -1
  23. package/dist/dispatches/GameOptionsDispatch.d.ts +3 -1
  24. package/dist/dispatches/GoToAmmoDispatch.d.ts +2 -0
  25. package/dist/dispatches/GoToAmmoDispatch.js +15 -16
  26. package/dist/dispatches/GoToCoopDispatch.d.ts +2 -0
  27. package/dist/dispatches/GoToCoopDispatch.js +19 -20
  28. package/dist/dispatches/GoToGrenadeDispatch.d.ts +2 -0
  29. package/dist/dispatches/GoToGrenadeDispatch.js +15 -16
  30. package/dist/dispatches/GoToPlayerDispatch.d.ts +3 -1
  31. package/dist/dispatches/GoToPlayerDispatch.js +16 -21
  32. package/dist/dispatches/GoToSpatulaDispatch.d.ts +2 -0
  33. package/dist/dispatches/GoToSpatulaDispatch.js +11 -14
  34. package/dist/dispatches/LookAtDispatch.d.ts +3 -1
  35. package/dist/dispatches/LookAtDispatch.js +8 -6
  36. package/dist/dispatches/LookAtPosDispatch.d.ts +3 -1
  37. package/dist/dispatches/LookAtPosDispatch.js +1 -1
  38. package/dist/dispatches/MeleeDispatch.d.ts +2 -0
  39. package/dist/dispatches/MeleeDispatch.js +4 -4
  40. package/dist/dispatches/MovementDispatch.d.ts +3 -1
  41. package/dist/dispatches/MovementDispatch.js +1 -1
  42. package/dist/dispatches/PauseDispatch.d.ts +2 -0
  43. package/dist/dispatches/ReloadDispatch.d.ts +2 -0
  44. package/dist/dispatches/ReloadDispatch.js +17 -10
  45. package/dist/dispatches/ReportPlayerDispatch.d.ts +4 -2
  46. package/dist/dispatches/ReportPlayerDispatch.js +8 -6
  47. package/dist/dispatches/ResetGameDispatch.d.ts +2 -0
  48. package/dist/dispatches/SaveLoadoutDispatch.d.ts +4 -2
  49. package/dist/dispatches/SaveLoadoutDispatch.js +9 -8
  50. package/dist/dispatches/SpawnDispatch.d.ts +2 -0
  51. package/dist/dispatches/SpawnDispatch.js +5 -1
  52. package/dist/dispatches/SwapWeaponDispatch.d.ts +3 -1
  53. package/dist/dispatches/SwapWeaponDispatch.js +1 -1
  54. package/dist/dispatches/SwitchTeamDispatch.d.ts +2 -0
  55. package/dist/dispatches/SwitchTeamDispatch.js +2 -1
  56. package/dist/dispatches/ThrowGrenadeDispatch.d.ts +3 -1
  57. package/dist/dispatches/index.d.ts +105 -182
  58. package/dist/dispatches/index.js +24 -25
  59. package/dist/enums.d.ts +154 -0
  60. package/dist/enums.js +114 -0
  61. package/dist/env/fetch.d.ts +15 -0
  62. package/dist/env/fetch.js +113 -79
  63. package/dist/env/globals.d.ts +9 -0
  64. package/dist/env/globals.js +11 -9
  65. package/dist/index.d.ts +31 -0
  66. package/dist/index.js +24 -14
  67. package/dist/packets/addPlayer.js +63 -0
  68. package/dist/packets/beginShellStreak.js +44 -0
  69. package/dist/packets/challengeCompleted.js +16 -0
  70. package/dist/packets/changeCharacter.js +46 -0
  71. package/dist/packets/chat.js +10 -0
  72. package/dist/packets/collectItem.js +26 -0
  73. package/dist/packets/die.js +40 -0
  74. package/dist/packets/endShellStreak.js +21 -0
  75. package/dist/packets/eventModifier.js +8 -0
  76. package/dist/packets/explode.js +19 -0
  77. package/dist/packets/fire.js +21 -0
  78. package/dist/packets/gameAction.js +33 -0
  79. package/dist/packets/gameJoined.js +64 -0
  80. package/dist/packets/gameOptions.js +27 -0
  81. package/dist/packets/hitMe.js +12 -0
  82. package/dist/packets/hitMeHardBoiled.js +18 -0
  83. package/dist/packets/hitThem.js +12 -0
  84. package/dist/packets/melee.js +8 -0
  85. package/dist/packets/metaGameState.js +62 -0
  86. package/dist/packets/pause.js +17 -0
  87. package/dist/packets/ping.js +19 -0
  88. package/dist/packets/playerInfo.js +15 -0
  89. package/dist/packets/reload.js +17 -0
  90. package/dist/packets/removePlayer.js +10 -0
  91. package/dist/packets/respawn.js +31 -0
  92. package/dist/packets/socketReady.js +16 -0
  93. package/dist/packets/spawnItem.js +11 -0
  94. package/dist/packets/swapWeapon.js +11 -0
  95. package/dist/packets/switchTeam.js +13 -0
  96. package/dist/packets/syncMe.js +25 -0
  97. package/dist/packets/syncThem.js +63 -0
  98. package/dist/packets/throwGrenade.js +17 -0
  99. package/dist/packets/updateBalance.js +8 -0
  100. package/dist/pathing/astar.js +33 -20
  101. package/dist/pathing/mapnode.d.ts +3 -1
  102. package/dist/pathing/mapnode.js +170 -65
  103. package/dist/socket.d.ts +21 -6
  104. package/dist/socket.js +48 -38
  105. package/dist/util.d.ts +4 -1
  106. package/dist/util.js +105 -45
  107. package/dist/wasm/bytes.d.ts +1 -1
  108. package/dist/wasm/bytes.js +1 -1
  109. package/dist/wasm/direct.d.ts +1 -1
  110. package/dist/wasm/direct.js +13 -13
  111. package/dist/wasm/legacy.d.ts +7 -6
  112. package/dist/wasm/legacy.js +14 -8
  113. package/package.json +43 -30
  114. package/dist/comm/index.d.ts +0 -12
  115. package/dist/comm/index.js +0 -11
  116. package/dist/constants/changelog.d.ts +0 -7
  117. package/dist/constants/housePromo.d.ts +0 -40
  118. package/dist/constants/language.d.ts +0 -3
  119. package/dist/constants/notices.d.ts +0 -4
  120. package/dist/constants/shellNews.d.ts +0 -12
  121. package/dist/constants/shellYoutube.d.ts +0 -12
  122. package/dist/constants/shopItems.d.ts +0 -15
  123. package/dist/constants/sounds.d.ts +0 -10
  124. package/dist/matchmaker.d.ts +0 -50
  125. package/dist/matchmaker.js +0 -141
  126. package/dist/pathing/binaryheap.d.ts +0 -18
  127. package/dist/pathing/binaryheap.js +0 -79
  128. package/dist/wasm/util.d.ts +0 -9
  129. package/dist/wasm/util.js +0 -19
package/dist/bot.d.ts CHANGED
@@ -1,41 +1,44 @@
1
- type intents = {
2
- CHALLENGES: 1,
3
- BOT_STATS: 2,
4
- PATHFINDING: 3,
5
- PING: 5,
6
- COSMETIC_DATA: 6,
7
- PLAYER_HEALTH: 7,
8
- PACKET_HOOK: 8,
9
- LOG_PACKETS: 10,
10
- NO_LOGIN: 11,
11
- DEBUG_BUFFER: 12,
12
- NO_AFK_KICK: 16,
13
- LOAD_MAP: 17,
14
- OBSERVE_GAME: 18,
15
- NO_REGION_CHECK: 19,
16
- NO_EXIT_ON_ERROR: 20,
17
- RENEW_SESSION: 21,
18
- VIP_HIDE_BADGE: 22
19
- }
20
-
21
1
  import { Character, GamePlayer, Position, View } from './bot/GamePlayer';
2
+
22
3
  import { Challenge } from './constants/challenges';
23
- import { AnyGun } from './constants/guns';
4
+ import { CreatedGun } from './constants/guns';
24
5
  import { MapJSON } from './constants/maps';
25
6
  import { Item } from './constants/items';
26
- import { ADispatch } from './dispatches/index';
7
+ import { Region } from './constants/regions';
8
+
9
+ import { ADispatch, DispatchParams } from './dispatches/index';
10
+
11
+ import AStar from './pathing/astar';
27
12
  import { NodeList } from './pathing/mapnode';
28
- import { AnonError, API, LoginError, QueryServicesError } from './api';
29
- import { Matchmaker } from './matchmaker';
13
+
14
+ import { API, AuthResponse, RawFirebase, ReturnError } from './api';
30
15
  import yolkws from './socket';
31
16
 
17
+ import {
18
+ APIError,
19
+ BuyItemError,
20
+ ChallengeRerollError,
21
+ ChicknWinnerError,
22
+ ClaimSocialError,
23
+ ClaimURLError,
24
+ CleanupLevel,
25
+ GameFindError,
26
+ GameJoinError,
27
+ Intents,
28
+ LoginError,
29
+ MatchmakerError,
30
+ PathfindError,
31
+ RedeemCodeError,
32
+ ZoneLeaveReason
33
+ } from './enums';
34
+
32
35
  export interface BotParams {
33
- intents?: number[];
34
36
  proxy?: string;
35
37
  instance?: string;
36
38
  protocol?: string;
37
- apiMaxRetries?: number;
39
+ intents?: number[];
38
40
  connectionTimeout?: number;
41
+ errorLogger?: (...args: any[]) => void;
39
42
  }
40
43
 
41
44
  export interface ChiknWinnerStatus {
@@ -152,7 +155,7 @@ export interface RawLoginData {
152
155
  dateModified: string;
153
156
  accountAge: number;
154
157
  statsLifetime: Stats;
155
- statsMonthly: Stats;
158
+ statsCurrent: Stats;
156
159
  eggsSpent: number | null;
157
160
  eggsSpentMonthly: number | null;
158
161
  challenges: RawChallenge[];
@@ -181,21 +184,17 @@ export interface RawLoginData {
181
184
  limit?: number;
182
185
  reset?: number;
183
186
  }
184
- }
185
-
186
- export interface AccountFirebase {
187
- idToken: string;
188
- refeshToken: string;
189
- expiresIn: string;
190
- localId: string;
187
+ cgAccountStatus: {
188
+ hasAccount: boolean;
189
+ }
191
190
  }
192
191
 
193
192
  export interface Account {
194
193
  id: number;
195
- firebase: AccountFirebase;
194
+ firebase: RawFirebase;
196
195
  firebaseId: string;
197
196
  sessionId: string;
198
- session: string;
197
+ session: number;
199
198
  email: string;
200
199
  password: string;
201
200
  cw: ChiknWinnerStatus;
@@ -203,6 +202,7 @@ export interface Account {
203
202
  ownedItemIds: number[];
204
203
  vip: boolean;
205
204
  isAged: boolean;
205
+ isCG: boolean;
206
206
  emailVerified: boolean;
207
207
  eggBalance: number;
208
208
  stats: {
@@ -212,7 +212,6 @@ export interface Account {
212
212
  challenges: Challenges[];
213
213
  adminRoles: number;
214
214
  rawLoginData: RawLoginData;
215
- isDoubleEggWeeknd: () => boolean;
216
215
  }
217
216
 
218
217
  export interface GameOptions {
@@ -226,7 +225,7 @@ export interface GameOptions {
226
225
  mustUseSecondary: boolean;
227
226
  }
228
227
 
229
- export interface Collectable {
228
+ export interface Collectible {
230
229
  id: number;
231
230
  x: number;
232
231
  y: number;
@@ -262,6 +261,16 @@ export interface GameSpatula {
262
261
  controlledByTeam: number;
263
262
  }
264
263
 
264
+ export interface GameKOTC {
265
+ stage: number;
266
+ zoneIdx: number;
267
+ activeZone: Zone[];
268
+ capturing: number;
269
+ captureProgress: number;
270
+ numCapturing: number;
271
+ capturePercent: number;
272
+ }
273
+
265
274
  export interface RawGameData {
266
275
  command: 'gameFound';
267
276
  region: string;
@@ -272,6 +281,16 @@ export interface RawGameData {
272
281
  noobLobby: boolean;
273
282
  }
274
283
 
284
+ export interface FindGameResponse {
285
+ ok: true;
286
+ raw: RawGameData;
287
+ id: string;
288
+ uuid: string;
289
+ region: string;
290
+ private: boolean;
291
+ subdomain: string;
292
+ }
293
+
275
294
  export interface Game {
276
295
  raw: RawGameData;
277
296
  code: string;
@@ -284,21 +303,15 @@ export interface Game {
284
303
  isGameOwner: boolean;
285
304
  isPrivate: boolean;
286
305
  options: GameOptions;
287
- collectables: Collectable[][];
306
+ collectibles: Collectible[][];
288
307
  teamScore: number[];
289
308
  spatula: GameSpatula;
290
- stage: number;
291
- zoneNumber: number;
292
- activeZone: Zone[];
293
- capturing: number;
294
- captureProgress: number;
295
- numCapturing: number;
296
- capturePercent: number;
309
+ kotc: GameKOTC;
297
310
  }
298
311
 
299
312
  export interface Pathing {
300
313
  nodeList: NodeList | null;
301
- followingPath: boolean;
314
+ astar: AStar | null;
302
315
  activePath: any;
303
316
  activeNode: any;
304
317
  activeNodeIdx: number;
@@ -319,6 +332,10 @@ export interface BotState {
319
332
  yaw: number;
320
333
  pitch: number;
321
334
  controlKeys: number;
335
+ onGround: number;
336
+ dx: number;
337
+ dy: number;
338
+ dz: number;
322
339
  reloading: boolean;
323
340
  swappingGun: boolean;
324
341
  usingMelee: boolean;
@@ -329,6 +346,7 @@ export interface BotState {
329
346
  }
330
347
 
331
348
  export interface ChiknWinnerResponse {
349
+ ok: true;
332
350
  eggsGiven: number;
333
351
  itemIds: number[];
334
352
  rewardTier: number;
@@ -343,15 +361,24 @@ export interface FireBullet {
343
361
  dirZ: number;
344
362
  }
345
363
 
346
- type FindPublicErrors = 'no_region_passed' | 'invalid_region_passed' | 'no_mode_passed' | 'invalid_mode_passed' | 'matchmaker_init_fail' | 'internal_session_error';
347
- type CreatePrivateErrors = FindPublicErrors | 'invalid_map_passed';
348
- type BotLoginError = 'account_banned';
364
+ export interface LoginResponse {
365
+ ok: true;
366
+ account: Account;
367
+ }
368
+
369
+ export interface GameStateChanges {
370
+ teamScore: { before: number[], after: number[] };
371
+ kotc?: { before: GameKOTC, after: GameKOTC };
372
+ spatula?: { before: GameSpatula, after: GameSpatula };
373
+ playersOnZone?: { before: GamePlayer[] };
374
+ }
349
375
 
350
376
  export class Bot {
351
- static Intents: intents;
352
- Intents: intents;
353
377
  intents: number[];
354
378
 
379
+ regionList: Region[];
380
+ matchmakerListeners: Function[];
381
+
355
382
  proxy: string;
356
383
  instance: string;
357
384
  protocol: string;
@@ -372,27 +399,27 @@ export class Bot {
372
399
  hasQuit: boolean;
373
400
 
374
401
  api: API;
375
- matchmaker: Matchmaker | null;
402
+ matchmaker: yolkws | null;
376
403
 
377
404
  constructor(params?: BotParams);
378
405
 
379
- loginAnonymously(): Promise<Account | BotLoginError | AnonError>;
380
- loginWithRefreshToken(refreshToken: string): Promise<Account | BotLoginError | LoginError>;
381
- login(email: string, pass: string): Promise<Account | BotLoginError | LoginError>;
382
- createAccount(email: string, pass: string): Promise<Account | BotLoginError | LoginError>;
406
+ loginAnonymously(): Promise<LoginResponse | LoginError>;
407
+ loginWithRefreshToken(refreshToken: string): Promise<LoginResponse | LoginError>;
408
+ login(email: string, pass: string): Promise<LoginResponse | LoginError>;
409
+ createAccount(email: string, pass: string): Promise<LoginResponse | LoginError>;
410
+ processLoginData: (data: AuthResponse | ReturnError) => LoginResponse | LoginError;
383
411
 
384
- initMatchmaker(): Promise<true | BotLoginError | AnonError | 'matchmaker_tryconnect_failed'>;
412
+ createMatchmaker(): Promise<{ ok: true } | MatchmakerError>;
413
+ getRegions(): Promise<{ ok: true, regionList: Region[] } | MatchmakerError>;
385
414
 
386
- createPrivateGame(region: string, mode: number, map: string): Promise<RawGameData | FindPublicErrors>;
387
- findPublicGame(region: string, mode: number): Promise<RawGameData | CreatePrivateErrors>;
415
+ initSession(): Promise<{ ok: true } | LoginError | MatchmakerError>;
388
416
 
389
- join(botName: string, data: string | RawGameData): Promise<true | 'matchmaker_init_fail' | 'game_not_found' | 'websocket_tryconnect_fail' | 'invalid_game_object'>;
417
+ findPublicGame(region: string, mode: string | number): Promise<FindGameResponse | GameFindError | LoginError | MatchmakerError>;
418
+ createPrivateGame(region: string, mode: string | number, map: string): Promise<FindGameResponse | GameFindError | LoginError | MatchmakerError>;
390
419
 
391
- processPacket(data: number[]): void;
392
- dispatch(disp: ADispatch): boolean;
393
- update(): void;
420
+ join(botName: string, data: string | FindGameResponse | RawGameData): Promise<{ ok: true } | LoginError | MatchmakerError | GameJoinError>;
394
421
 
395
- canSee(player: GamePlayer): boolean;
422
+ update(): void;
396
423
 
397
424
  onAny(cb: Function): void;
398
425
  off(event: string, cb: Function): void;
@@ -405,37 +432,39 @@ export class Bot {
405
432
  on(event: 'challengeComplete', cb: (player: GamePlayer, challengeId: number) => void): void;
406
433
  on(event: 'chat', cb: (player: GamePlayer | undefined, message: string, flags: number) => void): void;
407
434
  on(event: 'close', cb: (code: number) => void): void;
408
- on(event: 'error', cb: (error: string) => void): void;
409
435
  on(event: 'gameForcePause', cb: () => void): void;
410
436
  on(event: 'gameOptionsChange', cb: (oldOptions: GameOptions, newOptions: GameOptions) => void): void;
411
437
  on(event: 'gameReady', cb: () => void): void;
412
438
  on(event: 'gameReset', cb: () => void): void;
413
- on(event: 'gameStateChange', cb: (oldState: Game, newState: Game, oldPlayersOnZone: GamePlayer[]) => void): void;
439
+ on(event: 'gameStateChange', cb: (changes: GameStateChanges) => void): void;
414
440
  on(event: 'grenadeExplode', cb: (item: Item | number, pos: Position, damage: number, radius: number) => void): void;
415
441
  on(event: 'leave', cb: (closeCode: number) => void): void;
416
442
  on(event: 'mapLoad', cb: (map: MapJSON) => void): void;
417
443
  on(event: 'packet', cb: (packet: ArrayBuffer) => void): void;
444
+ on(event: 'pathfindComplete', cb: () => void): void;
445
+ on(event: 'pathfindError', cb: (error: PathfindError) => void): void;
418
446
  on(event: 'pingUpdate', cb: (oldPing: number, newPing: number) => void): void;
419
447
  on(event: 'playerBeginStreak', cb: (player: GamePlayer, streakType: number) => void): void;
420
448
  on(event: 'playerChangeCharacter', cb: (player: GamePlayer, oldCharacter: Character, newCharacter: Character) => void): void;
421
449
  on(event: 'playerChangeGun', cb: (player: GamePlayer, oldGunId: number, newGunId: number) => void): void;
422
- on(event: 'playerCollectAmmo', cb: (player: GamePlayer, weapon: AnyGun, itemId: number) => void): void;
450
+ on(event: 'playerCollectAmmo', cb: (player: GamePlayer, weapon: CreatedGun, itemId: number) => void): void;
423
451
  on(event: 'playerCollectGrenade', cb: (player: GamePlayer, itemId: number) => void): void;
424
452
  on(event: 'playerDamage', cb: (player: GamePlayer, oldHp: number, newHp: number) => void): void;
425
453
  on(event: 'playerDeath', cb: (killed: GamePlayer, killer: GamePlayer, oldKilled: GamePlayer, damageInt: number) => void): void;
454
+ on(event: 'playerEndReload', cb: (player: GamePlayer, weapon: CreatedGun) => void): void;
426
455
  on(event: 'playerEndStreak', cb: (player: GamePlayer, streakType: number) => void): void;
427
456
  on(event: 'playerEnterZone', cb: (player: GamePlayer) => void): void;
428
- on(event: 'playerFire', cb: (player: GamePlayer, weapon: AnyGun, bullet: FireBullet) => void): void;
457
+ on(event: 'playerFire', cb: (player: GamePlayer, weapon: CreatedGun, bullet: FireBullet) => void): void;
429
458
  on(event: 'playerJoin', cb: (player: GamePlayer) => void): void;
430
459
  on(event: 'playerInfo', cb: (player: GamePlayer, playerIP: string, playerDBId: string) => void): void;
431
460
  on(event: 'playerLeave', cb: (player: GamePlayer) => void): void;
432
- on(event: 'playerLeaveZone', cb: (player: GamePlayer) => void): void;
461
+ on(event: 'playerLeaveZone', cb: (player: GamePlayer, leaveReason: ZoneLeaveReason) => void): void;
433
462
  on(event: 'playerMelee', cb: (player: GamePlayer) => void): void;
434
463
  on(event: 'playerMove', cb: (player: GamePlayer, oldPosition: Position, newPosition: Position) => void): void;
435
464
  on(event: 'playerPause', cb: (player: GamePlayer) => void): void;
436
- on(event: 'playerReload', cb: (player: GamePlayer, weapon: AnyGun) => void): void;
437
465
  on(event: 'playerRespawn', cb: (player: GamePlayer) => void): void;
438
466
  on(event: 'playerRotate', cb: (player: GamePlayer, oldView: View, newView: View) => void): void;
467
+ on(event: 'playerStartReload', cb: (player: GamePlayer, weapon: CreatedGun) => void): void;
439
468
  on(event: 'playerSwapWeapon', cb: (player: GamePlayer, nowActive: number) => void): void;
440
469
  on(event: 'playerSwitchTeam', cb: (player: GamePlayer, oldTeam: number, newTeam: number) => void): void;
441
470
  on(event: 'playerThrowGrenade', cb: (player: GamePlayer, position: Position, dPosition: Position) => void): void;
@@ -447,23 +476,32 @@ export class Bot {
447
476
  on(event: 'spawnItem', cb: (itemType: number, itemPosition: Position, itemId: number) => void): void;
448
477
  on(event: 'tick', cb: () => void): void;
449
478
 
450
- checkChiknWinner(): Promise<ChiknWinnerStatus | QueryServicesError>;
451
- playChiknWinner(doPrematureCooldownCheck: boolean): Promise<ChiknWinnerResponse | QueryServicesError | 'hit_daily_limit' | 'on_cooldown' | 'session_expired' | 'unknown_error'>;
452
- resetChiknWinner(): Promise<ChiknWinnerStatus | QueryServicesError | 'not_enough_eggs' | 'not_at_limit' | 'unknown_error'>;
479
+ dispatch(disp: ADispatch): boolean;
480
+ emit<K extends keyof DispatchParams>(type: K, ...args: DispatchParams[K]): boolean;
481
+
482
+ packetHandlers: Record<number, () => void>;
483
+ processPacket(data: ArrayBuffer): void;
484
+
485
+ checkChiknWinner(): Promise<{ ok: true, cw: ChiknWinnerStatus } | APIError>;
486
+ playChiknWinner(doPrematureCooldownCheck: boolean): Promise<ChiknWinnerResponse | APIError | ChicknWinnerError>;
487
+ resetChiknWinner(): Promise<{ ok: true, cw: ChiknWinnerStatus } | APIError | ChicknWinnerError>;
488
+
489
+ canSee(player: GamePlayer): boolean;
490
+ getBestTarget(): GamePlayer | null;
453
491
 
454
- refreshChallenges(): Promise<Challenges[] | QueryServicesError>;
455
- claimChallenge(challengeId: number): Promise<{ eggReward: number, updatedChallenges: Challenges[] } | QueryServicesError>;
456
- rerollChallenge(challengeId: number): Promise<Challenges[] | QueryServicesError>;
492
+ refreshChallenges(): Promise<{ ok: true, challenges: Challenges[] } | APIError>;
493
+ rerollChallenge(challengeId: number): Promise<{ ok: true, challenges: Challenges[] } | APIError | ChallengeRerollError>;
494
+ claimChallenge(challengeId: number): Promise<{ ok: true, eggReward: number, updatedChallenges: Challenges[] } | APIError>;
457
495
 
458
- refreshBalance(): Promise<number | QueryServicesError>;
459
- redeemCode(code: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; } | QueryServicesError>;
460
- claimURLReward(reward: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; } | QueryServicesError>;
461
- claimSocialReward(rewardTag: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; } | QueryServicesError>;
462
- buyItem(itemId: number): Promise<{ result: string; currentBalance: number; itemId: number; } | QueryServicesError>;
496
+ refreshBalance(): Promise<{ ok: true, currentBalance: number } | APIError>;
497
+ redeemCode(code: string): Promise<{ ok: true; eggsGiven: number; itemIds: number[]; } | APIError | RedeemCodeError>;
498
+ claimURLReward(reward: string): Promise<{ ok: true; eggsGiven: number; itemIds: number[]; } | APIError | ClaimURLError>;
499
+ claimSocialReward(rewardTag: string): Promise<{ ok: true; eggsGiven: number; itemIds: number[]; } | APIError | ClaimSocialError>;
500
+ buyItem(itemId: number): Promise<{ ok: true; currentBalance: number; itemId: number; } | APIError | BuyItemError>;
463
501
 
464
502
  leave(code?: number): void;
465
503
  logout(): void;
466
- quit(noCleanup?: boolean): void;
504
+ quit(cleanupLevel?: CleanupLevel): void;
467
505
  }
468
506
 
469
507
  export default Bot;