A DisTube custom plugin for supporting Deezer URL.
This plugin grabs the songs on Deezer then searches on YouTube and plays with DisTube.
npm install @distube/deezer@latest
const Discord = require("discord.js");
const client = new Discord.Client();
const { DisTube } = require("distube");
const { DeezerPlugin } = require("@distube/deezer");
const distube = new DisTube(client, {
plugins: [new DeezerPlugin()],
});
DeezerPluginOptions.parallel
: Default istrue
. Whether or not searching the playlist in parallel.DeezerPluginOptions.emitEventsAfterFetching
: Default isfalse
. EmitsaddList
andplaySong
event before or after fetching all the songs.If
false
, DisTube plays the first song -> emitsaddList
andplaySong
events -> fetches all the rest
Iftrue
, DisTube plays the first song -> fetches all the rest -> emitsaddList
andplaySong
events
new DeezerPlugin({
parallel: true,
emitEventsAfterFetching: false,
});
import { DisTube } from "distube";
import { DeezerPlugin } from "@distube/deezer";
import { SoundCloudPlugin } from "@distube/soundcloud";
const scPlugin = new SoundCloudPlugin();
class NewDeezerPlugin extends DeezerPlugin {
override async search(query: string, metadata: any) {
try {
return new Song((await scPlugin.search(query, { limit: 1 }))[0], { metadata });
} catch {
return null;
}
}
}
const distube = new DisTube(client, {
plugins: [new NewDeezerPlugin(), scPlugin],
});