1
0
mirror of https://github.com/musix-org/musix-oss synced 2024-09-20 04:31:56 +00:00

Update play.js

This commit is contained in:
MatteZ02 2020-04-21 13:52:36 +03:00
parent a35355c669
commit 32c476a3f6

View File

@ -1,7 +1,9 @@
const YouTube = require("simple-youtube-api"); const YouTube = require("simple-youtube-api");
const search = require("yt-search"); const search = require("yt-search");
const SpotifyApi = require("spotify-web-api-node"); const SpotifyApi = require("spotify-web-api-node");
const { globaldb } = require("../../index.js"); const {
globaldb
} = require("../../index.js");
module.exports = { module.exports = {
name: "play", name: "play",
@ -17,16 +19,7 @@ module.exports = {
secret: client.config.spotify_client_secret, secret: client.config.spotify_client_secret,
}); });
const dbdata = await globaldb spotify.setAccessToken(client.config.spotify_access_key);
.collection("guilds")
.doc(msg.guild.id)
.get()
.catch((err) => {
console.log("Error getting document", err);
return "error";
});
const accessKey = dbdata.data();
spotify.setAccessToken(accessKey);
const youtube = new YouTube(client.config.api_key); const youtube = new YouTube(client.config.api_key);
const searchString = args.slice(1).join(" "); const searchString = args.slice(1).join(" ");
@ -58,83 +51,83 @@ module.exports = {
const playlistId = url.split("/playlist/")[1].split("?")[0]; const playlistId = url.split("/playlist/")[1].split("?")[0];
spotify.getPlaylist(playlistId).then( spotify.getPlaylist(playlistId).then(
async function (data) { async function (data) {
const lmsg = await msg.channel.send(client.messages.loadingSongs); const lmsg = await msg.channel.send(client.messages.loadingSongs);
let failed = 0; let failed = 0;
for (let i = 0; data.body.tracks.items.length > i; i++) { for (let i = 0; data.body.tracks.items.length > i; i++) {
const track = await data.body.tracks.items[i].track; const track = await data.body.tracks.items[i].track;
await client.funcs.sleep(250); await client.funcs.sleep(250);
await search( await search(
`${track.artists[0].name} ${track.name} audio`, `${track.artists[0].name} ${track.name} audio`,
async function (err, res) { async function (err, res) {
if (err) return console.log(err); if (err) return console.log(err);
if (res.videos.length === 0) { if (res.videos.length === 0) {
await search( await search(
`${track.artists[0].name} ${track.name} lyrics`, `${track.artists[0].name} ${track.name} lyrics`,
async function (err, res) { async function (err, res) {
if (err) return console.log(err); if (err) return console.log(err);
if (res.videos.length === 0) { if (res.videos.length === 0) {
await search( await search(
`${track.artists[0].name} ${track.name}`, `${track.artists[0].name} ${track.name}`,
async function (err, res) { async function (err, res) {
if (err) return console.log(err); if (err) return console.log(err);
if (res.videos.length === 0) { if (res.videos.length === 0) {
failed++; failed++;
return; return;
}
await client.funcs.handleVideo(
res.videos[0],
msg,
voiceChannel,
client,
true,
"ytdl"
);
} }
await client.funcs.handleVideo( );
res.videos[0], return;
msg, }
voiceChannel, await client.funcs.handleVideo(
client, res.videos[0],
true, msg,
"ytdl" voiceChannel,
); client,
} true,
"ytdl"
); );
return;
} }
await client.funcs.handleVideo( );
res.videos[0], failed++;
msg, return;
voiceChannel, }
client, await client.funcs.handleVideo(
true, res.videos[0],
"ytdl" msg,
); voiceChannel,
} client,
true,
"ytdl"
); );
failed++;
return;
} }
await client.funcs.handleVideo( );
res.videos[0], }
msg, let message;
voiceChannel, if (failed === 0) {
client, message = client.messages.playlistAdded.replace(
true, "%TITLE%",
"ytdl" data.body.name
); );
} } else {
); message = `${client.messages.playlistAdded.replace(
}
let message;
if (failed === 0) {
message = client.messages.playlistAdded.replace(
"%TITLE%",
data.body.name
);
} else {
message = `${client.messages.playlistAdded.replace(
"%TITLE%", "%TITLE%",
data.body.name data.body.name
)}\n${client.messages.failedToLoad + failed}`; )}\n${client.messages.failedToLoad + failed}`;
}
lmsg.edit(message);
},
function (err) {
console.log(err);
msg.channel.send(client.messages.noResultsSpotify);
} }
lmsg.edit(message);
},
function (err) {
console.log(err);
msg.channel.send(client.messages.noResultsSpotify);
}
); );
} else if ( } else if (
url.match(/^https?:\/\/(www.youtube.com|youtube.com)\/playlist(.*)$/) url.match(/^https?:\/\/(www.youtube.com|youtube.com)\/playlist(.*)$/)