1.1.0 • Published 2 months ago

@distube/deezer v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@distube/deezer

A DisTube custom plugin for supporting Deezer URL.

Feature

This plugin grabs the songs on Deezer then searches on YouTube and plays with DisTube.

Installation

npm install @distube/deezer@latest

Usage

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()],
});

Documentation

DeezerPlugin(DeezerPluginOptions)

  • DeezerPluginOptions.parallel: Default is true. Whether or not searching the playlist in parallel.
  • DeezerPluginOptions.emitEventsAfterFetching: Default is false. Emits addList and playSong event before or after fetching all the songs.

    If false, DisTube plays the first song -> emits addList and playSong events -> fetches all the rest\ If true, DisTube plays the first song -> fetches all the rest -> emits addList and playSong events

Example

new DeezerPlugin({
  parallel: true,
  emitEventsAfterFetching: false,
});
Use SoundCloudPlugin to search instead of YouTube
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],
});