Added forceskip, fixed blank title tracks some more
This commit is contained in:
parent
3517826f46
commit
b07c0e389e
3 changed files with 21 additions and 3 deletions
18
commands/music/forceskip.js
Normal file
18
commands/music/forceskip.js
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import { skipVotes } from "../../utils/soundplayer.js";
|
||||||
|
import MusicCommand from "../../classes/musicCommand.js";
|
||||||
|
|
||||||
|
class ForceSkipCommand extends MusicCommand {
|
||||||
|
async run() {
|
||||||
|
if (!this.message.channel.guild) return "This command only works in servers!";
|
||||||
|
if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
|
||||||
|
if (!this.message.channel.guild.members.get(this.client.user.id).voiceState.channelID) return "I'm not in a voice channel!";
|
||||||
|
if (!this.message.member.permissions.has("manageChannels")) return "You need to have the `Manage Channels` permission to force skip!";
|
||||||
|
this.connection.player.stop(this.message.channel.guild.id);
|
||||||
|
skipVotes.set(this.message.channel.guild.id, { count: 0, ids: [], max: Math.min(3, this.connection.voiceChannel.voiceMembers.size - 1) });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static description = "Force skips the current song";
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ForceSkipCommand;
|
|
@ -18,7 +18,7 @@ class QueueCommand extends MusicCommand {
|
||||||
const trackList = [];
|
const trackList = [];
|
||||||
const firstTrack = tracks.shift();
|
const firstTrack = tracks.shift();
|
||||||
for (const [i, track] of tracks.entries()) {
|
for (const [i, track] of tracks.entries()) {
|
||||||
trackList.push(`${i + 1}. ${track.info.author} - **${track.info.title}** (${track.info.isStream ? "∞" : format(track.info.length)})`);
|
trackList.push(`${i + 1}. ${track.info.author !== "" ? track.info.author : "(blank)"} - **${track.info.title !== "" ? track.info.title : "(blank)"}** (${track.info.isStream ? "∞" : format(track.info.length)})`);
|
||||||
}
|
}
|
||||||
const pageSize = 5;
|
const pageSize = 5;
|
||||||
const embeds = [];
|
const embeds = [];
|
||||||
|
@ -39,7 +39,7 @@ class QueueCommand extends MusicCommand {
|
||||||
},
|
},
|
||||||
"fields": [{
|
"fields": [{
|
||||||
"name": "🎶 Now Playing",
|
"name": "🎶 Now Playing",
|
||||||
"value": `${firstTrack.info.author} - **${firstTrack.info.title}** (${firstTrack.info.isStream ? "∞" : format(firstTrack.info.length)})`
|
"value": `${firstTrack.info.author !== "" ? firstTrack.info.author : "(blank)"} - **${firstTrack.info.title !== "" ? firstTrack.info.title : "(blank)"}** (${firstTrack.info.isStream ? "∞" : format(firstTrack.info.length)})`
|
||||||
}, {
|
}, {
|
||||||
"name": "🔁 Looping?",
|
"name": "🔁 Looping?",
|
||||||
"value": player.loop ? "Yes" : "No"
|
"value": player.loop ? "Yes" : "No"
|
||||||
|
|
|
@ -78,7 +78,7 @@ export async function play(client, sound, message, music = false) {
|
||||||
});
|
});
|
||||||
|
|
||||||
if (oldQueue && music) {
|
if (oldQueue && music) {
|
||||||
return `Your ${playlistInfo.name ? "playlist" : "tune"} \`${playlistInfo.name ? playlistInfo.name : tracks[0].info.title}\` has been added to the queue!`;
|
return `Your ${playlistInfo.name ? "playlist" : "tune"} \`${playlistInfo.name ? playlistInfo.name : (tracks[0].info.title !== "" ? tracks[0].info.title : "(blank)")}\` has been added to the queue!`;
|
||||||
} else {
|
} else {
|
||||||
nextSong(client, message, connection, tracks[0].track, tracks[0].info, music, voiceChannel, player ? player.loop : false);
|
nextSong(client, message, connection, tracks[0].track, tracks[0].info, music, voiceChannel, player ? player.loop : false);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue