kawalink 1.0.3 → 1.2.14

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 (57) hide show
  1. package/package.json +3 -4
  2. package/@dist/index.d.ts +0 -8
  3. package/@dist/index.d.ts.map +0 -1
  4. package/@dist/index.js +0 -25
  5. package/@dist/index.js.map +0 -1
  6. package/@dist/structures/Filters.d.ts +0 -76
  7. package/@dist/structures/Filters.d.ts.map +0 -1
  8. package/@dist/structures/Filters.js +0 -170
  9. package/@dist/structures/Filters.js.map +0 -1
  10. package/@dist/structures/Manager.d.ts +0 -104
  11. package/@dist/structures/Manager.d.ts.map +0 -1
  12. package/@dist/structures/Manager.js +0 -228
  13. package/@dist/structures/Manager.js.map +0 -1
  14. package/@dist/structures/Node.d.ts +0 -76
  15. package/@dist/structures/Node.d.ts.map +0 -1
  16. package/@dist/structures/Node.js +0 -389
  17. package/@dist/structures/Node.js.map +0 -1
  18. package/@dist/structures/Player.d.ts +0 -102
  19. package/@dist/structures/Player.d.ts.map +0 -1
  20. package/@dist/structures/Player.js +0 -388
  21. package/@dist/structures/Player.js.map +0 -1
  22. package/@dist/structures/Queue.d.ts +0 -14
  23. package/@dist/structures/Queue.d.ts.map +0 -1
  24. package/@dist/structures/Queue.js +0 -83
  25. package/@dist/structures/Queue.js.map +0 -1
  26. package/@dist/structures/Utils.d.ts +0 -131
  27. package/@dist/structures/Utils.d.ts.map +0 -1
  28. package/@dist/structures/Utils.js +0 -172
  29. package/@dist/structures/Utils.js.map +0 -1
  30. package/@dist/structures/rest/V3RestHandler.d.ts +0 -36
  31. package/@dist/structures/rest/V3RestHandler.d.ts.map +0 -1
  32. package/@dist/structures/rest/V3RestHandler.js +0 -85
  33. package/@dist/structures/rest/V3RestHandler.js.map +0 -1
  34. package/@dist/structures/rest/V4RestHandler.d.ts +0 -36
  35. package/@dist/structures/rest/V4RestHandler.d.ts.map +0 -1
  36. package/@dist/structures/rest/V4RestHandler.js +0 -85
  37. package/@dist/structures/rest/V4RestHandler.js.map +0 -1
  38. package/@dist/utils/Database.d.ts +0 -17
  39. package/@dist/utils/Database.d.ts.map +0 -1
  40. package/@dist/utils/Database.js +0 -108
  41. package/@dist/utils/Database.js.map +0 -1
  42. package/@dist/utils/FiltersEqualizers.d.ts +0 -10
  43. package/@dist/utils/FiltersEqualizers.d.ts.map +0 -1
  44. package/@dist/utils/FiltersEqualizers.js +0 -85
  45. package/@dist/utils/FiltersEqualizers.js.map +0 -1
  46. package/@dist/utils/ManagerCheck.d.ts +0 -3
  47. package/@dist/utils/ManagerCheck.d.ts.map +0 -1
  48. package/@dist/utils/ManagerCheck.js +0 -36
  49. package/@dist/utils/ManagerCheck.js.map +0 -1
  50. package/@dist/utils/NodeCheck.d.ts +0 -3
  51. package/@dist/utils/NodeCheck.d.ts.map +0 -1
  52. package/@dist/utils/NodeCheck.js +0 -40
  53. package/@dist/utils/NodeCheck.js.map +0 -1
  54. package/@dist/utils/PlayerCheck.d.ts +0 -3
  55. package/@dist/utils/PlayerCheck.d.ts.map +0 -1
  56. package/@dist/utils/PlayerCheck.js +0 -31
  57. package/@dist/utils/PlayerCheck.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kawalink",
3
- "version": "1.0.3",
3
+ "version": "1.2.14",
4
4
  "description": "The best lavalink client for discord.js easy for use, thx fork from sakulink",
5
5
  "keywords": [
6
6
  "performance",
@@ -20,8 +20,7 @@
20
20
  ],
21
21
  "scripts": {
22
22
  "test": "echo \"Error: no test specified\" && exit 1",
23
- "build": "tsc",
24
- "prepublishOnly": "npm run build"
23
+ "build": "tsc"
25
24
  },
26
25
  "dependencies": {
27
26
  "@discordjs/collection": "^2.1.1",
@@ -34,4 +33,4 @@
34
33
  "@types/node": "^22.5.2",
35
34
  "@types/ws": "^8.5.12"
36
35
  }
37
- }
36
+ }
package/@dist/index.d.ts DELETED
@@ -1,8 +0,0 @@
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.12";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,25 +0,0 @@
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.12";
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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"}
@@ -1,76 +0,0 @@
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
@@ -1 +0,0 @@
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;IAWhB,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"}
@@ -1,170 +0,0 @@
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
- console.log("Filters updated successfully.");
56
- }
57
- catch (error) {
58
- console.error("Error updating filters:", 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
- console.log(`Filter ${filter} status set to ${status}`);
73
- return this;
74
- }
75
- setEqualizer(bands) {
76
- return this.applyFilter({ property: "equalizer", value: bands });
77
- }
78
- eightD() {
79
- return this.setRotation({ rotationHz: 0.2 }).setFilterStatus("eightD", true);
80
- }
81
- bassBoost() {
82
- return this.setEqualizer(FiltersEqualizers_1.bassBoostEqualizer).setFilterStatus("bassboost", true);
83
- }
84
- nightcore() {
85
- return this.setTimescale({
86
- speed: 1.1,
87
- pitch: 1.125,
88
- rate: 1.05,
89
- }).setFilterStatus("nightcore", true);
90
- }
91
- slowmo() {
92
- return this.setTimescale({
93
- speed: 0.7,
94
- pitch: 1.0,
95
- rate: 0.8,
96
- }).setFilterStatus("slowmo", true);
97
- }
98
- soft() {
99
- return this.setEqualizer(FiltersEqualizers_1.softEqualizer).setFilterStatus("soft", true);
100
- }
101
- tv() {
102
- return this.setEqualizer(FiltersEqualizers_1.tvEqualizer).setFilterStatus("tv", true);
103
- }
104
- trebleBass() {
105
- return this.setEqualizer(FiltersEqualizers_1.trebleBassEqualizer).setFilterStatus("trebleBass", true);
106
- }
107
- vaporwave() {
108
- return this.setEqualizer(FiltersEqualizers_1.vaporwaveEqualizer).setTimescale({ pitch: 0.55 }).setFilterStatus("vaporwave", true);
109
- }
110
- distort() {
111
- return this.setDistortion({
112
- sinOffset: 0,
113
- sinScale: 0.2,
114
- cosOffset: 0,
115
- cosScale: 0.2,
116
- tanOffset: 0,
117
- tanScale: 0.2,
118
- offset: 0,
119
- scale: 1.2,
120
- }).setFilterStatus("distort", true);
121
- }
122
- setKaraoke(karaoke) {
123
- return this.applyFilter({
124
- property: "karaoke",
125
- value: karaoke,
126
- }).setFilterStatus("karaoke", true);
127
- }
128
- setTimescale(timescale) {
129
- return this.applyFilter({ property: "timescale", value: timescale });
130
- }
131
- setVibrato(vibrato) {
132
- return this.applyFilter({ property: "vibrato", value: vibrato });
133
- }
134
- setRotation(rotation) {
135
- return this.applyFilter({ property: "rotation", value: rotation });
136
- }
137
- setDistortion(distortion) {
138
- return this.applyFilter({ property: "distortion", value: distortion });
139
- }
140
- clearFilters() {
141
- return __awaiter(this, void 0, void 0, function* () {
142
- this.filterStatus = {
143
- bassboost: false,
144
- distort: false,
145
- eightD: false,
146
- karaoke: false,
147
- nightcore: false,
148
- slowmo: false,
149
- soft: false,
150
- trebleBass: false,
151
- tv: false,
152
- vaporwave: false,
153
- };
154
- this.player.filters = new Filters(this.player);
155
- this.setEqualizer([]);
156
- this.setDistortion(null);
157
- this.setKaraoke(null);
158
- this.setRotation(null);
159
- this.setTimescale(null);
160
- this.setVibrato(null);
161
- yield this.updateFilters();
162
- return this;
163
- });
164
- }
165
- getFilterStatus(filter) {
166
- return this.filterStatus[filter];
167
- }
168
- }
169
- exports.Filters = Filters;
170
- //# sourceMappingURL=Filters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Filters.js","sourceRoot":"","sources":["../../src/structures/Filters.ts"],"names":[],"mappings":"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"}
@@ -1,104 +0,0 @@
1
- import { LoadType, 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 } 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: "playerCreate", listener: (player: Player) => void): this;
22
- on(event: "playerDestroy", listener: (player: Player) => void): this;
23
- on(event: "queueEnd", listener: (player: Player, track: Track | UnresolvedTrack, payload: TrackEndEvent) => void): this;
24
- on(event: "playerMove", listener: (player: Player, initChannel: string, newChannel: string) => void): this;
25
- on(event: "playerDisconnect", listener: (player: Player, oldChannel: string) => void): this;
26
- on(event: "trackStart", listener: (player: Player, track: Track, payload: TrackStartEvent) => void): this;
27
- on(event: "trackEnd", listener: (player: Player, track: Track, payload: TrackEndEvent) => void): this;
28
- on(event: "trackStuck", listener: (player: Player, track: Track, payload: TrackStuckEvent) => void): this;
29
- on(event: "trackError", listener: (player: Player, track: Track | UnresolvedTrack, payload: TrackExceptionEvent) => void): this;
30
- on(event: "socketClosed", listener: (player: Player, payload: WebSocketClosedEvent) => void): this;
31
- }
32
- export declare class Manager extends EventEmitter {
33
- static readonly DEFAULT_SOURCES: Record<SearchPlatform, string>;
34
- readonly players: Collection<string, Player>;
35
- readonly nodes: Collection<string, Node>;
36
- readonly options: ManagerOptions;
37
- db: Database;
38
- private initiated;
39
- get leastUsedNodes(): Collection<string, Node>;
40
- get leastLoadNodes(): Collection<string, Node>;
41
- constructor(options: ManagerOptions);
42
- init(clientId?: string): this;
43
- search(query: string | SearchQuery, requester?: unknown): Promise<SearchResult>;
44
- decodeTracks(tracks: string[]): Promise<TrackData[]>;
45
- decodeTrack(track: string): Promise<TrackData>;
46
- create(options: PlayerOptions): Player;
47
- get(guild: string): Player | undefined;
48
- destroy(guild: string): void;
49
- createNode(options: NodeOptions): Node;
50
- destroyNode(identifier: string): void;
51
- updateVoiceState(data: VoicePacket | VoiceServer | VoiceState): Promise<void>;
52
- }
53
- export interface Payload {
54
- op: number;
55
- d: {
56
- guild_id: string;
57
- channel_id: string | null;
58
- self_mute: boolean;
59
- self_deaf: boolean;
60
- };
61
- }
62
- export interface ManagerOptions {
63
- nodes?: NodeOptions[];
64
- clientId?: string;
65
- clientName?: string;
66
- shards?: number;
67
- plugins?: Plugin[];
68
- autoPlay?: boolean;
69
- trackPartial?: string[];
70
- defaultSearchPlatform?: SearchPlatform;
71
- autoMove?: boolean;
72
- autoResume?: boolean;
73
- send(id: string, payload: Payload): void;
74
- }
75
- export type SearchPlatform = "deezer" | "soundcloud" | "youtube music" | "youtube" | "spotify";
76
- export interface SearchQuery {
77
- source?: SearchPlatform | string;
78
- query: string;
79
- }
80
- export interface LavalinkResponse {
81
- loadType: LoadType;
82
- data: TrackData[] | PlaylistRawData;
83
- }
84
- export interface SearchResult {
85
- loadType: LoadType;
86
- tracks: Track[];
87
- playlist?: PlaylistData;
88
- }
89
- export interface PlaylistRawData {
90
- info: {
91
- name: string;
92
- };
93
- pluginInfo: {
94
- url: string;
95
- };
96
- tracks: TrackData[];
97
- }
98
- export interface PlaylistData {
99
- name: string;
100
- duration: number;
101
- tracks: Track[];
102
- url: string;
103
- }
104
- //# sourceMappingURL=Manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Manager.d.ts","sourceRoot":"","sources":["../../src/structures/Manager.ts"],"names":[],"mappings":"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"}
@@ -1,228 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.Manager = exports.REQUIRED_PAYLOAD_KEYS = exports.REQUIRED_KEYS = void 0;
16
- const Utils_1 = require("./Utils");
17
- const collection_1 = require("@discordjs/collection");
18
- const events_1 = require("events");
19
- const __1 = require("..");
20
- const Database_1 = require("../utils/Database");
21
- const ManagerCheck_1 = __importDefault(require("../utils/ManagerCheck"));
22
- exports.REQUIRED_KEYS = ["event", "guild_id", "op", "sessionId"];
23
- exports.REQUIRED_PAYLOAD_KEYS = exports.REQUIRED_KEYS;
24
- class Manager extends events_1.EventEmitter {
25
- get leastUsedNodes() {
26
- return this.nodes.filter((node) => node.connected).sort((a, b) => a.stats.playingPlayers - b.stats.playingPlayers);
27
- }
28
- get leastLoadNodes() {
29
- return this.nodes
30
- .filter((node) => node.connected)
31
- .sort((a, b) => {
32
- const aload = a.stats.cpu ? (a.stats.cpu.lavalinkLoad / a.stats.cpu.cores) * 100 : 0;
33
- const bload = b.stats.cpu ? (b.stats.cpu.lavalinkLoad / b.stats.cpu.cores) * 100 : 0;
34
- return aload - bload;
35
- });
36
- }
37
- constructor(options) {
38
- super();
39
- this.players = new collection_1.Collection();
40
- this.nodes = new collection_1.Collection();
41
- this.db = null;
42
- this.initiated = false;
43
- (0, ManagerCheck_1.default)(options);
44
- Utils_1.Structure.get("Player").init(this);
45
- Utils_1.Structure.get("Node").init(this);
46
- Utils_1.TrackUtils.init(this);
47
- if (options.trackPartial) {
48
- Utils_1.TrackUtils.setTrackPartial(options.trackPartial);
49
- delete options.trackPartial;
50
- }
51
- this.options = Object.assign({ plugins: [], nodes: [], autoPlay: true, clientName: `Kawalink/${__1.version} (https://github.com/x2super/kawalink)`, defaultSearchPlatform: "youtube music", autoMove: true, autoResume: true, shards: 0 }, options);
52
- if (this.options.plugins) {
53
- for (const [index, plugin] of this.options.plugins.entries()) {
54
- if (!(plugin instanceof Utils_1.Plugin))
55
- throw new RangeError(`Plugin at index ${index} does not extend Plugin.`);
56
- plugin.load(this);
57
- }
58
- }
59
- if (this.options.nodes) {
60
- for (const nodeOptions of this.options.nodes)
61
- new (Utils_1.Structure.get("Node"))(nodeOptions);
62
- }
63
- }
64
- init(clientId) {
65
- var _a;
66
- if (this.initiated)
67
- return this;
68
- if (typeof clientId !== "undefined")
69
- this.options.clientId = clientId;
70
- if (typeof this.options.clientId !== "string")
71
- throw new Error('"clientId" set is not type of "string"');
72
- if (!this.options.clientId)
73
- throw new Error('"clientId" is not set. Pass it in Manager#init() or as a option in the constructor.');
74
- this.db = new Database_1.Database(this.options.clientId, ((_a = this.options.shards) !== null && _a !== void 0 ? _a : 0));
75
- for (const node of this.nodes.values()) {
76
- try {
77
- node.connect();
78
- }
79
- catch (err) {
80
- this.emit("nodeError", node, err);
81
- }
82
- }
83
- this.initiated = true;
84
- return this;
85
- }
86
- search(query, requester) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- var _a, _b;
89
- const node = this.nodes.filter((node) => node.connected && node.options.search).size > 0 ? this.nodes.filter((node) => node.connected && node.options.search).first() : this.leastLoadNodes.first();
90
- if (!node)
91
- throw new Error("No available nodes.");
92
- const _query = typeof query === "string" ? { query } : query;
93
- const _source = (_b = Manager.DEFAULT_SOURCES[(_a = _query.source) !== null && _a !== void 0 ? _a : this.options.defaultSearchPlatform]) !== null && _b !== void 0 ? _b : _query.source;
94
- let search = _query.query;
95
- if (!/^https?:\/\//.test(search))
96
- search = `${_source}:${search}`;
97
- try {
98
- const res = (yield node.rest.get(`/${node.options.version}/loadtracks?identifier=${encodeURIComponent(search)}`));
99
- if (!res) {
100
- throw new Error("Query not found.");
101
- }
102
- let searchData = [];
103
- let playlistData;
104
- switch (res.loadType) {
105
- case "search":
106
- searchData = res.data;
107
- break;
108
- case "track":
109
- searchData = [res.data];
110
- break;
111
- case "playlist":
112
- playlistData = res.data;
113
- break;
114
- }
115
- const tracks = searchData.map((track) => Utils_1.TrackUtils.build(track, requester));
116
- const playlist = res.loadType === "playlist"
117
- ? {
118
- name: playlistData.info.name,
119
- tracks: playlistData.tracks.map((track) => Utils_1.TrackUtils.build(track, requester)),
120
- duration: playlistData.tracks.reduce((acc, cur) => acc + (cur.info.length || 0), 0),
121
- url: playlistData.pluginInfo.url,
122
- }
123
- : null;
124
- const result = {
125
- loadType: res.loadType,
126
- tracks: tracks || playlistData.tracks.map((track) => Utils_1.TrackUtils.build(track, requester)),
127
- playlist,
128
- };
129
- return result;
130
- }
131
- catch (err) {
132
- throw new Error(err);
133
- }
134
- });
135
- }
136
- decodeTracks(tracks) {
137
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
138
- const node = this.nodes.filter((node) => node.connected && node.options.search).size > 0 ? this.nodes.filter((node) => node.connected && node.options.search).first() : this.leastLoadNodes.first();
139
- if (!node)
140
- throw new Error("No available nodes.");
141
- const res = (yield node.rest.post(`/${node.options.version}/decodetracks`, JSON.stringify(tracks)).catch((err) => reject(err)));
142
- if (!res) {
143
- return reject(new Error("No data returned from query."));
144
- }
145
- return resolve(res);
146
- }));
147
- }
148
- decodeTrack(track) {
149
- return __awaiter(this, void 0, void 0, function* () {
150
- const res = yield this.decodeTracks([track]);
151
- return res[0];
152
- });
153
- }
154
- create(options) {
155
- if (this.players.has(options.guild))
156
- return this.players.get(options.guild);
157
- return new (Utils_1.Structure.get("Player"))(options);
158
- }
159
- get(guild) {
160
- return this.players.get(guild);
161
- }
162
- destroy(guild) {
163
- this.players.delete(guild);
164
- }
165
- createNode(options) {
166
- if (this.nodes.has(options.identifier || options.host)) {
167
- return this.nodes.get(options.identifier || options.host);
168
- }
169
- return new (Utils_1.Structure.get("Node"))(options);
170
- }
171
- destroyNode(identifier) {
172
- const node = this.nodes.get(identifier);
173
- if (!node)
174
- return;
175
- node.destroy();
176
- this.nodes.delete(identifier);
177
- }
178
- updateVoiceState(data) {
179
- return __awaiter(this, void 0, void 0, function* () {
180
- if ("t" in data && !["VOICE_STATE_UPDATE", "VOICE_SERVER_UPDATE"].includes(data.t))
181
- return;
182
- const voiceState = "d" in data ? data.d : data;
183
- if (!voiceState || (!("token" in voiceState) && !("session_id" in voiceState)))
184
- return;
185
- const player = this.players.get(voiceState.guild_id);
186
- if (!player)
187
- return;
188
- if ("token" in voiceState) {
189
- player.voiceState.event = voiceState;
190
- yield player.node.rest.updatePlayer({
191
- guildId: player.guild,
192
- data: {
193
- voice: {
194
- token: voiceState.token,
195
- endpoint: voiceState.endpoint,
196
- sessionId: player.voiceState.sessionId,
197
- },
198
- },
199
- });
200
- }
201
- else {
202
- if (voiceState.user_id !== this.options.clientId)
203
- return;
204
- if (voiceState.channel_id) {
205
- if (player.voiceChannel !== voiceState.channel_id)
206
- this.emit("playerMove", player, player.voiceChannel, voiceState.channel_id);
207
- player.voiceState.sessionId = voiceState.session_id;
208
- player.voiceChannel = voiceState.channel_id;
209
- }
210
- else {
211
- this.emit("playerDisconnect", player, player.voiceChannel);
212
- player.voiceChannel = null;
213
- player.voiceState = Object.assign({});
214
- player.destroy();
215
- }
216
- }
217
- });
218
- }
219
- }
220
- exports.Manager = Manager;
221
- Manager.DEFAULT_SOURCES = {
222
- "youtube music": "ytmsearch",
223
- youtube: "ytsearch",
224
- soundcloud: "scsearch",
225
- deezer: "dzsearch",
226
- spotify: "spotify"
227
- };
228
- //# sourceMappingURL=Manager.js.map