lavalink-client 1.1.17 → 1.1.19

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.
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bandCampSearch = void 0;
4
4
  const undici_1 = require("undici");
5
- const http_1 = require("http");
6
5
  const bandCampSearch = async (player, query, requestUser) => {
7
6
  let error = null;
8
7
  let tracks = [];
@@ -20,7 +19,7 @@ const bandCampSearch = async (player, query, requestUser) => {
20
19
  author: item.band_name,
21
20
  title: item.name,
22
21
  identifier: item.id ? `${item.id}` : item.url?.split("/").reverse()[0],
23
- }, http_1.request));
22
+ }, requestUser));
24
23
  }
25
24
  catch (e) {
26
25
  error = e;
@@ -120,9 +120,9 @@ class FilterManager {
120
120
  for (const key of [...Object.keys(sendData)]) {
121
121
  // delete disabled filters
122
122
  if (key === "pluginFilters") {
123
- for (const key of [...Object.keys(sendData.pluginFilters)]) {
124
- // if (this.player.node.info && !this.player.node.info?.plugins?.find?.(v => v.name === key)) delete sendData[key];
125
- }
123
+ // for(const key of [...Object.keys(sendData.pluginFilters)]) {
124
+ // if (this.player.node.info && !this.player.node.info?.plugins?.find?.(v => v.name === key)) delete sendData[key];
125
+ // }
126
126
  }
127
127
  else if (this.player.node.info && !this.player.node.info?.filters?.includes?.(key))
128
128
  delete sendData[key];
@@ -1,10 +1,10 @@
1
1
  /// <reference types="node" />
2
+ import internal from "stream";
2
3
  import { Dispatcher, Pool } from "undici";
3
4
  import { NodeManager } from "./NodeManager";
4
- import internal from "stream";
5
- import { InvalidLavalinkRestRequest, LavalinkPlayer, PlayerUpdateInfo, RoutePlanner, Session, Base64, SearchResult, LavaSearchResponse, LavaSearchQuery, SearchQuery } from "./Utils";
6
5
  import { DestroyReasonsType } from "./Player";
7
6
  import { Track } from "./Track";
7
+ import { Base64, InvalidLavalinkRestRequest, LavalinkPlayer, LavaSearchQuery, LavaSearchResponse, PlayerUpdateInfo, RoutePlanner, SearchQuery, SearchResult, Session } from "./Utils";
8
8
  /** Modifies any outgoing REST requests. */
9
9
  export type ModifyRequest = (options: Dispatcher.RequestOptions) => void;
10
10
  export interface LavalinkNodeOptions {
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LavalinkNode = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const ws_1 = tslib_1.__importDefault(require("ws"));
5
+ const path_1 = require("path");
6
6
  const undici_1 = require("undici");
7
- const Utils_1 = require("./Utils");
7
+ const ws_1 = tslib_1.__importDefault(require("ws"));
8
8
  const Player_1 = require("./Player");
9
- const path_1 = require("path");
9
+ const Utils_1 = require("./Utils");
10
10
  class LavalinkNode {
11
11
  /** The provided Options of the Node */
12
12
  options;
@@ -3,7 +3,7 @@ import { LavalinkManager } from "./LavalinkManager";
3
3
  import { LavalinkNode } from "./Node";
4
4
  import { Queue } from "./Queue";
5
5
  import { Track, UnresolvedTrack } from "./Track";
6
- import { LavalinkPlayerVoiceOptions, SearchResult, LavaSearchResponse, LavaSearchQuery, SearchQuery } from "./Utils";
6
+ import { LavalinkPlayerVoiceOptions, LavaSearchQuery, SearchQuery } from "./Utils";
7
7
  type PlayerDestroyReasons = "QueueEmpty" | "NodeDestroy" | "NodeDeleted" | "LavalinkNoVoice" | "NodeReconnectFail" | "PlayerReconnectFail" | "Disconnected" | "ChannelDeleted" | "ReconnectAllNodes" | "DisconnectAllNodes";
8
8
  export type DestroyReasonsType = PlayerDestroyReasons | string;
9
9
  export declare const DestroyReasons: Record<PlayerDestroyReasons, PlayerDestroyReasons>;
@@ -138,13 +138,13 @@ export declare class Player {
138
138
  * @param ignoreVolumeDecrementer If it should ignore the volumedecrementer option
139
139
  */
140
140
  setVolume(volume: number, ignoreVolumeDecrementer?: boolean): Promise<void>;
141
- lavaSearch(query: LavaSearchQuery, requestUser: unknown): Promise<SearchResult | LavaSearchResponse>;
141
+ lavaSearch(query: LavaSearchQuery, requestUser: unknown): Promise<import("./Utils").SearchResult | import("./Utils").LavaSearchResponse>;
142
142
  /**
143
143
  *
144
144
  * @param query Query for your data
145
145
  * @param requestUser
146
146
  */
147
- search(query: SearchQuery, requestUser: unknown): Promise<import("./Utils").UnresolvedSearchResult | SearchResult>;
147
+ search(query: SearchQuery, requestUser: unknown): Promise<import("./Utils").SearchResult | import("./Utils").UnresolvedSearchResult>;
148
148
  /**
149
149
  * Pause the player
150
150
  */
@@ -115,6 +115,8 @@ export interface UnresolvedTrack {
115
115
  encoded?: Base64;
116
116
  /** Track Information */
117
117
  info: UnresolvedTrackInfo;
118
+ /** Plugin Information from Lavalink */
119
+ pluginInfo: Partial<PluginInfo>;
118
120
  /** The Track's Requester */
119
121
  requester?: unknown;
120
122
  }
@@ -1,8 +1,8 @@
1
1
  import { LavalinkFilterData } from "./Filters";
2
2
  import { LavalinkManager } from "./LavalinkManager";
3
3
  import { LavalinkNode, LavalinkNodeOptions, NodeStats } from "./Node";
4
- import { PlayOptions, Player } from "./Player";
5
- import { PluginInfo, Track, UnresolvedTrack, UnresolvedQuery, LavalinkTrack } from "./Track";
4
+ import { Player, PlayOptions } from "./Player";
5
+ import { LavalinkTrack, PluginInfo, Track, UnresolvedQuery, UnresolvedTrack } from "./Track";
6
6
  export declare const TrackSymbol: unique symbol;
7
7
  export declare const UnresolvedTrackSymbol: unique symbol;
8
8
  export declare const QueueSymbol: unique symbol;
@@ -54,6 +54,7 @@ export interface UnresolvedSearchResult {
54
54
  export declare class ManagerUtils {
55
55
  LavalinkManager: LavalinkManager | null;
56
56
  constructor(LavalinkManager?: LavalinkManager);
57
+ buildPluginInfo(data: any, clientData?: any): any;
57
58
  buildTrack(data: LavalinkTrack | Track, requester: unknown): Track;
58
59
  /**
59
60
  * Builds a UnresolvedTrack to be resolved before being played .
@@ -13,6 +13,12 @@ class ManagerUtils {
13
13
  constructor(LavalinkManager) {
14
14
  this.LavalinkManager = LavalinkManager;
15
15
  }
16
+ buildPluginInfo(data, clientData = {}) {
17
+ return {
18
+ clientData: clientData,
19
+ ...(data.pluginInfo || data.plugin || {})
20
+ };
21
+ }
16
22
  buildTrack(data, requester) {
17
23
  if (!data?.encoded || typeof data.encoded !== "string")
18
24
  throw new RangeError("Argument 'data.encoded' must be present.");
@@ -33,7 +39,7 @@ class ManagerUtils {
33
39
  isStream: data.info.isStream,
34
40
  isrc: data.info.isrc,
35
41
  },
36
- pluginInfo: data.pluginInfo || data.plugin || {},
42
+ pluginInfo: this.buildPluginInfo(data),
37
43
  requester: typeof this.LavalinkManager?.options?.playerOptions?.requesterTransformer === "function" ? this.LavalinkManager?.options?.playerOptions?.requesterTransformer(data?.requester || requester) : requester,
38
44
  };
39
45
  Object.defineProperty(r, exports.TrackSymbol, { configurable: true, value: true });
@@ -54,6 +60,7 @@ class ManagerUtils {
54
60
  const unresolvedTrack = {
55
61
  encoded: query.encoded || undefined,
56
62
  info: query.info ? query.info : query.title ? query : undefined,
63
+ pluginInfo: this.buildPluginInfo(query),
57
64
  requester: typeof this.LavalinkManager?.options?.playerOptions?.requesterTransformer === "function" ? this.LavalinkManager?.options?.playerOptions?.requesterTransformer((query?.requester || requester)) : requester,
58
65
  async resolve(player) {
59
66
  const closest = await getClosestTrack(this, player);
@@ -1,5 +1,4 @@
1
1
  import { fetch } from "undici";
2
- import { request } from "http";
3
2
  export const bandCampSearch = async (player, query, requestUser) => {
4
3
  let error = null;
5
4
  let tracks = [];
@@ -17,7 +16,7 @@ export const bandCampSearch = async (player, query, requestUser) => {
17
16
  author: item.band_name,
18
17
  title: item.name,
19
18
  identifier: item.id ? `${item.id}` : item.url?.split("/").reverse()[0],
20
- }, request));
19
+ }, requestUser));
21
20
  }
22
21
  catch (e) {
23
22
  error = e;
@@ -117,9 +117,9 @@ export class FilterManager {
117
117
  for (const key of [...Object.keys(sendData)]) {
118
118
  // delete disabled filters
119
119
  if (key === "pluginFilters") {
120
- for (const key of [...Object.keys(sendData.pluginFilters)]) {
121
- // if (this.player.node.info && !this.player.node.info?.plugins?.find?.(v => v.name === key)) delete sendData[key];
122
- }
120
+ // for(const key of [...Object.keys(sendData.pluginFilters)]) {
121
+ // if (this.player.node.info && !this.player.node.info?.plugins?.find?.(v => v.name === key)) delete sendData[key];
122
+ // }
123
123
  }
124
124
  else if (this.player.node.info && !this.player.node.info?.filters?.includes?.(key))
125
125
  delete sendData[key];
@@ -1,10 +1,10 @@
1
1
  /// <reference types="node" />
2
+ import internal from "stream";
2
3
  import { Dispatcher, Pool } from "undici";
3
4
  import { NodeManager } from "./NodeManager";
4
- import internal from "stream";
5
- import { InvalidLavalinkRestRequest, LavalinkPlayer, PlayerUpdateInfo, RoutePlanner, Session, Base64, SearchResult, LavaSearchResponse, LavaSearchQuery, SearchQuery } from "./Utils";
6
5
  import { DestroyReasonsType } from "./Player";
7
6
  import { Track } from "./Track";
7
+ import { Base64, InvalidLavalinkRestRequest, LavalinkPlayer, LavaSearchQuery, LavaSearchResponse, PlayerUpdateInfo, RoutePlanner, SearchQuery, SearchResult, Session } from "./Utils";
8
8
  /** Modifies any outgoing REST requests. */
9
9
  export type ModifyRequest = (options: Dispatcher.RequestOptions) => void;
10
10
  export interface LavalinkNodeOptions {
@@ -1,8 +1,8 @@
1
- import WebSocket from "ws";
1
+ import { isAbsolute } from "path";
2
2
  import { Pool } from "undici";
3
- import { queueTrackEnd, NodeSymbol } from "./Utils";
3
+ import WebSocket from "ws";
4
4
  import { DestroyReasons } from "./Player";
5
- import { isAbsolute } from "path";
5
+ import { NodeSymbol, queueTrackEnd } from "./Utils";
6
6
  export class LavalinkNode {
7
7
  /** The provided Options of the Node */
8
8
  options;
@@ -3,7 +3,7 @@ import { LavalinkManager } from "./LavalinkManager";
3
3
  import { LavalinkNode } from "./Node";
4
4
  import { Queue } from "./Queue";
5
5
  import { Track, UnresolvedTrack } from "./Track";
6
- import { LavalinkPlayerVoiceOptions, SearchResult, LavaSearchResponse, LavaSearchQuery, SearchQuery } from "./Utils";
6
+ import { LavalinkPlayerVoiceOptions, LavaSearchQuery, SearchQuery } from "./Utils";
7
7
  type PlayerDestroyReasons = "QueueEmpty" | "NodeDestroy" | "NodeDeleted" | "LavalinkNoVoice" | "NodeReconnectFail" | "PlayerReconnectFail" | "Disconnected" | "ChannelDeleted" | "ReconnectAllNodes" | "DisconnectAllNodes";
8
8
  export type DestroyReasonsType = PlayerDestroyReasons | string;
9
9
  export declare const DestroyReasons: Record<PlayerDestroyReasons, PlayerDestroyReasons>;
@@ -138,13 +138,13 @@ export declare class Player {
138
138
  * @param ignoreVolumeDecrementer If it should ignore the volumedecrementer option
139
139
  */
140
140
  setVolume(volume: number, ignoreVolumeDecrementer?: boolean): Promise<void>;
141
- lavaSearch(query: LavaSearchQuery, requestUser: unknown): Promise<SearchResult | LavaSearchResponse>;
141
+ lavaSearch(query: LavaSearchQuery, requestUser: unknown): Promise<import("./Utils").SearchResult | import("./Utils").LavaSearchResponse>;
142
142
  /**
143
143
  *
144
144
  * @param query Query for your data
145
145
  * @param requestUser
146
146
  */
147
- search(query: SearchQuery, requestUser: unknown): Promise<import("./Utils").UnresolvedSearchResult | SearchResult>;
147
+ search(query: SearchQuery, requestUser: unknown): Promise<import("./Utils").SearchResult | import("./Utils").UnresolvedSearchResult>;
148
148
  /**
149
149
  * Pause the player
150
150
  */
@@ -115,6 +115,8 @@ export interface UnresolvedTrack {
115
115
  encoded?: Base64;
116
116
  /** Track Information */
117
117
  info: UnresolvedTrackInfo;
118
+ /** Plugin Information from Lavalink */
119
+ pluginInfo: Partial<PluginInfo>;
118
120
  /** The Track's Requester */
119
121
  requester?: unknown;
120
122
  }
@@ -1,8 +1,8 @@
1
1
  import { LavalinkFilterData } from "./Filters";
2
2
  import { LavalinkManager } from "./LavalinkManager";
3
3
  import { LavalinkNode, LavalinkNodeOptions, NodeStats } from "./Node";
4
- import { PlayOptions, Player } from "./Player";
5
- import { PluginInfo, Track, UnresolvedTrack, UnresolvedQuery, LavalinkTrack } from "./Track";
4
+ import { Player, PlayOptions } from "./Player";
5
+ import { LavalinkTrack, PluginInfo, Track, UnresolvedQuery, UnresolvedTrack } from "./Track";
6
6
  export declare const TrackSymbol: unique symbol;
7
7
  export declare const UnresolvedTrackSymbol: unique symbol;
8
8
  export declare const QueueSymbol: unique symbol;
@@ -54,6 +54,7 @@ export interface UnresolvedSearchResult {
54
54
  export declare class ManagerUtils {
55
55
  LavalinkManager: LavalinkManager | null;
56
56
  constructor(LavalinkManager?: LavalinkManager);
57
+ buildPluginInfo(data: any, clientData?: any): any;
57
58
  buildTrack(data: LavalinkTrack | Track, requester: unknown): Track;
58
59
  /**
59
60
  * Builds a UnresolvedTrack to be resolved before being played .
@@ -10,6 +10,12 @@ export class ManagerUtils {
10
10
  constructor(LavalinkManager) {
11
11
  this.LavalinkManager = LavalinkManager;
12
12
  }
13
+ buildPluginInfo(data, clientData = {}) {
14
+ return {
15
+ clientData: clientData,
16
+ ...(data.pluginInfo || data.plugin || {})
17
+ };
18
+ }
13
19
  buildTrack(data, requester) {
14
20
  if (!data?.encoded || typeof data.encoded !== "string")
15
21
  throw new RangeError("Argument 'data.encoded' must be present.");
@@ -30,7 +36,7 @@ export class ManagerUtils {
30
36
  isStream: data.info.isStream,
31
37
  isrc: data.info.isrc,
32
38
  },
33
- pluginInfo: data.pluginInfo || data.plugin || {},
39
+ pluginInfo: this.buildPluginInfo(data),
34
40
  requester: typeof this.LavalinkManager?.options?.playerOptions?.requesterTransformer === "function" ? this.LavalinkManager?.options?.playerOptions?.requesterTransformer(data?.requester || requester) : requester,
35
41
  };
36
42
  Object.defineProperty(r, TrackSymbol, { configurable: true, value: true });
@@ -51,6 +57,7 @@ export class ManagerUtils {
51
57
  const unresolvedTrack = {
52
58
  encoded: query.encoded || undefined,
53
59
  info: query.info ? query.info : query.title ? query : undefined,
60
+ pluginInfo: this.buildPluginInfo(query),
54
61
  requester: typeof this.LavalinkManager?.options?.playerOptions?.requesterTransformer === "function" ? this.LavalinkManager?.options?.playerOptions?.requesterTransformer((query?.requester || requester)) : requester,
55
62
  async resolve(player) {
56
63
  const closest = await getClosestTrack(this, player);
@@ -1,10 +1,10 @@
1
1
  /// <reference types="node" />
2
+ import internal from "stream";
2
3
  import { Dispatcher, Pool } from "undici";
3
4
  import { NodeManager } from "./NodeManager";
4
- import internal from "stream";
5
- import { InvalidLavalinkRestRequest, LavalinkPlayer, PlayerUpdateInfo, RoutePlanner, Session, Base64, SearchResult, LavaSearchResponse, LavaSearchQuery, SearchQuery } from "./Utils";
6
5
  import { DestroyReasonsType } from "./Player";
7
6
  import { Track } from "./Track";
7
+ import { Base64, InvalidLavalinkRestRequest, LavalinkPlayer, LavaSearchQuery, LavaSearchResponse, PlayerUpdateInfo, RoutePlanner, SearchQuery, SearchResult, Session } from "./Utils";
8
8
  /** Modifies any outgoing REST requests. */
9
9
  export type ModifyRequest = (options: Dispatcher.RequestOptions) => void;
10
10
  export interface LavalinkNodeOptions {
@@ -3,7 +3,7 @@ import { LavalinkManager } from "./LavalinkManager";
3
3
  import { LavalinkNode } from "./Node";
4
4
  import { Queue } from "./Queue";
5
5
  import { Track, UnresolvedTrack } from "./Track";
6
- import { LavalinkPlayerVoiceOptions, SearchResult, LavaSearchResponse, LavaSearchQuery, SearchQuery } from "./Utils";
6
+ import { LavalinkPlayerVoiceOptions, LavaSearchQuery, SearchQuery } from "./Utils";
7
7
  type PlayerDestroyReasons = "QueueEmpty" | "NodeDestroy" | "NodeDeleted" | "LavalinkNoVoice" | "NodeReconnectFail" | "PlayerReconnectFail" | "Disconnected" | "ChannelDeleted" | "ReconnectAllNodes" | "DisconnectAllNodes";
8
8
  export type DestroyReasonsType = PlayerDestroyReasons | string;
9
9
  export declare const DestroyReasons: Record<PlayerDestroyReasons, PlayerDestroyReasons>;
@@ -138,13 +138,13 @@ export declare class Player {
138
138
  * @param ignoreVolumeDecrementer If it should ignore the volumedecrementer option
139
139
  */
140
140
  setVolume(volume: number, ignoreVolumeDecrementer?: boolean): Promise<void>;
141
- lavaSearch(query: LavaSearchQuery, requestUser: unknown): Promise<SearchResult | LavaSearchResponse>;
141
+ lavaSearch(query: LavaSearchQuery, requestUser: unknown): Promise<import("./Utils").SearchResult | import("./Utils").LavaSearchResponse>;
142
142
  /**
143
143
  *
144
144
  * @param query Query for your data
145
145
  * @param requestUser
146
146
  */
147
- search(query: SearchQuery, requestUser: unknown): Promise<import("./Utils").UnresolvedSearchResult | SearchResult>;
147
+ search(query: SearchQuery, requestUser: unknown): Promise<import("./Utils").SearchResult | import("./Utils").UnresolvedSearchResult>;
148
148
  /**
149
149
  * Pause the player
150
150
  */
@@ -115,6 +115,8 @@ export interface UnresolvedTrack {
115
115
  encoded?: Base64;
116
116
  /** Track Information */
117
117
  info: UnresolvedTrackInfo;
118
+ /** Plugin Information from Lavalink */
119
+ pluginInfo: Partial<PluginInfo>;
118
120
  /** The Track's Requester */
119
121
  requester?: unknown;
120
122
  }
@@ -1,8 +1,8 @@
1
1
  import { LavalinkFilterData } from "./Filters";
2
2
  import { LavalinkManager } from "./LavalinkManager";
3
3
  import { LavalinkNode, LavalinkNodeOptions, NodeStats } from "./Node";
4
- import { PlayOptions, Player } from "./Player";
5
- import { PluginInfo, Track, UnresolvedTrack, UnresolvedQuery, LavalinkTrack } from "./Track";
4
+ import { Player, PlayOptions } from "./Player";
5
+ import { LavalinkTrack, PluginInfo, Track, UnresolvedQuery, UnresolvedTrack } from "./Track";
6
6
  export declare const TrackSymbol: unique symbol;
7
7
  export declare const UnresolvedTrackSymbol: unique symbol;
8
8
  export declare const QueueSymbol: unique symbol;
@@ -54,6 +54,7 @@ export interface UnresolvedSearchResult {
54
54
  export declare class ManagerUtils {
55
55
  LavalinkManager: LavalinkManager | null;
56
56
  constructor(LavalinkManager?: LavalinkManager);
57
+ buildPluginInfo(data: any, clientData?: any): any;
57
58
  buildTrack(data: LavalinkTrack | Track, requester: unknown): Track;
58
59
  /**
59
60
  * Builds a UnresolvedTrack to be resolved before being played .
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lavalink-client",
3
- "version": "1.1.17",
3
+ "version": "1.1.19",
4
4
  "description": "Easy, flexible and feature-rich lavalink@v4 Client. Both for Beginners and Proficients.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",