discord-player-deezer
Advanced tools
Comparing version 2.2.0-dev.0 to 2.2.1-dev.1
@@ -1,2 +0,2 @@ | ||
import { Track, ExtractorStreamable, BaseExtractor, ExtractorSearchContext, Playlist as Playlist$1, ExtractorInfo, Player } from 'discord-player'; | ||
import { Track, ExtractorStreamable, BaseExtractor, SearchQueryType, ExtractorSearchContext, Playlist as Playlist$1, ExtractorInfo, Player } from 'discord-player'; | ||
import { Playlist, Track as Track$1 } from '@mithron/deezer-music-metadata'; | ||
@@ -33,3 +33,3 @@ import * as crypto from 'crypto'; | ||
activate(): Promise<void>; | ||
validate(query: string): Promise<boolean>; | ||
validate(query: string, type: SearchQueryType & "deezer"): Promise<boolean>; | ||
buildPlaylistData(data: Playlist, handleContext: ExtractorSearchContext): Playlist$1; | ||
@@ -36,0 +36,0 @@ handle(query: string, context: ExtractorSearchContext): Promise<ExtractorInfo>; |
@@ -31,4 +31,4 @@ "use strict"; | ||
// src/index.ts | ||
var src_exports = {}; | ||
__export(src_exports, { | ||
var index_exports = {}; | ||
__export(index_exports, { | ||
DeezerExtractor: () => DeezerExtractor, | ||
@@ -46,3 +46,3 @@ Warnings: () => Warnings, | ||
}); | ||
module.exports = __toCommonJS(src_exports); | ||
module.exports = __toCommonJS(index_exports); | ||
@@ -166,2 +166,4 @@ // src/DeezerExtractor.ts | ||
const bufferSize = 2048; | ||
const blowfishDecrypter = new import_blowfish_node.default(new Uint8Array(trackKey), import_blowfish_node.default.MODE.CBC, import_blowfish_node.default.PADDING.NULL); | ||
blowfishDecrypter.setIv(new Uint8Array(IV)); | ||
const passThrough = new import_stream.PassThrough(); | ||
@@ -181,4 +183,2 @@ readable.on("readable", () => { | ||
} | ||
const blowfishDecrypter = new import_blowfish_node.default(new Uint8Array(trackKey), import_blowfish_node.default.MODE.CBC, import_blowfish_node.default.PADDING.NULL); | ||
blowfishDecrypter.setIv(new Uint8Array(IV)); | ||
while (buffer.length >= bufferSize) { | ||
@@ -234,4 +234,4 @@ const bufferSized = buffer.subarray(0, bufferSize); | ||
} | ||
async validate(query) { | ||
return validate(query); | ||
async validate(query, type) { | ||
return validate(query) || type === "deezer"; | ||
} | ||
@@ -257,9 +257,6 @@ buildPlaylistData(data, handleContext) { | ||
async handle(query, context) { | ||
if (!isUrl(query)) { | ||
try { | ||
const tracks = buildTrackFromSearch(await search(query, this.options.searchLimit), this.context.player, context.requestedBy); | ||
return this.createResponse(null, tracks); | ||
} catch { | ||
return this.createResponse(); | ||
} | ||
if (context.protocol === "deezer" && !isUrl(query)) { | ||
const rawSearch = await search(query); | ||
const tracks = buildTrackFromSearch(rawSearch, this.context.player, context.requestedBy); | ||
return this.createResponse(null, tracks); | ||
} | ||
@@ -266,0 +263,0 @@ if (deezerRegex.share.test(query)) { |
{ | ||
"name": "discord-player-deezer", | ||
"version": "2.2.0-dev.0", | ||
"version": "2.2.1-dev.1", | ||
"description": "A custom extractor made for discord-player that enables you to extract from Deezer.", | ||
@@ -13,4 +13,5 @@ "main": "dist/index.js", | ||
"devDependencies": { | ||
"@discord-player/extractor": "^4.5.1", | ||
"discord-player": "^6.7.1", | ||
"@discord-player/extractor": "^7.1.0", | ||
"@types/node": "^22.10.10", | ||
"discord-player": "^7.1.0", | ||
"prettier": "^3.4.2", | ||
@@ -34,4 +35,3 @@ "tslint": "^6.1.3", | ||
"url": "https://github.com/retrouser955/discord-player-deezer/issues" | ||
}, | ||
"packageManager": "yarn@4.5.1+sha512.341db9396b6e289fecc30cd7ab3af65060e05ebff4b3b47547b278b9e67b08f485ecd8c79006b405446262142c7a38154445ef7f17c1d5d1de7d90bf9ce7054d" | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
import { BaseExtractor, ExtractorSearchContext, ExtractorStreamable, Track, Playlist, Util as DPUtil, ExtractorInfo } from "discord-player" | ||
import { BaseExtractor, ExtractorSearchContext, ExtractorStreamable, Track, Playlist, Util as DPUtil, ExtractorInfo, SearchQueryType } from "discord-player" | ||
import { Playlist as DeezerPlaylist, Track as DeezerTrack, getData } from "@mithron/deezer-music-metadata"; | ||
@@ -65,4 +65,4 @@ import { buildTrackFromSearch, deezerRegex, getCrypto, isUrl, search, searchOneTrack, streamTrack, validate } from "./utils/util"; | ||
async validate(query: string): Promise<boolean> { | ||
return validate(query) | ||
async validate(query: string, type: SearchQueryType & "deezer"): Promise<boolean> { | ||
return validate(query) || type === "deezer" | ||
} | ||
@@ -91,12 +91,6 @@ | ||
async handle(query: string, context: ExtractorSearchContext): Promise<ExtractorInfo> { | ||
if(!isUrl(query)) { | ||
// Player is using deezer protocol | ||
try { | ||
const tracks = buildTrackFromSearch(await search(query, this.options.searchLimit), this.context.player, context.requestedBy); | ||
return this.createResponse(null, tracks); | ||
} catch { | ||
// deezer didnt return a good api response | ||
return this.createResponse() | ||
} | ||
if(context.protocol === "deezer" && !isUrl(query)) { | ||
const rawSearch = await search(query) | ||
const tracks = buildTrackFromSearch(rawSearch, this.context.player, context.requestedBy) | ||
return this.createResponse(null, tracks) | ||
} | ||
@@ -103,0 +97,0 @@ |
@@ -21,3 +21,3 @@ import { type Player, Track, Util } from "discord-player"; | ||
try { | ||
/* tslint:disable-next-line */ | ||
/* tslint:disable-next-line no-unused-expression */ | ||
new URL(query) | ||
@@ -169,2 +169,4 @@ return true | ||
const bufferSize = 2048 // 2mb | ||
const blowfishDecrypter = new Blowfish(new Uint8Array(trackKey), Blowfish.MODE.CBC, Blowfish.PADDING.NULL) | ||
blowfishDecrypter.setIv(new Uint8Array(IV)) | ||
@@ -188,5 +190,2 @@ const passThrough = new PassThrough() | ||
const blowfishDecrypter = new Blowfish(new Uint8Array(trackKey), Blowfish.MODE.CBC, Blowfish.PADDING.NULL) | ||
blowfishDecrypter.setIv(new Uint8Array(IV)) | ||
while (buffer.length >= bufferSize) { | ||
@@ -193,0 +192,0 @@ const bufferSized = buffer.subarray(0, bufferSize) |
278143
8
692