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@latestconst 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. EmitsaddListandplaySongevent before or after fetching all the songs.If
false, DisTube plays the first song -> emitsaddListandplaySongevents -> fetches all the rest
Iftrue, DisTube plays the first song -> fetches all the rest -> emitsaddListandplaySongevents
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],
});