@wavezfm/api 0.1.2 → 0.1.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/README.md +50 -23
- package/dist/core/api.d.ts +1 -1
- package/dist/core/api.js +6 -6
- package/dist/core/api.js.map +1 -1
- package/dist/core/i18n.d.ts +1 -1
- package/dist/core/i18n.js +6 -6
- package/dist/core/i18n.js.map +1 -1
- package/dist/index.d.ts +155 -140
- package/dist/index.js +30 -28
- package/dist/index.js.map +1 -1
- package/dist/realtime/roomBot.d.ts +1 -1
- package/dist/realtime/roomBot.js +181 -51
- package/dist/realtime/roomBot.js.map +1 -1
- package/dist/resources/auth.d.ts +7 -7
- package/dist/resources/billing.d.ts +9 -9
- package/dist/resources/chat.d.ts +8 -8
- package/dist/resources/friend.d.ts +11 -11
- package/dist/resources/playlist.d.ts +17 -17
- package/dist/resources/room.d.ts +26 -21
- package/dist/resources/room.js +12 -1
- package/dist/resources/room.js.map +1 -1
- package/dist/resources/roomBot.d.ts +29 -21
- package/dist/resources/roomBot.js +30 -0
- package/dist/resources/roomBot.js.map +1 -1
- package/dist/resources/settings.d.ts +12 -12
- package/dist/resources/shop.d.ts +6 -6
- package/dist/resources/source.d.ts +4 -4
- package/dist/resources/system.d.ts +4 -4
- package/dist/resources/user.d.ts +5 -5
- package/dist/types.d.ts +103 -1
- package/dist/utils/chat.d.ts +1 -0
- package/dist/utils/chat.js +14 -0
- package/dist/utils/chat.js.map +1 -0
- package/dist/utils/roomQueue.d.ts +5 -0
- package/dist/utils/roomQueue.js +349 -0
- package/dist/utils/roomQueue.js.map +1 -0
- package/package.json +3 -3
package/dist/resources/room.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ApiError } from "../core/ApiError";
|
|
1
|
+
import { ApiError } from "../core/ApiError.js";
|
|
2
|
+
import { parseRoomQueueSnapshot } from "../utils/roomQueue.js";
|
|
2
3
|
const DIRECT_HTTP_IMAGE_REGEX = /\.(?:png|jpe?g|gif|webp|avif|apng)(?:\?[^#\s]*)?(?:#[^\s]*)?$/i;
|
|
3
4
|
const ROOM_BOT_PERMISSION_SET = new Set([
|
|
4
5
|
"read_state",
|
|
@@ -91,6 +92,16 @@ export function createRoomResource(api) {
|
|
|
91
92
|
getWaitlist(slug) {
|
|
92
93
|
return api.get(`/rooms/${encodeURIComponent(slug)}/waitlist`, { authMode: "none" });
|
|
93
94
|
},
|
|
95
|
+
async getQueueStatus(slug, options) {
|
|
96
|
+
const response = await api.get(`/rooms/${encodeURIComponent(slug)}/waitlist`, { authMode: options?.authMode ?? "none" });
|
|
97
|
+
return {
|
|
98
|
+
...response,
|
|
99
|
+
data: parseRoomQueueSnapshot(response.data, {
|
|
100
|
+
viewerUserId: options?.viewerUserId ?? null,
|
|
101
|
+
viewerPublicId: options?.viewerPublicId ?? null,
|
|
102
|
+
}),
|
|
103
|
+
};
|
|
104
|
+
},
|
|
94
105
|
create(input) {
|
|
95
106
|
return api.post("/rooms", input);
|
|
96
107
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room.js","sourceRoot":"","sources":["../../src/resources/room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"room.js","sourceRoot":"","sources":["../../src/resources/room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAW/D,MAAM,uBAAuB,GACzB,gEAAgE,CAAC;AACrE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAoB;IACvD,YAAY;IACZ,WAAW;IACX,WAAW;IACX,aAAa;CAChB,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAC1B,GAAY,EACZ,UAUuC,EACvC,IAAY;IAEZ,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;QAC/C,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,aAAa;QACzB,IAAI;KACP,CAAC,CAAC;AACP,CAAC;AAED,SAAS,2BAA2B,CAChC,GAAY,EACZ,KAMC;IAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAChE,MAAM,qBAAqB,CACvB,GAAG,EACH,gCAAgC,EAChC,uBAAuB,CAC1B,CAAC;IACN,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACtE,IAAI,SAAc,CAAC;QACnB,IAAI,CAAC;YACD,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,qBAAqB,CACvB,GAAG,EACH,+BAA+B,EAC/B,6BAA6B,CAChC,CAAC;QACN,CAAC;QAED,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,qBAAqB,CACvB,GAAG,EACH,+BAA+B,EAC/B,6BAA6B,CAChC,CAAC;QACN,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,qBAAqB,CACvB,GAAG,EACH,2CAA2C,EAC3C,+BAA+B,CAClC,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,gBAAgB,GAClB,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;QACjE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;QAC5B,CAAC,CAAC,GAAG,CAAC;IAEd,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC9D,MAAM,qBAAqB,CACvB,GAAG,EACH,kCAAkC,EAClC,yBAAyB,CAC5B,CAAC;IACN,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9B,MAAM,qBAAqB,CACvB,GAAG,EACH,sCAAsC,EACtC,4BAA4B,CAC/B,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,MAAM,qBAAqB,CACvB,GAAG,EACH,uCAAuC,EACvC,8BAA8B,CACjC,CAAC;QACN,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,qBAAqB,CACvB,GAAG,EACH,iCAAiC,EACjC,8BAA8B,CACjC,CAAC;QACN,CAAC;QAED,IACI,KAAK,CAAC,WAAW,CAAC,IAAI,CAClB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAC3D,EACH,CAAC;YACC,MAAM,qBAAqB,CACvB,GAAG,EACH,gCAAgC,EAChC,6BAA6B,CAChC,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,MAAM,qBAAqB,CACvB,GAAG,EACH,kCAAkC,EAClC,yBAAyB,CAC5B,CAAC;QACN,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;YAC7C,MAAM,qBAAqB,CACvB,GAAG,EACH,iCAAiC,EACjC,+BAA+B,CAClC,CAAC;QACN,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,4EAA4E,CAAC,IAAI,CACpF,KAAK,CACR,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC3C,OAAO;QACH,IAAI;YACA,OAAO,GAAG,CAAC,GAAG,CAAgB,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,CAAC,QAAQ;YACV,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAgB,QAAQ,EAAE;gBACpD,QAAQ,EAAE,MAAM;aACnB,CAAC,CAAC;YAEH,OAAO;gBACH,GAAG,QAAQ;gBACX,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACjE,CAAC;QACN,CAAC;QAED,SAAS,CAAC,IAAY;YAClB,OAAO,GAAG,CAAC,GAAG,CAAc,UAAU,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC9D,QAAQ,EAAE,MAAM;aACnB,CAAC,CAAC;QACP,CAAC;QAED,cAAc,CAAC,IAAY;YACvB,OAAO,GAAG,CAAC,GAAG,CACV,UAAU,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAC5C,CAAC;QACN,CAAC;QAED,WAAW,CAAC,IAAY;YACpB,OAAO,GAAG,CAAC,GAAG,CACV,UAAU,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAC7C,EAAE,QAAQ,EAAE,MAAM,EAAE,CACvB,CAAC;QACN,CAAC;QAED,KAAK,CAAC,cAAc,CAChB,IAAY,EACZ,OAIC;YAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAC1B,UAAU,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAC7C,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,CAC5C,CAAC;YAEF,OAAO;gBACH,GAAG,QAAQ;gBACX,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACxC,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI;oBAC3C,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI;iBAClD,CAAC;aACL,CAAC;QACN,CAAC;QAED,MAAM,CAAC,KAMN;YACG,OAAO,GAAG,CAAC,IAAI,CAAc,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,YAAoB;YAC3B,IAAI,MAAM,GAAG,YAAY,CAAC;YAE1B,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACtB,UAAU,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAC5C,EAAE,QAAQ,EAAE,MAAM,EAAE,CACvB,CAAC;gBACF,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO,GAAG,CAAC,IAAI,CAA0B,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,QAAQ,CAAC,MAAc;YACnB,OAAO,GAAG,CAAC,IAAI,CACX,UAAU,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAC/C,EAAE,EACF,EAAE,OAAO,EAAE,MAAM,EAAE,CACtB,CAAC;QACN,CAAC;QAED,UAAU,CAAC,MAAc;YACrB,OAAO,GAAG,CAAC,MAAM,CACb,UAAU,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAC/C,EAAE,OAAO,EAAE,MAAM,EAAE,CACtB,CAAC;QACN,CAAC;QAED,aAAa,CAAC,MAAc;YACxB,OAAO,GAAG,CAAC,GAAG,CACV,UAAU,kBAAkB,CAAC,MAAM,CAAC,aAAa,CACpD,CAAC;QACN,CAAC;QAED,cAAc,CACV,MAAc,EACd,KAMC;YAED,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,GAAG,CAAC,IAAI,CACX,UAAU,kBAAkB,CAAC,MAAM,CAAC,aAAa,EACjD,KAAK,CACR,CAAC;QACN,CAAC;QAED,UAAU,CAAC,MAAc;YACrB,OAAO,GAAG,CAAC,GAAG,CAAY,UAAU,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QAED,aAAa,CAAC,MAAc,EAAE,KAAc;YACxC,OAAO,GAAG,CAAC,GAAG,CACV,UAAU,kBAAkB,CAAC,MAAM,CAAC,aAAa,EACjD;gBACI,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;aACvC,CACJ,CAAC;QACN,CAAC;QAED,cAAc,CAAC,MAAc,EAAE,KAA8B;YACzD,OAAO,GAAG,CAAC,KAAK,CACZ,UAAU,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAC/C,KAAK,CACR,CAAC;QACN,CAAC;QAED,iBAAiB,CACb,MAAc,EACd,KAIC;YAED,OAAO,GAAG,CAAC,KAAK,CACZ,UAAU,kBAAkB,CAAC,MAAM,CAAC,eAAe,EACnD,KAAK,CACR,CAAC;QACN,CAAC;QAED,OAAO,CAAC,MAAc,EAAE,MAAc,EAAE,IAAY;YAChD,OAAO,GAAG,CAAC,GAAG,CACV,UAAU,kBAAkB,CAAC,MAAM,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAC1E,EAAE,IAAI,EAAE,CACX,CAAC;QACN,CAAC;QAED,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,OAAgB;YAC3D,OAAO,GAAG,CAAC,GAAG,CACV,UAAU,kBAAkB,CAAC,MAAM,CAAC,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EACjF,EAAE,OAAO,EAAE,CACd,CAAC;QACN,CAAC;QAED,KAAK,CAAC,MAAc,EAAE,MAAc;YAChC,OAAO,GAAG,CAAC,MAAM,CACb,UAAU,kBAAkB,CAAC,MAAM,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAC5E,CAAC;QACN,CAAC;QAED,WAAW,CAAC,MAAc,EAAE,KAA8B;YACtD,OAAO,GAAG,CAAC,IAAI,CACX,UAAU,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAC7C,KAAK,CACR,CAAC;QACN,CAAC;QAED,WAAW,CACP,MAAc,EACd,OAAe,EACf,KAA8B;YAE9B,OAAO,GAAG,CAAC,KAAK,CACZ,UAAU,kBAAkB,CAAC,MAAM,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAC5E,KAAK,CACR,CAAC;QACN,CAAC;QAED,WAAW,CAAC,MAAc,EAAE,OAAe;YACvC,OAAO,GAAG,CAAC,MAAM,CACb,UAAU,kBAAkB,CAAC,MAAM,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAC/E,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,45 +1,53 @@
|
|
|
1
|
-
import type { ApiLike, RoomBotState } from "../types";
|
|
1
|
+
import type { ApiLike, ApiSuccessResponse, RoomBotEventsResponse, RoomBotQueueAddResponse, RoomQueueSnapshot, RoomBotSendMessageInput, RoomPresenceEventType, RoomBotState } from "../types.js";
|
|
2
2
|
export declare function createRoomBotResource(api: ApiLike): {
|
|
3
|
-
getState(roomId: string): Promise<
|
|
4
|
-
|
|
3
|
+
getState(roomId: string): Promise<ApiSuccessResponse<RoomBotState>>;
|
|
4
|
+
getQueueStatus(roomId: string, options?: {
|
|
5
|
+
viewerUserId?: string | null;
|
|
6
|
+
viewerPublicId?: number | null;
|
|
7
|
+
}): Promise<ApiSuccessResponse<RoomQueueSnapshot>>;
|
|
8
|
+
getMessages(roomId: string, limit?: number, offset?: number): Promise<ApiSuccessResponse<{
|
|
5
9
|
bot: Record<string, unknown>;
|
|
6
10
|
history: boolean;
|
|
7
11
|
messages: unknown[];
|
|
8
12
|
}>>;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
getEvents(roomId: string, options?: {
|
|
14
|
+
limit?: number;
|
|
15
|
+
since?: string | null;
|
|
16
|
+
types?: RoomPresenceEventType[];
|
|
17
|
+
}): Promise<ApiSuccessResponse<RoomBotEventsResponse>>;
|
|
18
|
+
sendMessage(roomId: string, input: RoomBotSendMessageInput): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
19
|
+
addToQueue(roomId: string, userId: string): Promise<ApiSuccessResponse<RoomBotQueueAddResponse>>;
|
|
20
|
+
deleteMessage(roomId: string, messageId: string, message?: Record<string, unknown>): Promise<ApiSuccessResponse<{
|
|
13
21
|
success: true;
|
|
14
22
|
}>>;
|
|
15
|
-
pinMessage(roomId: string, messageId: string, message?: Record<string, unknown>): Promise<
|
|
23
|
+
pinMessage(roomId: string, messageId: string, message?: Record<string, unknown>): Promise<ApiSuccessResponse<{
|
|
16
24
|
success: true;
|
|
17
25
|
}>>;
|
|
18
|
-
clearPinnedMessage(roomId: string): Promise<
|
|
26
|
+
clearPinnedMessage(roomId: string): Promise<ApiSuccessResponse<{
|
|
19
27
|
success: true;
|
|
20
28
|
}>>;
|
|
21
|
-
clearChat(roomId: string): Promise<
|
|
29
|
+
clearChat(roomId: string): Promise<ApiSuccessResponse<{
|
|
22
30
|
success: true;
|
|
23
31
|
}>>;
|
|
24
|
-
getManagement(roomId: string): Promise<
|
|
25
|
-
listEmojis(roomId: string): Promise<
|
|
26
|
-
listAuditLogs(roomId: string, limit?: number): Promise<
|
|
32
|
+
getManagement(roomId: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
33
|
+
listEmojis(roomId: string): Promise<ApiSuccessResponse<unknown[]>>;
|
|
34
|
+
listAuditLogs(roomId: string, limit?: number): Promise<ApiSuccessResponse<{
|
|
27
35
|
logs: unknown[];
|
|
28
36
|
}>>;
|
|
29
|
-
updateSettings(roomId: string, input: Record<string, unknown>): Promise<
|
|
37
|
+
updateSettings(roomId: string, input: Record<string, unknown>): Promise<ApiSuccessResponse<{
|
|
30
38
|
room: Record<string, unknown>;
|
|
31
39
|
}>>;
|
|
32
40
|
updateLinkFilters(roomId: string, input: {
|
|
33
41
|
blockAllLinks: boolean;
|
|
34
42
|
blockedLinkPatterns: string[];
|
|
35
43
|
commandAnnouncement?: Record<string, unknown>;
|
|
36
|
-
}): Promise<
|
|
44
|
+
}): Promise<ApiSuccessResponse<{
|
|
37
45
|
room: Record<string, unknown>;
|
|
38
46
|
}>>;
|
|
39
|
-
setRole(roomId: string, userId: string, role: string): Promise<
|
|
40
|
-
setQueueAccess(roomId: string, userId: string, blocked: boolean): Promise<
|
|
41
|
-
unban(roomId: string, userId: string): Promise<
|
|
42
|
-
createEmoji(roomId: string, input: Record<string, unknown>): Promise<
|
|
43
|
-
updateEmoji(roomId: string, emojiId: string, input: Record<string, unknown>): Promise<
|
|
44
|
-
deleteEmoji(roomId: string, emojiId: string): Promise<
|
|
47
|
+
setRole(roomId: string, userId: string, role: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
48
|
+
setQueueAccess(roomId: string, userId: string, blocked: boolean): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
49
|
+
unban(roomId: string, userId: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
50
|
+
createEmoji(roomId: string, input: Record<string, unknown>): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
51
|
+
updateEmoji(roomId: string, emojiId: string, input: Record<string, unknown>): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
52
|
+
deleteEmoji(roomId: string, emojiId: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
45
53
|
};
|
|
@@ -1,8 +1,19 @@
|
|
|
1
|
+
import { parseRoomQueueSnapshot } from "../utils/roomQueue.js";
|
|
1
2
|
export function createRoomBotResource(api) {
|
|
2
3
|
return {
|
|
3
4
|
getState(roomId) {
|
|
4
5
|
return api.get(`/bot/rooms/${encodeURIComponent(roomId)}/state`, { authMode: "room-bot" });
|
|
5
6
|
},
|
|
7
|
+
async getQueueStatus(roomId, options) {
|
|
8
|
+
const response = await api.get(`/bot/rooms/${encodeURIComponent(roomId)}/state`, { authMode: "room-bot" });
|
|
9
|
+
return {
|
|
10
|
+
...response,
|
|
11
|
+
data: parseRoomQueueSnapshot(response.data.snapshot, {
|
|
12
|
+
viewerUserId: options?.viewerUserId ?? response.data.bot.actorUserId ?? null,
|
|
13
|
+
viewerPublicId: options?.viewerPublicId ?? null,
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
},
|
|
6
17
|
getMessages(roomId, limit = 50, offset = 0) {
|
|
7
18
|
return api.get(`/bot/rooms/${encodeURIComponent(roomId)}/messages`, {
|
|
8
19
|
authMode: "room-bot",
|
|
@@ -12,9 +23,28 @@ export function createRoomBotResource(api) {
|
|
|
12
23
|
},
|
|
13
24
|
});
|
|
14
25
|
},
|
|
26
|
+
getEvents(roomId, options) {
|
|
27
|
+
const query = {};
|
|
28
|
+
if (typeof options?.limit === "number" && Number.isFinite(options.limit)) {
|
|
29
|
+
query.limit = Math.max(1, Math.floor(options.limit));
|
|
30
|
+
}
|
|
31
|
+
if (typeof options?.since === "string" && options.since.trim().length > 0) {
|
|
32
|
+
query.since = options.since.trim();
|
|
33
|
+
}
|
|
34
|
+
if (Array.isArray(options?.types) && options.types.length > 0) {
|
|
35
|
+
query.types = Array.from(new Set(options.types)).join(",");
|
|
36
|
+
}
|
|
37
|
+
return api.get(`/bot/rooms/${encodeURIComponent(roomId)}/events`, {
|
|
38
|
+
authMode: "room-bot",
|
|
39
|
+
query: Object.keys(query).length > 0 ? query : undefined,
|
|
40
|
+
});
|
|
41
|
+
},
|
|
15
42
|
sendMessage(roomId, input) {
|
|
16
43
|
return api.post(`/bot/rooms/${encodeURIComponent(roomId)}/messages`, input, { authMode: "room-bot" });
|
|
17
44
|
},
|
|
45
|
+
addToQueue(roomId, userId) {
|
|
46
|
+
return api.post(`/bot/rooms/${encodeURIComponent(roomId)}/queue`, { userId }, { authMode: "room-bot" });
|
|
47
|
+
},
|
|
18
48
|
deleteMessage(roomId, messageId, message) {
|
|
19
49
|
return api.delete(`/bot/rooms/${encodeURIComponent(roomId)}/messages/${encodeURIComponent(messageId)}`, {
|
|
20
50
|
authMode: "room-bot",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roomBot.js","sourceRoot":"","sources":["../../src/resources/roomBot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"roomBot.js","sourceRoot":"","sources":["../../src/resources/roomBot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ApiLike, TwoFactorStatus, UserSettings } from "../types";
|
|
1
|
+
import type { ApiLike, TwoFactorStatus, UserSettings } from "../types.js";
|
|
2
2
|
export declare function createSettingsResource(api: ApiLike): {
|
|
3
|
-
get(): Promise<import("
|
|
3
|
+
get(): Promise<import("../types.js").ApiSuccessResponse<UserSettings>>;
|
|
4
4
|
update(input: {
|
|
5
5
|
bio?: string;
|
|
6
6
|
timeFormat?: "12h" | "24h";
|
|
@@ -9,35 +9,35 @@ export declare function createSettingsResource(api: ApiLike): {
|
|
|
9
9
|
presenceStatus?: "online" | "busy" | "away";
|
|
10
10
|
selectedBadgeIds?: string[];
|
|
11
11
|
showChatBadge?: boolean;
|
|
12
|
-
}): Promise<import("
|
|
13
|
-
getTwoFactor(): Promise<import("
|
|
12
|
+
}): Promise<import("../types.js").ApiSuccessResponse<UserSettings>>;
|
|
13
|
+
getTwoFactor(): Promise<import("../types.js").ApiSuccessResponse<TwoFactorStatus>>;
|
|
14
14
|
sendPhoneVerification(input: {
|
|
15
15
|
phoneNumber: string;
|
|
16
16
|
password: string;
|
|
17
|
-
}): Promise<import("
|
|
17
|
+
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
18
18
|
verifyPhoneNumber(input: {
|
|
19
19
|
phoneNumber: string;
|
|
20
20
|
otp: string;
|
|
21
21
|
password: string;
|
|
22
|
-
}): Promise<import("
|
|
22
|
+
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
23
23
|
startEmailTwoFactor(input: {
|
|
24
24
|
password: string;
|
|
25
|
-
}): Promise<import("
|
|
25
|
+
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
26
26
|
startSmsTwoFactor(input: {
|
|
27
27
|
password: string;
|
|
28
|
-
}): Promise<import("
|
|
28
|
+
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
29
29
|
verifyOtpTwoFactor(input: {
|
|
30
30
|
code: string;
|
|
31
31
|
password: string;
|
|
32
|
-
}): Promise<import("
|
|
32
|
+
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
33
33
|
startAuthenticatorTwoFactor(input: {
|
|
34
34
|
password: string;
|
|
35
|
-
}): Promise<import("
|
|
35
|
+
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
36
36
|
verifyAuthenticatorTwoFactor(input: {
|
|
37
37
|
code: string;
|
|
38
38
|
password: string;
|
|
39
|
-
}): Promise<import("
|
|
39
|
+
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
40
40
|
disableTwoFactor(input: {
|
|
41
41
|
password: string;
|
|
42
|
-
}): Promise<import("
|
|
42
|
+
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
43
43
|
};
|
package/dist/resources/shop.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ApiLike, InventoryResponse, StoreCatalogResponse, WalletBalance } from "../types";
|
|
1
|
+
import type { ApiLike, InventoryResponse, StoreCatalogResponse, WalletBalance } from "../types.js";
|
|
2
2
|
export declare function createShopResource(api: ApiLike): {
|
|
3
|
-
getCatalog(): Promise<import("
|
|
4
|
-
getWallet(): Promise<import("
|
|
3
|
+
getCatalog(): Promise<import("../types.js").ApiSuccessResponse<StoreCatalogResponse>>;
|
|
4
|
+
getWallet(): Promise<import("../types.js").ApiSuccessResponse<WalletBalance>>;
|
|
5
5
|
purchase(input: {
|
|
6
6
|
itemId: string;
|
|
7
7
|
idempotencyKey?: string;
|
|
8
|
-
}): Promise<import("
|
|
9
|
-
equip(itemId: string): Promise<import("
|
|
10
|
-
getInventory(): Promise<import("
|
|
8
|
+
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
9
|
+
equip(itemId: string): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
10
|
+
getInventory(): Promise<import("../types.js").ApiSuccessResponse<InventoryResponse>>;
|
|
11
11
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ApiLike, MediaSearchResult } from "../types";
|
|
1
|
+
import type { ApiLike, MediaSearchResult } from "../types.js";
|
|
2
2
|
export declare function createSourceResource(api: ApiLike): {
|
|
3
|
-
search(source: string, query: string, limit?: number): Promise<import("
|
|
4
|
-
searchYouTube(query: string, limit?: number): Promise<import("
|
|
5
|
-
searchSoundCloud(query: string, limit?: number): Promise<import("
|
|
3
|
+
search(source: string, query: string, limit?: number): Promise<import("../types.js").ApiSuccessResponse<MediaSearchResult[]>>;
|
|
4
|
+
searchYouTube(query: string, limit?: number): Promise<import("../types.js").ApiSuccessResponse<MediaSearchResult[]>>;
|
|
5
|
+
searchSoundCloud(query: string, limit?: number): Promise<import("../types.js").ApiSuccessResponse<MediaSearchResult[]>>;
|
|
6
6
|
searchAll(query: string, limit?: number): Promise<{
|
|
7
7
|
data: {
|
|
8
8
|
youtube: MediaSearchResult[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ApiLike, SystemPublicStats, SystemStatus } from "../types";
|
|
1
|
+
import type { ApiLike, SystemPublicStats, SystemStatus } from "../types.js";
|
|
2
2
|
export declare function createSystemResource(api: ApiLike): {
|
|
3
|
-
status(): Promise<import("
|
|
4
|
-
publicStats(): Promise<import("
|
|
5
|
-
health(): Promise<import("
|
|
3
|
+
status(): Promise<import("../types.js").ApiSuccessResponse<SystemStatus>>;
|
|
4
|
+
publicStats(): Promise<import("../types.js").ApiSuccessResponse<SystemPublicStats>>;
|
|
5
|
+
health(): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
6
6
|
};
|
package/dist/resources/user.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ApiLike, BadgeAssignment, UserProfile } from "../types";
|
|
1
|
+
import type { ApiLike, BadgeAssignment, UserProfile } from "../types.js";
|
|
2
2
|
export declare function createUserResource(api: ApiLike): {
|
|
3
|
-
getById(userId: string): Promise<import("
|
|
4
|
-
getByUsername(username: string): Promise<import("
|
|
5
|
-
getBadges(userId: string): Promise<import("
|
|
6
|
-
listAllBadges(): Promise<import("
|
|
3
|
+
getById(userId: string): Promise<import("../types.js").ApiSuccessResponse<UserProfile>>;
|
|
4
|
+
getByUsername(username: string): Promise<import("../types.js").ApiSuccessResponse<UserProfile>>;
|
|
5
|
+
getBadges(userId: string): Promise<import("../types.js").ApiSuccessResponse<BadgeAssignment[]>>;
|
|
6
|
+
listAllBadges(): Promise<import("../types.js").ApiSuccessResponse<BadgeAssignment[]>>;
|
|
7
7
|
};
|
package/dist/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type ApiQuery = Record<string, ApiQueryValue>;
|
|
|
4
4
|
export type AuthMode = "session" | "auth-token" | "room-bot" | "none";
|
|
5
5
|
export type ApiParseMode = "json" | "text" | "void";
|
|
6
6
|
export type FetchImplementation = typeof fetch;
|
|
7
|
-
export type WavezApiLocale = "en" | "pt-BR";
|
|
7
|
+
export type WavezApiLocale = "en-US" | "pt-BR";
|
|
8
8
|
export type WavezApiMessageKey = "fetchUnavailable" | "baseUrlRequired" | "requestTimedOut" | "roomPermissionManageRoom" | "roomNotFound" | "roomBotInvalid" | "roomBotScopeMismatch" | "roomBotOwnerMissing" | "roomBotOwnerBanned" | "roomBotPermissionDenied" | "roomBotForbidden" | "roomBotTokenRequired" | "roomBotMuted" | "roomBotWebsocketFactoryRequired" | "roomBotWebsocketListenerUnsupported" | "roomBotWebsocketNotConnected" | "roomBotWebsocketCreateFailed" | "roomBotWebsocketConnectFailed" | "roomBotCreateNameLengthInvalid" | "roomBotCreateAvatarUrlInvalid" | "roomBotCreateAvatarUrlDirectImageRequired" | "roomBotCreatePermissionsArrayRequired" | "roomBotCreatePermissionInvalid" | "roomBotCreatePermissionRequired" | "roomBotCreatePrefixLengthInvalid" | "roomBotCreatePrefixWhitespaceInvalid" | "roomBotCreateExpiryNumberInvalid" | "roomBotCreateExpiryRangeInvalid";
|
|
9
9
|
export type WavezApiMessageValues = Record<string, string | number | boolean | null | undefined>;
|
|
10
10
|
export type WavezApiMessages = Partial<Record<WavezApiMessageKey, string>>;
|
|
@@ -129,6 +129,73 @@ export interface RoomSummary {
|
|
|
129
129
|
} | null;
|
|
130
130
|
[key: string]: unknown;
|
|
131
131
|
}
|
|
132
|
+
export interface RoomQueueUser {
|
|
133
|
+
internalId: string;
|
|
134
|
+
publicId?: number | null;
|
|
135
|
+
id?: number | null;
|
|
136
|
+
username: string;
|
|
137
|
+
displayName: string;
|
|
138
|
+
avatar?: string | null;
|
|
139
|
+
avatarId?: string | null;
|
|
140
|
+
role?: string | null;
|
|
141
|
+
platformRole?: string | null;
|
|
142
|
+
level?: number | null;
|
|
143
|
+
infiniteLevel?: boolean;
|
|
144
|
+
bot?: boolean;
|
|
145
|
+
[key: string]: unknown;
|
|
146
|
+
}
|
|
147
|
+
export interface RoomQueueEntry extends RoomQueueUser {
|
|
148
|
+
index: number;
|
|
149
|
+
position: number;
|
|
150
|
+
isCurrentDj: boolean;
|
|
151
|
+
estimatedWaitSeconds: number | null;
|
|
152
|
+
estimatedWaitMinutes: number | null;
|
|
153
|
+
trackDurationSeconds: number | null;
|
|
154
|
+
}
|
|
155
|
+
export interface RoomQueueViewerStatus {
|
|
156
|
+
internalId?: string | null;
|
|
157
|
+
publicId?: number | null;
|
|
158
|
+
isQueued: boolean;
|
|
159
|
+
isCurrentDj: boolean;
|
|
160
|
+
index: number | null;
|
|
161
|
+
position: number | null;
|
|
162
|
+
estimatedWaitSeconds: number | null;
|
|
163
|
+
estimatedWaitMinutes: number | null;
|
|
164
|
+
[key: string]: unknown;
|
|
165
|
+
}
|
|
166
|
+
export interface RoomQueuePlayback {
|
|
167
|
+
trackId?: string | null;
|
|
168
|
+
source?: string | null;
|
|
169
|
+
sourceId?: string | null;
|
|
170
|
+
title?: string | null;
|
|
171
|
+
artist?: string | null;
|
|
172
|
+
currentDjId?: string | null;
|
|
173
|
+
currentDjUsername?: string | null;
|
|
174
|
+
durationSeconds: number | null;
|
|
175
|
+
remainingSeconds: number | null;
|
|
176
|
+
[key: string]: unknown;
|
|
177
|
+
}
|
|
178
|
+
export interface RoomQueueSnapshot {
|
|
179
|
+
roomId?: string | null;
|
|
180
|
+
roomSlug?: string | null;
|
|
181
|
+
count: number;
|
|
182
|
+
locked: boolean;
|
|
183
|
+
cycleEnabled: boolean;
|
|
184
|
+
entries: RoomQueueEntry[];
|
|
185
|
+
waitlist: RoomQueueEntry[];
|
|
186
|
+
queueUserIds: string[];
|
|
187
|
+
waitlistIds: string[];
|
|
188
|
+
currentDj: RoomQueueUser | null;
|
|
189
|
+
viewer: RoomQueueViewerStatus | null;
|
|
190
|
+
playback: RoomQueuePlayback | null;
|
|
191
|
+
queueTrackDurationsSeconds: Record<string, number>;
|
|
192
|
+
[key: string]: unknown;
|
|
193
|
+
}
|
|
194
|
+
export interface RoomQueueStatusResponse {
|
|
195
|
+
success?: boolean;
|
|
196
|
+
data: RoomQueueSnapshot;
|
|
197
|
+
[key: string]: unknown;
|
|
198
|
+
}
|
|
132
199
|
export interface PlaylistSummary {
|
|
133
200
|
id: string;
|
|
134
201
|
name: string;
|
|
@@ -256,6 +323,11 @@ export interface RoomBotState {
|
|
|
256
323
|
roomId: string;
|
|
257
324
|
actorUserId: string;
|
|
258
325
|
roomRole?: string;
|
|
326
|
+
actorPlatformRole?: string | null;
|
|
327
|
+
actorPlatformRoles?: string[];
|
|
328
|
+
actorCustomGlobalRoles?: Array<Record<string, unknown>>;
|
|
329
|
+
actorGlobalPermissions?: Record<string, unknown>;
|
|
330
|
+
actorIsPlatformSuperuser?: boolean;
|
|
259
331
|
name: string;
|
|
260
332
|
avatarUrl?: string | null;
|
|
261
333
|
commandPrefix: string;
|
|
@@ -267,6 +339,32 @@ export interface RoomBotState {
|
|
|
267
339
|
snapshot: Record<string, unknown>;
|
|
268
340
|
customEmojis: unknown[];
|
|
269
341
|
}
|
|
342
|
+
export type RoomPresenceEventType = "user_joined" | "user_left";
|
|
343
|
+
export interface RoomPresenceEvent {
|
|
344
|
+
id: string;
|
|
345
|
+
roomId: string;
|
|
346
|
+
event: RoomPresenceEventType;
|
|
347
|
+
occurredAt: string;
|
|
348
|
+
payload: Record<string, unknown>;
|
|
349
|
+
}
|
|
350
|
+
export interface RoomBotEventsResponse {
|
|
351
|
+
bot: RoomBotState["bot"];
|
|
352
|
+
events: RoomPresenceEvent[];
|
|
353
|
+
}
|
|
354
|
+
export interface RoomBotQueueAddResponse {
|
|
355
|
+
bot: RoomBotState["bot"];
|
|
356
|
+
queue: string[];
|
|
357
|
+
alreadyQueued: boolean;
|
|
358
|
+
targetUserId: string;
|
|
359
|
+
publicPosition: number | null;
|
|
360
|
+
}
|
|
361
|
+
export interface RoomBotMessageReplyInput {
|
|
362
|
+
id: string;
|
|
363
|
+
}
|
|
364
|
+
export interface RoomBotSendMessageInput {
|
|
365
|
+
content: string;
|
|
366
|
+
replyTo?: RoomBotMessageReplyInput | null;
|
|
367
|
+
}
|
|
270
368
|
export interface SystemPublicStats {
|
|
271
369
|
rooms?: number;
|
|
272
370
|
onlineUsers?: number;
|
|
@@ -345,6 +443,9 @@ export interface RoomBotRealtimeOptions {
|
|
|
345
443
|
botToken: string;
|
|
346
444
|
roomId: string;
|
|
347
445
|
autoJoinRoom?: boolean;
|
|
446
|
+
autoReconnect?: boolean;
|
|
447
|
+
reconnectDelayMs?: number;
|
|
448
|
+
reconnectMaxDelayMs?: number;
|
|
348
449
|
logging?: boolean;
|
|
349
450
|
protocols?: string | string[];
|
|
350
451
|
locale?: WavezApiLocale;
|
|
@@ -367,6 +468,7 @@ export interface RoomBotRealtimeClient {
|
|
|
367
468
|
joinRoom(roomId?: string): void;
|
|
368
469
|
leaveRoom(roomId?: string): void;
|
|
369
470
|
ping(): void;
|
|
471
|
+
sendChat(input: RoomBotSendMessageInput, requestId?: string): void;
|
|
370
472
|
on(event: string, handler: (packet: WsPacket<Record<string, unknown>>) => void): () => void;
|
|
371
473
|
off(event: string, handler: (packet: WsPacket<Record<string, unknown>>) => void): void;
|
|
372
474
|
once(event: string, handler: (packet: WsPacket<Record<string, unknown>>) => void): () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function formatMentionText(value: string): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function escapeMentionName(value) {
|
|
2
|
+
return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
3
|
+
}
|
|
4
|
+
export function formatMentionText(value) {
|
|
5
|
+
const mentionName = value.trim().replace(/\s+/g, " ");
|
|
6
|
+
if (!mentionName) {
|
|
7
|
+
return "@";
|
|
8
|
+
}
|
|
9
|
+
if (/[\s"\\]/.test(mentionName)) {
|
|
10
|
+
return `@"${escapeMentionName(mentionName)}"`;
|
|
11
|
+
}
|
|
12
|
+
return `@${mentionName}`;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AAAA,SAAS,iBAAiB,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEtD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,WAAW,EAAE,CAAC;AAC7B,CAAC"}
|