distube-spotify
v0.0.6
Published
A @distube/spotify fork for Distube.
Downloads
20
Maintainers
Readme
distube-spotify
A @distube/spotify fork to better music searches.
Status: beta
Requires DisTube v3.0.0-beta.34 or above
Feature
This plugin grabs the songs on Spotify then searches on YouTube and play with DisTube.
Installation
npm install distube-spotify
Usage
const Discord = require("discord.js");
const DisTube = require("distube");
const { SpotifyPlugin } = require("distube-spotify");
const client = new Discord.Client();
const distube = new DisTube(client, {
searchSongs: 10,
emitNewSongOnly: true,
plugins: [new SpotifyPlugin()],
});
// Now distube.play can play spotify url.
client.on("message", message => {
if (message.author.bot) return;
if (!message.content.startsWith(config.prefix)) return;
const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
const command = args.shift();
if (command === "play") distube.play(message, args.join(" "));
});
Documentation
SpotifyPlugin([SpotifyPluginOptions])
SpotifyPluginOptions.parallel
: Default istrue
. Whether or not searching the playlist in parallel.SpotifyPluginOptions.emitEventsAfterFetching
: Default isfalse
. EmitsaddList
(ifDisTubeOptions.emitAddListWhenCreatingQueue
is enabled) 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
eventsSpotifyPluginOptions.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 applicationSpotifyPluginOptions.api.clientSecret
: Client Secret of your Spotify application
new SpotifyPlugin({
parallel: true,
emitEventsAfterFetching: false,
api: {
clientId: "SpotifyAppClientID",
clientSecret: "SpotifyAppClientSecret",
},
});