kawalink 1.2.14 → 1.2.16

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 (58) hide show
  1. package/@dist/index.d.ts +8 -0
  2. package/@dist/index.d.ts.map +1 -0
  3. package/@dist/index.js +25 -0
  4. package/@dist/index.js.map +1 -0
  5. package/@dist/structures/Filters.d.ts +76 -0
  6. package/@dist/structures/Filters.d.ts.map +1 -0
  7. package/@dist/structures/Filters.js +169 -0
  8. package/@dist/structures/Filters.js.map +1 -0
  9. package/@dist/structures/Manager.d.ts +114 -0
  10. package/@dist/structures/Manager.d.ts.map +1 -0
  11. package/@dist/structures/Manager.js +250 -0
  12. package/@dist/structures/Manager.js.map +1 -0
  13. package/@dist/structures/Node.d.ts +83 -0
  14. package/@dist/structures/Node.d.ts.map +1 -0
  15. package/@dist/structures/Node.js +470 -0
  16. package/@dist/structures/Node.js.map +1 -0
  17. package/@dist/structures/Player.d.ts +107 -0
  18. package/@dist/structures/Player.d.ts.map +1 -0
  19. package/@dist/structures/Player.js +435 -0
  20. package/@dist/structures/Player.js.map +1 -0
  21. package/@dist/structures/Queue.d.ts +23 -0
  22. package/@dist/structures/Queue.d.ts.map +1 -0
  23. package/@dist/structures/Queue.js +134 -0
  24. package/@dist/structures/Queue.js.map +1 -0
  25. package/@dist/structures/Utils.d.ts +131 -0
  26. package/@dist/structures/Utils.d.ts.map +1 -0
  27. package/@dist/structures/Utils.js +172 -0
  28. package/@dist/structures/Utils.js.map +1 -0
  29. package/@dist/structures/rest/V3RestHandler.d.ts +38 -0
  30. package/@dist/structures/rest/V3RestHandler.d.ts.map +1 -0
  31. package/@dist/structures/rest/V3RestHandler.js +116 -0
  32. package/@dist/structures/rest/V3RestHandler.js.map +1 -0
  33. package/@dist/structures/rest/V4RestHandler.d.ts +38 -0
  34. package/@dist/structures/rest/V4RestHandler.d.ts.map +1 -0
  35. package/@dist/structures/rest/V4RestHandler.js +116 -0
  36. package/@dist/structures/rest/V4RestHandler.js.map +1 -0
  37. package/@dist/utils/Database.d.ts +17 -0
  38. package/@dist/utils/Database.d.ts.map +1 -0
  39. package/@dist/utils/Database.js +108 -0
  40. package/@dist/utils/Database.js.map +1 -0
  41. package/@dist/utils/FiltersEqualizers.d.ts +10 -0
  42. package/@dist/utils/FiltersEqualizers.d.ts.map +1 -0
  43. package/@dist/utils/FiltersEqualizers.js +85 -0
  44. package/@dist/utils/FiltersEqualizers.js.map +1 -0
  45. package/@dist/utils/ManagerCheck.d.ts +3 -0
  46. package/@dist/utils/ManagerCheck.d.ts.map +1 -0
  47. package/@dist/utils/ManagerCheck.js +36 -0
  48. package/@dist/utils/ManagerCheck.js.map +1 -0
  49. package/@dist/utils/NodeCheck.d.ts +3 -0
  50. package/@dist/utils/NodeCheck.d.ts.map +1 -0
  51. package/@dist/utils/NodeCheck.js +46 -0
  52. package/@dist/utils/NodeCheck.js.map +1 -0
  53. package/@dist/utils/PlayerCheck.d.ts +3 -0
  54. package/@dist/utils/PlayerCheck.d.ts.map +1 -0
  55. package/@dist/utils/PlayerCheck.js +31 -0
  56. package/@dist/utils/PlayerCheck.js.map +1 -0
  57. package/README.md +306 -42
  58. package/package.json +3 -2
@@ -0,0 +1,8 @@
1
+ export * from "./structures/Manager";
2
+ export * from "./structures/Node";
3
+ export * from "./structures/Player";
4
+ export * from "./structures/Queue";
5
+ export * from "./structures/Utils";
6
+ export * from "./structures/Filters";
7
+ export declare const version = "1.2.16";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,sBAAsB,CAAC;AAKrC,cAAc,mBAAmB,CAAC;AAKlC,cAAc,qBAAqB,CAAC;AAKpC,cAAc,oBAAoB,CAAC;AAKnC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,sBAAsB,CAAC;AAKrC,eAAO,MAAM,OAAO,WAAW,CAAC"}
package/@dist/index.js ADDED
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.version = void 0;
18
+ __exportStar(require("./structures/Manager"), exports);
19
+ __exportStar(require("./structures/Node"), exports);
20
+ __exportStar(require("./structures/Player"), exports);
21
+ __exportStar(require("./structures/Queue"), exports);
22
+ __exportStar(require("./structures/Utils"), exports);
23
+ __exportStar(require("./structures/Filters"), exports);
24
+ exports.version = "1.2.16";
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,uDAAqC;AAKrC,oDAAkC;AAKlC,sDAAoC;AAKpC,qDAAmC;AAKnC,qDAAmC;AAEnC,uDAAqC;AAKxB,QAAA,OAAO,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { Band } from "../utils/FiltersEqualizers";
2
+ import { Player } from "./Player";
3
+ export declare class Filters {
4
+ distortion: distortionOptions | null;
5
+ equalizer: Band[];
6
+ karaoke: karaokeOptions | null;
7
+ player: Player;
8
+ rotation: rotationOptions | null;
9
+ timescale: timescaleOptions | null;
10
+ vibrato: vibratoOptions | null;
11
+ volume: number;
12
+ private filterStatus;
13
+ constructor(player: Player);
14
+ updateFilters(): Promise<this>;
15
+ private applyFilter;
16
+ private setFilterStatus;
17
+ setEqualizer(bands?: Band[]): this;
18
+ eightD(): this;
19
+ bassBoost(): this;
20
+ nightcore(): this;
21
+ slowmo(): this;
22
+ soft(): this;
23
+ tv(): this;
24
+ trebleBass(): this;
25
+ vaporwave(): this;
26
+ distort(): this;
27
+ setKaraoke(karaoke?: karaokeOptions): this;
28
+ setTimescale(timescale?: timescaleOptions): this;
29
+ setVibrato(vibrato?: vibratoOptions): this;
30
+ setRotation(rotation?: rotationOptions): this;
31
+ setDistortion(distortion?: distortionOptions): this;
32
+ clearFilters(): Promise<this>;
33
+ getFilterStatus(filter: keyof availableFilters): boolean;
34
+ }
35
+ interface timescaleOptions {
36
+ speed?: number;
37
+ pitch?: number;
38
+ rate?: number;
39
+ }
40
+ interface vibratoOptions {
41
+ frequency: number;
42
+ depth: number;
43
+ }
44
+ interface rotationOptions {
45
+ rotationHz: number;
46
+ }
47
+ interface karaokeOptions {
48
+ level?: number;
49
+ monoLevel?: number;
50
+ filterBand?: number;
51
+ filterWidth?: number;
52
+ }
53
+ interface distortionOptions {
54
+ sinOffset?: number;
55
+ sinScale?: number;
56
+ cosOffset?: number;
57
+ cosScale?: number;
58
+ tanOffset?: number;
59
+ tanScale?: number;
60
+ offset?: number;
61
+ scale?: number;
62
+ }
63
+ interface availableFilters {
64
+ bassboost: boolean;
65
+ distort: boolean;
66
+ eightD: boolean;
67
+ karaoke: boolean;
68
+ nightcore: boolean;
69
+ slowmo: boolean;
70
+ soft: boolean;
71
+ trebleBass: boolean;
72
+ tv: boolean;
73
+ vaporwave: boolean;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=Filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filters.d.ts","sourceRoot":"","sources":["../../src/structures/Filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAA2F,MAAM,4BAA4B,CAAC;AAC3I,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,qBAAa,OAAO;IACZ,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAC5C,SAAS,EAAE,IAAI,EAAE,CAAM;IACvB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAQ;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAQ;IACxC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAC1C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAQ;IACtC,MAAM,EAAE,MAAM,CAAO;IAC5B,OAAO,CAAC,YAAY,CAWlB;gBAEU,MAAM,EAAE,MAAM;IAQb,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3C,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,eAAe;IAUhB,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI;IAQlC,MAAM,IAAI,IAAI;IAQd,SAAS,IAAI,IAAI;IAQjB,SAAS,IAAI,IAAI;IAYjB,MAAM,IAAI,IAAI;IAYd,IAAI,IAAI,IAAI;IAQZ,EAAE,IAAI,IAAI;IAQV,UAAU,IAAI,IAAI;IAQlB,SAAS,IAAI,IAAI;IAQjB,OAAO,IAAI,IAAI;IAkBf,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IAY1C,YAAY,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAShD,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IAS1C,WAAW,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI;IAS7C,aAAa,CAAC,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAQ7C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BnC,eAAe,CAAC,MAAM,EAAE,MAAM,gBAAgB,GAAG,OAAO;CAG/D;AAKD,UAAU,gBAAgB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAKD,UAAU,cAAc;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACd;AAKD,UAAU,eAAe;IACxB,UAAU,EAAE,MAAM,CAAC;CACnB;AAKD,UAAU,cAAc;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,UAAU,iBAAiB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,UAAU,gBAAgB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Filters = void 0;
13
+ const FiltersEqualizers_1 = require("../utils/FiltersEqualizers");
14
+ class Filters {
15
+ constructor(player) {
16
+ this.distortion = null;
17
+ this.equalizer = [];
18
+ this.karaoke = null;
19
+ this.rotation = null;
20
+ this.timescale = null;
21
+ this.vibrato = null;
22
+ this.volume = 1.0;
23
+ this.filterStatus = {
24
+ bassboost: false,
25
+ distort: false,
26
+ eightD: false,
27
+ karaoke: false,
28
+ nightcore: false,
29
+ slowmo: false,
30
+ soft: false,
31
+ trebleBass: false,
32
+ tv: false,
33
+ vaporwave: false,
34
+ };
35
+ this.player = player;
36
+ }
37
+ updateFilters() {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const { distortion, equalizer, karaoke, rotation, timescale, vibrato, volume } = this;
40
+ try {
41
+ yield this.player.node.rest.updatePlayer({
42
+ data: {
43
+ filters: {
44
+ distortion,
45
+ equalizer,
46
+ karaoke,
47
+ rotation,
48
+ timescale,
49
+ vibrato,
50
+ volume,
51
+ },
52
+ },
53
+ guildId: this.player.guild,
54
+ });
55
+ this.player.manager.emit("filtersUpdate", this.player);
56
+ }
57
+ catch (error) {
58
+ this.player.manager.emit("filtersError", this.player, error instanceof Error ? error : new Error(String(error)));
59
+ }
60
+ return this;
61
+ });
62
+ }
63
+ applyFilter(filter, updateFilters = true) {
64
+ this[filter.property] = filter.value;
65
+ if (updateFilters) {
66
+ this.updateFilters();
67
+ }
68
+ return this;
69
+ }
70
+ setFilterStatus(filter, status) {
71
+ this.filterStatus[filter] = status;
72
+ return this;
73
+ }
74
+ setEqualizer(bands) {
75
+ return this.applyFilter({ property: "equalizer", value: bands });
76
+ }
77
+ eightD() {
78
+ return this.setRotation({ rotationHz: 0.2 }).setFilterStatus("eightD", true);
79
+ }
80
+ bassBoost() {
81
+ return this.setEqualizer(FiltersEqualizers_1.bassBoostEqualizer).setFilterStatus("bassboost", true);
82
+ }
83
+ nightcore() {
84
+ return this.setTimescale({
85
+ speed: 1.1,
86
+ pitch: 1.125,
87
+ rate: 1.05,
88
+ }).setFilterStatus("nightcore", true);
89
+ }
90
+ slowmo() {
91
+ return this.setTimescale({
92
+ speed: 0.7,
93
+ pitch: 1.0,
94
+ rate: 0.8,
95
+ }).setFilterStatus("slowmo", true);
96
+ }
97
+ soft() {
98
+ return this.setEqualizer(FiltersEqualizers_1.softEqualizer).setFilterStatus("soft", true);
99
+ }
100
+ tv() {
101
+ return this.setEqualizer(FiltersEqualizers_1.tvEqualizer).setFilterStatus("tv", true);
102
+ }
103
+ trebleBass() {
104
+ return this.setEqualizer(FiltersEqualizers_1.trebleBassEqualizer).setFilterStatus("trebleBass", true);
105
+ }
106
+ vaporwave() {
107
+ return this.setEqualizer(FiltersEqualizers_1.vaporwaveEqualizer).setTimescale({ pitch: 0.55 }).setFilterStatus("vaporwave", true);
108
+ }
109
+ distort() {
110
+ return this.setDistortion({
111
+ sinOffset: 0,
112
+ sinScale: 0.2,
113
+ cosOffset: 0,
114
+ cosScale: 0.2,
115
+ tanOffset: 0,
116
+ tanScale: 0.2,
117
+ offset: 0,
118
+ scale: 1.2,
119
+ }).setFilterStatus("distort", true);
120
+ }
121
+ setKaraoke(karaoke) {
122
+ return this.applyFilter({
123
+ property: "karaoke",
124
+ value: karaoke,
125
+ }).setFilterStatus("karaoke", true);
126
+ }
127
+ setTimescale(timescale) {
128
+ return this.applyFilter({ property: "timescale", value: timescale });
129
+ }
130
+ setVibrato(vibrato) {
131
+ return this.applyFilter({ property: "vibrato", value: vibrato });
132
+ }
133
+ setRotation(rotation) {
134
+ return this.applyFilter({ property: "rotation", value: rotation });
135
+ }
136
+ setDistortion(distortion) {
137
+ return this.applyFilter({ property: "distortion", value: distortion });
138
+ }
139
+ clearFilters() {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ this.filterStatus = {
142
+ bassboost: false,
143
+ distort: false,
144
+ eightD: false,
145
+ karaoke: false,
146
+ nightcore: false,
147
+ slowmo: false,
148
+ soft: false,
149
+ trebleBass: false,
150
+ tv: false,
151
+ vaporwave: false,
152
+ };
153
+ this.player.filters = new Filters(this.player);
154
+ this.setEqualizer([]);
155
+ this.setDistortion(null);
156
+ this.setKaraoke(null);
157
+ this.setRotation(null);
158
+ this.setTimescale(null);
159
+ this.setVibrato(null);
160
+ yield this.updateFilters();
161
+ return this;
162
+ });
163
+ }
164
+ getFilterStatus(filter) {
165
+ return this.filterStatus[filter];
166
+ }
167
+ }
168
+ exports.Filters = Filters;
169
+ //# sourceMappingURL=Filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filters.js","sourceRoot":"","sources":["../../src/structures/Filters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import { LoadType, PlayerUpdate, Plugin, TrackData, TrackEndEvent, TrackExceptionEvent, TrackStartEvent, TrackStuckEvent, VoicePacket, VoiceServer, WebSocketClosedEvent } from "./Utils";
2
+ import { Collection } from "@discordjs/collection";
3
+ import { EventEmitter } from "events";
4
+ import { Node, NodeOptions, NodeStats } from "./Node";
5
+ import { Player, PlayerOptions, Track, UnresolvedTrack } from "./Player";
6
+ import { VoiceState } from "..";
7
+ import { Database } from "../utils/Database";
8
+ export declare const REQUIRED_KEYS: string[];
9
+ export declare const REQUIRED_PAYLOAD_KEYS: string[];
10
+ export interface Manager {
11
+ on(event: "nodeCreate", listener: (node: Node) => void): this;
12
+ on(event: "nodeDestroy", listener: (node: Node) => void): this;
13
+ on(event: "nodeConnect", listener: (node: Node) => void): this;
14
+ on(event: "nodeReconnect", listener: (node: Node) => void): this;
15
+ on(event: "nodeDisconnect", listener: (node: Node, reason: {
16
+ code?: number;
17
+ reason?: string;
18
+ }) => void): this;
19
+ on(event: "nodeError", listener: (node: Node, error: Error) => void): this;
20
+ on(event: "nodeRaw", listener: (payload: unknown) => void): this;
21
+ on(event: "nodeStats", listener: (node: Node, stats: NodeStats) => void): this;
22
+ on(event: "nodeResume", listener: (node: Node, players: number) => void): this;
23
+ on(event: "playerCreate", listener: (player: Player) => void): this;
24
+ on(event: "playerUpdate", listener: (player: Player, state: PlayerUpdate["state"]) => void): this;
25
+ on(event: "playerPause", listener: (player: Player, paused: boolean) => void): this;
26
+ on(event: "playerVolumeChange", listener: (player: Player, volume: number) => void): this;
27
+ on(event: "queueUpdate", listener: (player: Player) => void): this;
28
+ on(event: "filtersUpdate", listener: (player: Player) => void): this;
29
+ on(event: "filtersError", listener: (player: Player, error: Error) => void): this;
30
+ on(event: "playerDestroy", listener: (player: Player) => void): this;
31
+ on(event: "queueEnd", listener: (player: Player, track: Track | UnresolvedTrack, payload: TrackEndEvent) => void): this;
32
+ on(event: "playerMove", listener: (player: Player, initChannel: string, newChannel: string) => void): this;
33
+ on(event: "playerDisconnect", listener: (player: Player, oldChannel: string) => void): this;
34
+ on(event: "trackStart", listener: (player: Player, track: Track, payload: TrackStartEvent) => void): this;
35
+ on(event: "trackEnd", listener: (player: Player, track: Track, payload: TrackEndEvent) => void): this;
36
+ on(event: "trackStuck", listener: (player: Player, track: Track, payload: TrackStuckEvent) => void): this;
37
+ on(event: "trackError", listener: (player: Player, track: Track | UnresolvedTrack, payload: TrackExceptionEvent) => void): this;
38
+ on(event: "socketClosed", listener: (player: Player, payload: WebSocketClosedEvent) => void): this;
39
+ }
40
+ export declare class Manager extends EventEmitter {
41
+ static readonly DEFAULT_SOURCES: Record<SearchPlatform, string>;
42
+ readonly players: Collection<string, Player>;
43
+ readonly nodes: Collection<string, Node>;
44
+ readonly options: ManagerOptions;
45
+ db: Database;
46
+ private initiated;
47
+ get leastUsedNodes(): Collection<string, Node>;
48
+ get leastLoadNodes(): Collection<string, Node>;
49
+ get idealNodes(): Collection<string, Node>;
50
+ constructor(options: ManagerOptions);
51
+ init(clientId?: string): this;
52
+ search(query: string | SearchQuery, requester?: unknown): Promise<SearchResult>;
53
+ decodeTracks(tracks: string[]): Promise<TrackData[]>;
54
+ decodeTrack(track: string): Promise<TrackData>;
55
+ create(options: PlayerOptions): Player;
56
+ get(guild: string): Player | undefined;
57
+ destroy(guild: string): void;
58
+ createNode(options: NodeOptions): Node;
59
+ destroyNode(identifier: string): void;
60
+ updateVoiceState(data: VoicePacket | VoiceServer | VoiceState): Promise<void>;
61
+ private sendVoiceUpdate;
62
+ }
63
+ export interface Payload {
64
+ op: number;
65
+ d: {
66
+ guild_id: string;
67
+ channel_id: string | null;
68
+ self_mute: boolean;
69
+ self_deaf: boolean;
70
+ };
71
+ }
72
+ export interface ManagerOptions {
73
+ nodes?: NodeOptions[];
74
+ clientId?: string;
75
+ clientName?: string;
76
+ shards?: number;
77
+ plugins?: Plugin[];
78
+ autoPlay?: boolean;
79
+ trackPartial?: string[];
80
+ defaultSearchPlatform?: SearchPlatform;
81
+ autoMove?: boolean;
82
+ autoResume?: boolean;
83
+ send(id: string, payload: Payload): void;
84
+ }
85
+ export type SearchPlatform = "deezer" | "soundcloud" | "youtube music" | "youtube" | "spotify";
86
+ export interface SearchQuery {
87
+ source?: SearchPlatform | string;
88
+ query: string;
89
+ }
90
+ export interface LavalinkResponse {
91
+ loadType: LoadType;
92
+ data: TrackData | TrackData[] | PlaylistRawData;
93
+ }
94
+ export interface SearchResult {
95
+ loadType: LoadType;
96
+ tracks: Track[];
97
+ playlist?: PlaylistData;
98
+ }
99
+ export interface PlaylistRawData {
100
+ info: {
101
+ name: string;
102
+ };
103
+ pluginInfo: {
104
+ url?: string;
105
+ };
106
+ tracks: TrackData[];
107
+ }
108
+ export interface PlaylistData {
109
+ name: string;
110
+ duration: number;
111
+ tracks: Track[];
112
+ url: string | null;
113
+ }
114
+ //# sourceMappingURL=Manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Manager.d.ts","sourceRoot":"","sources":["../../src/structures/Manager.ts"],"names":[],"mappings":"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"}