@distube/spotify

A DisTube custom plugin for supporting Spotify.

Usage no npm install needed!

<script type="module">
  import distubeSpotify from 'https://cdn.skypack.dev/@distube/spotify';
</script>

README

npm peer dependency version npm GitHub Repo stars Discord

@distube/spotify

A DisTube custom plugin for supporting Spotify URL.

Feature

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

Installation

npm install @distube/spotify@latest

Usage

const Discord = require("discord.js");
const client = new Discord.Client();

const { DisTube } = require("distube");
const { SpotifyPlugin } = require("@distube/spotify");
const distube = new DisTube(client, {
  plugins: [new SpotifyPlugin()],
});

Documentation

SpotifyPlugin([SpotifyPluginOptions])

  • SpotifyPluginOptions.parallel: Default is true. Whether or not searching the playlist in parallel.
  • SpotifyPluginOptions.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

  • SpotifyPluginOptions.api: (Optional) Spotify API Client credentials. Uses to fetch playlists/albums more than Spotify embeds limit (100 songs).
    • SpotifyPluginOptions.api.clientId: Client ID of your Spotify application
    • SpotifyPluginOptions.api.clientSecret: Client Secret of your Spotify application

Example

new SpotifyPlugin({
  parallel: true,
  emitEventsAfterFetching: false,
  api: {
    clientId: "SpotifyAppClientID",
    clientSecret: "SpotifyAppClientSecret",
  },
});