discord-player / deezer-extractor

Official deezer extractor for Discord Player

Home Page:https://discord-player.js.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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)
    }
})

About

Official deezer extractor for Discord Player

https://discord-player.js.org

License:Creative Commons Zero v1.0 Universal


Languages

Language:TypeScript 100.0%