Skip to content

discord-player/deezer-extractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discord Player Deezer Extractor

Discord Player Deezer Extractor. An extractor made for discord-player for Deezer support. Deezer extractor works by either making a request to the Deezer API or extracting metadata from the Deezer site. Because we cannot get streams from deezer itself, the extractor uses the extracted data to stream from youtube!

Installing the extractor

npm install discord-player-deezer
# or
yarn add discord-player-deezer

Loading the extractor

CJS

const DeezerExtractor = require("discord-player-deezer").default // or const { default: DeezerExtractor } = require("discord-player-deezer")
const player = getMainPlayerSomehow()

player.extractors.register(DeezerExtractor)

ESM

import { default as DeezerExtractor } from "discord-player-deezer"

const player = getMainPlayerSomehow()

player.extractors.register(DeezerExtractor)

Typescript

import DeezerExtractor from "discord-player-deezer"

const player = getMainPlayerSomehow()

player.extractors.register(DeezerExtractor)

note: be sure to register it before loading the default extractors to make sure any conflicts with discord-player's default attachment extractor is resolved!

That's it! See the magic happen as you bot is now able to play from Deezer URLs

Options

DP Deezer accepts the following options.

interface DeezerOptions {
    forceEngine?: EngineType;
    createStream?: () => Promise<string|Readable>;
    beforeCreateStream?: () => Promise<unknown>|unknown;
}

One thing to keep in mind is, while using the two functions, if you want to access track data, you must you useTrack() function exported by the library. For example ...

player.extractors.register(DeezerExtractor, {
    createStream: () => {
        const track = useTrack()

        return getStreamSomehow(track)
    }
})