mirror of
https://github.com/musix-org/musix-oss
synced 2024-12-23 03:33:17 +00:00
Update play.js
This commit is contained in:
parent
a35355c669
commit
32c476a3f6
@ -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(.*)$/)
|
||||||
@ -175,4 +168,4 @@ module.exports = {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user