discord-player-play-dl/src/Util.js

31 lines
831 B
JavaScript
Raw Normal View History

const ytsr = require('youtube-sr')
2020-08-14 17:57:32 +05:00
const soundcloud = require('soundcloud-scraper')
2020-08-13 18:21:42 +05:00
const spotifySongRegex = (/https?:\/\/(?:embed\.|open\.)(?:spotify\.com\/)(?:track\/|\?uri=spotify:track:)((\w|-){22})/)
module.exports = class Util {
constructor () {
throw new Error(`The ${this.constructor.name} class may not be instantiated.`)
}
2020-08-14 02:07:54 +05:00
static isVoiceEmpty (channel) {
return channel.members.filter((member) => !member.user.bot).size === 0
}
static isSoundcloudLink (query) {
2020-08-14 17:57:32 +05:00
return soundcloud.validateURL(query)
}
2020-08-13 18:21:42 +05:00
static isSpotifyLink (query) {
return spotifySongRegex.test(query)
}
static isYTPlaylistLink (query) {
return ytsr.validate(query, 'PLAYLIST')
2020-08-13 18:21:42 +05:00
}
static isYTVideoLink (query) {
return ytsr.validate(query, 'VIDEO')
2020-08-13 18:21:42 +05:00
}
}