@softfault/blacketjs 0.1.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.
@@ -0,0 +1,620 @@
1
+ import { BlacketHttp, type BlacketClientOptions } from "./http";
2
+ import { BlacketSocket, type BlacketSocketCallback, type BlacketSocketEmitEvents, type BlacketSocketEvents, type BlacketSocketOptions } from "./socket";
3
+ import type { BlacketClanEventsResponse, BlacketClanRequestsResponse, BlacketClanResponse, BlacketClansResponse, BlacketDataIndex, BlacketEmojis, BlacketFriendListResponse, BlacketId, BlacketMessageResponse, BlacketMessagesResponse, BlacketPackOpenResponse, BlacketPurchaseResponse, BlacketRecord, BlacketResponse, BlacketTradeResponse, BlacketUploadFile, BlacketUploadResponse, BlacketUserResponse, FriendRequestSetting, RequestSetting, StoreItem } from "./types";
4
+ type SocketProvider = () => BlacketSocket;
5
+ /**
6
+ * main sdk client. create one of these and use the category properties
7
+ */
8
+ export declare class BlacketClient {
9
+ /**
10
+ * raw http helper for custom routes
11
+ */
12
+ readonly http: BlacketHttp;
13
+ /**
14
+ * static data routes
15
+ */
16
+ readonly data: BlacketData;
17
+ /**
18
+ * current account routes and account socket events
19
+ */
20
+ readonly account: BlacketAccount;
21
+ /**
22
+ * user lookup routes
23
+ */
24
+ readonly users: BlacketUsers;
25
+ /**
26
+ * friend routes and friend socket events
27
+ */
28
+ readonly friends: BlacketFriends;
29
+ /**
30
+ * account settings routes
31
+ */
32
+ readonly settings: BlacketSettings;
33
+ /**
34
+ * avatar/banner routes
35
+ */
36
+ readonly cosmetics: BlacketCosmetics;
37
+ /**
38
+ * store checkout routes
39
+ */
40
+ readonly store: BlacketStore;
41
+ /**
42
+ * pack/shop routes and bazaar socket events
43
+ */
44
+ readonly market: BlacketMarket;
45
+ /**
46
+ * clan routes and clan socket events
47
+ */
48
+ readonly clans: BlacketClans;
49
+ /**
50
+ * trade routes and trade socket events
51
+ */
52
+ readonly trades: BlacketTrades;
53
+ /**
54
+ * message routes and message socket events
55
+ */
56
+ readonly messages: BlacketMessages;
57
+ private socket?;
58
+ constructor(options?: BlacketClientOptions);
59
+ /**
60
+ * sends a custom get request through the configured blacket http client
61
+ */
62
+ get<T = unknown>(path: string): Promise<T>;
63
+ /**
64
+ * sends a custom json post request through the configured blacket http client
65
+ */
66
+ post<T = unknown>(path: string, body?: BlacketRecord): Promise<T>;
67
+ /**
68
+ * uploads a file through blacket's signed upload flow
69
+ */
70
+ upload<T extends BlacketUploadResponse = BlacketUploadResponse>(path: string, file: BlacketUploadFile): Promise<T>;
71
+ /**
72
+ * creates a socket instance without waiting for it to open
73
+ */
74
+ createSocket(options?: BlacketSocketOptions): BlacketSocket;
75
+ /**
76
+ * creates and opens the blacket websocket
77
+ */
78
+ connectSocket(options?: BlacketSocketOptions): BlacketSocket;
79
+ /**
80
+ * uses an existing socket instance. useful for tests or advanced control
81
+ */
82
+ useSocket(socket: BlacketSocket): this;
83
+ /**
84
+ * closes the current socket
85
+ */
86
+ closeSocket(code?: number, reason?: string): void;
87
+ /**
88
+ * registers a listener on the current socket
89
+ */
90
+ onSocket<K extends keyof BlacketSocketEvents>(event: K, callback: BlacketSocketCallback<BlacketSocketEvents[K]>): () => void;
91
+ onSocket<T = unknown>(event: string, callback: BlacketSocketCallback<T>): () => void;
92
+ /**
93
+ * emits an event on the current socket
94
+ */
95
+ emitSocket<K extends keyof BlacketSocketEmitEvents>(event: K, ...args: BlacketSocketEmitEvents[K] extends undefined ? [] | [undefined] : [BlacketSocketEmitEvents[K]]): void;
96
+ emitSocket(event: string, data?: unknown): void;
97
+ private currentSocket;
98
+ }
99
+ /**
100
+ * static blacket data routes
101
+ */
102
+ export declare class BlacketData {
103
+ private readonly http;
104
+ constructor(http: BlacketHttp);
105
+ /**
106
+ * fetches the static game data index
107
+ */
108
+ index<T = BlacketDataIndex>(): Promise<T>;
109
+ /**
110
+ * fetches the emoji list
111
+ */
112
+ emojis<T = BlacketEmojis>(): Promise<T>;
113
+ }
114
+ /**
115
+ * current account routes and account-level socket helpers
116
+ */
117
+ export declare class BlacketAccount {
118
+ private readonly http;
119
+ private readonly socket;
120
+ constructor(http: BlacketHttp, socket: SocketProvider);
121
+ /**
122
+ * gets the authenticated user
123
+ */
124
+ currentUser<T = BlacketUserResponse>(): Promise<T>;
125
+ /**
126
+ * claims the daily reward for the authenticated user
127
+ */
128
+ claimDaily<T = BlacketResponse<{
129
+ reward: number;
130
+ }>>(): Promise<T>;
131
+ /**
132
+ * pings the blacket worker
133
+ */
134
+ ping<T = BlacketResponse<{
135
+ up: boolean;
136
+ }>>(): Promise<T>;
137
+ /**
138
+ * gets giveaway count since a timestamp/id
139
+ */
140
+ giveawaysSince<T = BlacketResponse<{
141
+ count: number;
142
+ }>>(since: number | string): Promise<T>;
143
+ /**
144
+ * marks an inbox item as read
145
+ */
146
+ markInboxRead<T = BlacketResponse>(id: BlacketId): Promise<T>;
147
+ /**
148
+ * sends a presence/status payload
149
+ */
150
+ status<T = BlacketResponse>(body: {
151
+ di?: string;
152
+ ua?: string;
153
+ op?: string;
154
+ }): Promise<T>;
155
+ /**
156
+ * uploads a file using the account upload endpoint
157
+ */
158
+ upload<T extends BlacketUploadResponse = BlacketUploadResponse>(file: BlacketUploadFile): Promise<T>;
159
+ /**
160
+ * sends a heartbeat reply over the socket
161
+ */
162
+ heartbeat(): void;
163
+ /**
164
+ * automatically replies to heartbeat events. returns an unsubscribe function
165
+ */
166
+ replyToHeartbeat(): () => void;
167
+ /**
168
+ * listens for heartbeat events
169
+ */
170
+ onHeartbeat(callback: BlacketSocketCallback<BlacketSocketEvents["heartbeat"]>): () => void;
171
+ /**
172
+ * listens for notification events
173
+ */
174
+ onNotification(callback: BlacketSocketCallback<BlacketSocketEvents["notification"]>): () => void;
175
+ /**
176
+ * listens for session destroy events
177
+ */
178
+ onDestroySession(callback: BlacketSocketCallback<BlacketSocketEvents["destroy-session"]>): () => void;
179
+ }
180
+ /**
181
+ * user lookup routes
182
+ */
183
+ export declare class BlacketUsers {
184
+ private readonly http;
185
+ constructor(http: BlacketHttp);
186
+ /**
187
+ * gets the authenticated user. same as `client.account.currentUser()`
188
+ */
189
+ me<T = BlacketUserResponse>(): Promise<T>;
190
+ /**
191
+ * gets a user by id or username
192
+ */
193
+ get<T = BlacketUserResponse>(user: BlacketId): Promise<T>;
194
+ /**
195
+ * gets the authenticated user's friends and pending friend requests
196
+ */
197
+ friends<T = BlacketFriendListResponse>(): Promise<T>;
198
+ }
199
+ /**
200
+ * friend routes and friend socket helpers
201
+ */
202
+ export declare class BlacketFriends {
203
+ private readonly http;
204
+ private readonly socket;
205
+ constructor(http: BlacketHttp, socket: SocketProvider);
206
+ /**
207
+ * sends a friend request
208
+ */
209
+ request<T = BlacketResponse>(user: string): Promise<T>;
210
+ /**
211
+ * removes a friend
212
+ */
213
+ remove<T = BlacketResponse>(user: string): Promise<T>;
214
+ /**
215
+ * blocks a user
216
+ */
217
+ block<T = BlacketResponse>(user: string): Promise<T>;
218
+ /**
219
+ * unblocks a user
220
+ */
221
+ unblock<T = BlacketResponse>(user: string): Promise<T>;
222
+ /**
223
+ * cancels a sent friend request
224
+ */
225
+ cancel<T = BlacketResponse>(user: string): Promise<T>;
226
+ /**
227
+ * accepts a received friend request
228
+ */
229
+ accept<T = BlacketResponse>(user: string): Promise<T>;
230
+ /**
231
+ * declines a received friend request
232
+ */
233
+ decline<T = BlacketResponse>(user: string): Promise<T>;
234
+ /**
235
+ * listens for received friend requests
236
+ */
237
+ onRequestReceived(callback: BlacketSocketCallback<BlacketSocketEvents["friends-requests-received"]>): () => void;
238
+ /**
239
+ * listens for accepted friend requests
240
+ */
241
+ onRequestAccepted(callback: BlacketSocketCallback<BlacketSocketEvents["friends-requests-accepted"]>): () => void;
242
+ /**
243
+ * listens for declined friend requests
244
+ */
245
+ onRequestDeclined(callback: BlacketSocketCallback<BlacketSocketEvents["friends-requests-declined"]>): () => void;
246
+ /**
247
+ * listens for cancelled friend requests
248
+ */
249
+ onRequestCancelled(callback: BlacketSocketCallback<BlacketSocketEvents["friends-requests-cancelled"]>): () => void;
250
+ /**
251
+ * listens for removed friend relationships
252
+ */
253
+ onRemoved(callback: BlacketSocketCallback<BlacketSocketEvents["friends-relationships-removed"]>): () => void;
254
+ }
255
+ /**
256
+ * account settings routes
257
+ */
258
+ export declare class BlacketSettings {
259
+ private readonly http;
260
+ constructor(http: BlacketHttp);
261
+ /**
262
+ * updates trade request visibility
263
+ */
264
+ tradeRequests<T = BlacketResponse>(value: RequestSetting): Promise<T>;
265
+ /**
266
+ * updates friend request visibility
267
+ */
268
+ friendRequests<T = BlacketResponse>(value: FriendRequestSetting): Promise<T>;
269
+ /**
270
+ * changes the username
271
+ */
272
+ username<T = BlacketResponse>(username: string, password: string): Promise<T>;
273
+ /**
274
+ * changes the password
275
+ */
276
+ password<T = BlacketResponse>(oldPassword: string, newPassword: string): Promise<T>;
277
+ /**
278
+ * starts otp setup and returns a qr code payload
279
+ */
280
+ generateOtp<T = BlacketResponse<{
281
+ qr: string;
282
+ }>>(): Promise<T>;
283
+ /**
284
+ * enables otp with a code
285
+ */
286
+ enableOtp<T = BlacketResponse>(code: string): Promise<T>;
287
+ /**
288
+ * disables otp with a code
289
+ */
290
+ disableOtp<T = BlacketResponse>(code: string): Promise<T>;
291
+ /**
292
+ * updates the profile color
293
+ */
294
+ color<T = BlacketResponse>(color: string): Promise<T>;
295
+ }
296
+ /**
297
+ * cosmetic profile routes
298
+ */
299
+ export declare class BlacketCosmetics {
300
+ private readonly http;
301
+ constructor(http: BlacketHttp);
302
+ /**
303
+ * sets the avatar blook
304
+ */
305
+ avatar<T = BlacketResponse>(blook: string): Promise<T>;
306
+ /**
307
+ * sets the profile banner
308
+ */
309
+ banner<T = BlacketResponse>(banner: string): Promise<T>;
310
+ }
311
+ /**
312
+ * store checkout routes
313
+ */
314
+ export declare class BlacketStore {
315
+ private readonly http;
316
+ constructor(http: BlacketHttp);
317
+ /**
318
+ * starts a checkout purchase
319
+ */
320
+ startPurchase<T = BlacketPurchaseResponse>(item: StoreItem, quantity: number, origin: string): Promise<T>;
321
+ /**
322
+ * starts a legacy checkout purchase
323
+ */
324
+ legacyPurchase<T = BlacketPurchaseResponse>(item: StoreItem): Promise<T>;
325
+ }
326
+ /**
327
+ * pack/shop routes and market socket helpers
328
+ */
329
+ export declare class BlacketMarket {
330
+ private readonly http;
331
+ private readonly socket;
332
+ constructor(http: BlacketHttp, socket: SocketProvider);
333
+ /**
334
+ * opens a pack
335
+ */
336
+ openPack<T = BlacketPackOpenResponse>(pack: string): Promise<T>;
337
+ /**
338
+ * buys an item from the token shop
339
+ */
340
+ buyShopItem<T = BlacketResponse>(item: string): Promise<T>;
341
+ /**
342
+ * listens for bazaar purchase events
343
+ */
344
+ onBazaarPurchase(callback: BlacketSocketCallback<BlacketSocketEvents["bazaar-purchase"]>): () => void;
345
+ }
346
+ /**
347
+ * clan routes and clan socket helpers
348
+ */
349
+ export declare class BlacketClans {
350
+ private readonly http;
351
+ private readonly socket;
352
+ constructor(http: BlacketHttp, socket: SocketProvider);
353
+ /**
354
+ * gets the authenticated user's clan
355
+ */
356
+ mine<T = BlacketClanResponse>(): Promise<T>;
357
+ /**
358
+ * gets a clan discovery page
359
+ */
360
+ discoverPage<T = BlacketClansResponse>(page: number): Promise<T>;
361
+ /**
362
+ * searches clans by name
363
+ */
364
+ discoverByName<T = BlacketClansResponse>(name: BlacketId): Promise<T>;
365
+ /**
366
+ * gets pending join requests for the authenticated user's clan
367
+ */
368
+ pendingRequests<T = BlacketClanRequestsResponse>(): Promise<T>;
369
+ /**
370
+ * gets pending clan requests sent by the authenticated user
371
+ */
372
+ myPendingRequests<T = BlacketClanRequestsResponse>(): Promise<T>;
373
+ /**
374
+ * sends a request to join a clan
375
+ */
376
+ sendRequest<T = BlacketResponse>(clan: BlacketId): Promise<T>;
377
+ /**
378
+ * joins a clan directly when requests are not required
379
+ */
380
+ join<T = BlacketResponse>(clan: BlacketId): Promise<T>;
381
+ /**
382
+ * accepts a user's clan join request
383
+ */
384
+ acceptRequest<T = BlacketResponse>(user: BlacketId): Promise<T>;
385
+ /**
386
+ * rejects a user's clan join request
387
+ */
388
+ rejectRequest<T = BlacketResponse>(user: BlacketId): Promise<T>;
389
+ /**
390
+ * creates a clan
391
+ */
392
+ create<T = BlacketResponse>(body: {
393
+ name: string;
394
+ image: string;
395
+ description: string;
396
+ color: string;
397
+ }): Promise<T>;
398
+ /**
399
+ * leaves the current clan
400
+ */
401
+ leave<T = BlacketResponse>(password: string, code?: string): Promise<T>;
402
+ /**
403
+ * kicks a user from the current clan
404
+ */
405
+ kick<T = BlacketResponse>(user: BlacketId): Promise<T>;
406
+ /**
407
+ * gets ongoing clan events
408
+ */
409
+ ongoingEvents<T = BlacketClanEventsResponse>(): Promise<T>;
410
+ /**
411
+ * adds tokens to clan investments
412
+ */
413
+ addInvestment<T = BlacketResponse>(tokens: number | string): Promise<T>;
414
+ /**
415
+ * removes tokens from clan investments
416
+ */
417
+ removeInvestment<T = BlacketResponse>(tokens: number | string): Promise<T>;
418
+ /**
419
+ * upgrades the clan investment level
420
+ */
421
+ upgradeInvestment<T = BlacketResponse>(): Promise<T>;
422
+ /**
423
+ * adds an item to clan inventory
424
+ */
425
+ addInventoryItem<T = BlacketResponse>(item: string): Promise<T>;
426
+ /**
427
+ * removes an item from clan inventory
428
+ */
429
+ removeInventoryItem<T = BlacketResponse>(item: string): Promise<T>;
430
+ /**
431
+ * uses an item on a clan
432
+ */
433
+ useItem<T = BlacketResponse>(item: string, clan: BlacketId): Promise<T>;
434
+ /**
435
+ * updates the current clan name
436
+ */
437
+ setName<T = BlacketResponse>(name: string): Promise<T>;
438
+ /**
439
+ * updates the current clan description
440
+ */
441
+ setDescription<T = BlacketResponse>(description: string): Promise<T>;
442
+ /**
443
+ * updates the current clan image
444
+ */
445
+ setImage<T = BlacketResponse>(image: string): Promise<T>;
446
+ /**
447
+ * resets the current clan color
448
+ */
449
+ resetColor<T = BlacketResponse>(): Promise<T>;
450
+ /**
451
+ * toggles current clan safe mode
452
+ */
453
+ toggleSafeMode<T = BlacketResponse>(): Promise<T>;
454
+ /**
455
+ * toggles current clan join requests
456
+ */
457
+ toggleRequests<T = BlacketResponse>(): Promise<T>;
458
+ /**
459
+ * transfers current clan ownership
460
+ */
461
+ transferOwnership<T = BlacketResponse>(user: BlacketId, password: string, code?: string): Promise<T>;
462
+ /**
463
+ * disbands the current clan
464
+ */
465
+ disband<T = BlacketResponse>(password: string, code?: string): Promise<T>;
466
+ /**
467
+ * emits the old clan rob event. disabled in v2, kept for compatibility
468
+ */
469
+ robAttack(): void;
470
+ /**
471
+ * listens for clan attack start events
472
+ */
473
+ onAttackStarted(callback: BlacketSocketCallback<BlacketSocketEvents["clans-attacks-started"]>): () => void;
474
+ /**
475
+ * listens for clan attacked events
476
+ */
477
+ onAttacked(callback: BlacketSocketCallback<BlacketSocketEvents["clans-attacks-attacked"]>): () => void;
478
+ /**
479
+ * listens for clan attack attempt events
480
+ */
481
+ onAttackAttempted(callback: BlacketSocketCallback<BlacketSocketEvents["clans-attacks-attempted"]>): () => void;
482
+ /**
483
+ * listens for clan rob events
484
+ */
485
+ onAttackRob(callback: BlacketSocketCallback<BlacketSocketEvents["clans-attacks-rob"]>): () => void;
486
+ }
487
+ /**
488
+ * trade routes and trade socket helpers
489
+ */
490
+ export declare class BlacketTrades {
491
+ private readonly http;
492
+ private readonly socket;
493
+ constructor(http: BlacketHttp, socket: SocketProvider);
494
+ /**
495
+ * gets the current ongoing trade
496
+ */
497
+ ongoing<T = BlacketTradeResponse>(): Promise<T>;
498
+ /**
499
+ * sends a trade request to a user
500
+ */
501
+ sendRequest<T = BlacketResponse>(user: BlacketId): Promise<T>;
502
+ /**
503
+ * cancels the current outgoing trade request
504
+ */
505
+ cancelRequest<T = BlacketResponse>(): Promise<T>;
506
+ /**
507
+ * accepts the current incoming trade request
508
+ */
509
+ acceptRequest<T = BlacketResponse>(): Promise<T>;
510
+ /**
511
+ * declines the current incoming trade request
512
+ */
513
+ declineRequest<T = BlacketResponse>(): Promise<T>;
514
+ /**
515
+ * listens for incoming trade requests
516
+ */
517
+ onRequestReceived(callback: BlacketSocketCallback<BlacketSocketEvents["trading-requests-received"]>): () => void;
518
+ /**
519
+ * listens for accepted outgoing trade requests
520
+ */
521
+ onRequestAccepted(callback: BlacketSocketCallback<BlacketSocketEvents["trading-requests-accepted"]>): () => void;
522
+ /**
523
+ * listens for declined outgoing trade requests
524
+ */
525
+ onRequestDeclined(callback: BlacketSocketCallback<BlacketSocketEvents["trading-requests-declined"]>): () => void;
526
+ /**
527
+ * listens for cancelled incoming trade requests
528
+ */
529
+ onRequestCancelled(callback: BlacketSocketCallback<BlacketSocketEvents["trading-requests-cancelled"]>): () => void;
530
+ /**
531
+ * sends your selected blooks for the ongoing trade
532
+ */
533
+ sendBlooks(blooks: BlacketSocketEmitEvents["trading-ongoing-blooks"]): void;
534
+ /**
535
+ * sends your selected token amount for the ongoing trade
536
+ */
537
+ sendTokens(tokens: number | string): void;
538
+ /**
539
+ * readies up in the ongoing trade
540
+ */
541
+ acceptOngoing(): void;
542
+ /**
543
+ * unreadies/cancels ready state in the ongoing trade
544
+ */
545
+ cancelOngoing(): void;
546
+ /**
547
+ * declines the ongoing trade
548
+ */
549
+ declineOngoing(): void;
550
+ /**
551
+ * listens for ongoing trade token updates
552
+ */
553
+ onTokens(callback: BlacketSocketCallback<BlacketSocketEvents["trading-ongoing-tokens"]>): () => void;
554
+ /**
555
+ * listens for ongoing trade blook updates
556
+ */
557
+ onBlooks(callback: BlacketSocketCallback<BlacketSocketEvents["trading-ongoing-blooks"]>): () => void;
558
+ /**
559
+ * listens for ongoing trade ready events
560
+ */
561
+ onAccepted(callback: BlacketSocketCallback<BlacketSocketEvents["trading-ongoing-accept"]>): () => void;
562
+ /**
563
+ * listens for ongoing trade ready-cancel events
564
+ */
565
+ onCancelled(callback: BlacketSocketCallback<BlacketSocketEvents["trading-ongoing-cancel"]>): () => void;
566
+ /**
567
+ * listens for ongoing trade decline events
568
+ */
569
+ onDeclined(callback: BlacketSocketCallback<BlacketSocketEvents["trading-ongoing-decline"]>): () => void;
570
+ /**
571
+ * listens for completed trades
572
+ */
573
+ onComplete(callback: BlacketSocketCallback<BlacketSocketEvents["trading-ongoing-complete"]>): () => void;
574
+ }
575
+ /**
576
+ * message routes and message socket helpers
577
+ */
578
+ export declare class BlacketMessages {
579
+ private readonly http;
580
+ private readonly socket;
581
+ constructor(http: BlacketHttp, socket: SocketProvider);
582
+ /**
583
+ * gets recent messages in a room
584
+ */
585
+ list<T = BlacketMessagesResponse>(room: BlacketId, limit?: number): Promise<T>;
586
+ /**
587
+ * edits a message
588
+ */
589
+ edit<T = BlacketMessageResponse>(message: BlacketId, content: string): Promise<T>;
590
+ /**
591
+ * deletes a message
592
+ */
593
+ delete<T = BlacketResponse>(message: BlacketId): Promise<T>;
594
+ /**
595
+ * reports a message. disabled in v2, kept for compatibility
596
+ */
597
+ reportMessage<T = BlacketResponse>(message: BlacketId, reason: string): Promise<T>;
598
+ /**
599
+ * reports a user. disabled in v2, kept for compatibility
600
+ */
601
+ reportUser<T = BlacketResponse>(user: BlacketId, reason: string): Promise<T>;
602
+ /**
603
+ * sends a message over the socket
604
+ */
605
+ send(room: BlacketId, content: string): Promise<void>;
606
+ /**
607
+ * listens for created messages
608
+ */
609
+ onCreate(callback: BlacketSocketCallback<BlacketSocketEvents["messages-create"]>): () => void;
610
+ /**
611
+ * listens for edited messages
612
+ */
613
+ onEdit(callback: BlacketSocketCallback<BlacketSocketEvents["messages-edit"]>): () => void;
614
+ /**
615
+ * listens for deleted messages
616
+ */
617
+ onDelete(callback: BlacketSocketCallback<BlacketSocketEvents["messages-delete"]>): () => void;
618
+ }
619
+ export {};
620
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}