mirror of
https://github.com/MinazukiAmane/Tinasha-Bot.git
synced 2025-03-15 19:55:58 +08:00
add more button and reorganize the button
This commit is contained in:
parent
2f956b91b1
commit
09f8822778
@ -20,16 +20,53 @@ module.exports = async (client, player, track) => {
|
|||||||
|
|
||||||
const previous = await player.queue.shiftPrevious();
|
const previous = await player.queue.shiftPrevious();
|
||||||
|
|
||||||
const row = (player) =>
|
const row1 = (player) =>
|
||||||
new ActionRowBuilder().addComponents(
|
new ActionRowBuilder().addComponents(
|
||||||
new ButtonBuilder().setCustomId("previous").setEmoji("⏪").setStyle(ButtonStyle.Secondary).setDisabled(!previous),
|
new ButtonBuilder()
|
||||||
|
.setCustomId("volumedown")
|
||||||
|
.setEmoji("🔉")
|
||||||
|
.setStyle(ButtonStyle.Secondary),
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId("previous")
|
||||||
|
.setEmoji("⏮️")
|
||||||
|
.setStyle(ButtonStyle.Secondary)
|
||||||
|
.setDisabled(!previous),
|
||||||
new ButtonBuilder()
|
new ButtonBuilder()
|
||||||
.setCustomId("pause")
|
.setCustomId("pause")
|
||||||
.setEmoji(player.paused ? "▶️" : "⏸️")
|
.setEmoji(player.paused ? "▶️" : "⏸️")
|
||||||
.setStyle(player.paused ? ButtonStyle.Success : ButtonStyle.Secondary),
|
.setStyle(player.paused ? ButtonStyle.Success : ButtonStyle.Secondary),
|
||||||
new ButtonBuilder().setCustomId("stop").setEmoji("⏹️").setStyle(ButtonStyle.Secondary),
|
new ButtonBuilder()
|
||||||
new ButtonBuilder().setCustomId("skip").setEmoji("⏩").setStyle(ButtonStyle.Secondary),
|
.setCustomId("skip")
|
||||||
new ButtonBuilder().setCustomId("shuffle").setEmoji("🔀").setStyle(ButtonStyle.Secondary)
|
.setEmoji("⏭️")
|
||||||
|
.setStyle(ButtonStyle.Secondary),
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId("volumeup")
|
||||||
|
.setEmoji("🔊")
|
||||||
|
.setStyle(ButtonStyle.Secondary)
|
||||||
|
);
|
||||||
|
|
||||||
|
const row2 = (player) =>
|
||||||
|
new ActionRowBuilder().addComponents(
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId("autoplay")
|
||||||
|
.setEmoji("♾️")
|
||||||
|
.setStyle(player.get("autoplay") ? ButtonStyle.Success : ButtonStyle.Secondary),
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId("loop")
|
||||||
|
.setEmoji("🔁")
|
||||||
|
.setStyle(player.repeatMode === "off" ? ButtonStyle.Secondary : ButtonStyle.Success),
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId("stop")
|
||||||
|
.setEmoji("⏹️")
|
||||||
|
.setStyle(ButtonStyle.Danger),
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId("shuffle")
|
||||||
|
.setEmoji("🔀")
|
||||||
|
.setStyle(ButtonStyle.Secondary),
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId("queue")
|
||||||
|
.setEmoji("📑")
|
||||||
|
.setStyle(ButtonStyle.Secondary)
|
||||||
);
|
);
|
||||||
|
|
||||||
const msg = await channel.safeSend({
|
const msg = await channel.safeSend({
|
||||||
@ -51,7 +88,7 @@ module.exports = async (client, player, track) => {
|
|||||||
{ name: "Author", value: track.info.author || "Unknown", inline: true }
|
{ name: "Author", value: track.info.author || "Unknown", inline: true }
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
components: [row(player)],
|
components: [row1(player), row2(player)],
|
||||||
});
|
});
|
||||||
|
|
||||||
if (msg) player.set("message", msg);
|
if (msg) player.set("message", msg);
|
||||||
@ -83,7 +120,7 @@ module.exports = async (client, player, track) => {
|
|||||||
player.pause();
|
player.pause();
|
||||||
description = "Track paused";
|
description = "Track paused";
|
||||||
}
|
}
|
||||||
await msg.edit({ components: [row(player)] });
|
await msg.edit({ components: [row1(player), row2(player)] });
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "stop":
|
case "stop":
|
||||||
@ -104,7 +141,71 @@ module.exports = async (client, player, track) => {
|
|||||||
description = "The queue has been shuffled!";
|
description = "The queue has been shuffled!";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "volumeup":
|
||||||
|
const newVolUp = Math.min(player.volume + 10, 100);
|
||||||
|
await player.setVolume(newVolUp);
|
||||||
|
description = `Volume increased to \`${newVolUp}%\``;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "volumedown":
|
||||||
|
const newVolDown = Math.max(player.volume - 10, 0);
|
||||||
|
await player.setVolume(newVolDown);
|
||||||
|
description = `Volume decreased to \`${newVolDown}%\``;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "loop":
|
||||||
|
const currentMode = player.repeatMode;
|
||||||
|
if (currentMode === "off") {
|
||||||
|
player.setRepeatMode("track");
|
||||||
|
description = "Loop mode set to `track`";
|
||||||
|
} else if (currentMode === "track") {
|
||||||
|
player.setRepeatMode("queue");
|
||||||
|
description = "Loop mode set to `queue`";
|
||||||
|
} else {
|
||||||
|
player.setRepeatMode("off");
|
||||||
|
description = "Loop mode `disabled`";
|
||||||
}
|
}
|
||||||
|
await msg.edit({ components: [row1(player), row2(player)] });
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "autoplay":
|
||||||
|
const autoplay = !player.get("autoplay");
|
||||||
|
player.set("autoplay", autoplay);
|
||||||
|
description = autoplay ? "Autoplay activated!" : "Autoplay deactivated";
|
||||||
|
await msg.edit({ components: [row1(player), row2(player)] });
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "queue":
|
||||||
|
const queue = player.queue;
|
||||||
|
const tracks = queue.tracks.slice(0, 10); // Get first 10 tracks
|
||||||
|
|
||||||
|
const queueEmbed = new EmbedBuilder()
|
||||||
|
.setColor(EMBED_COLORS.BOT_EMBED)
|
||||||
|
.setAuthor({ name: "Music Queue" })
|
||||||
|
.setDescription(
|
||||||
|
tracks.length > 0
|
||||||
|
? tracks
|
||||||
|
.map((track, i) => `${i + 1}. [${track.info.title}](${track.info.uri})`)
|
||||||
|
.join("\n")
|
||||||
|
: "No tracks in queue"
|
||||||
|
)
|
||||||
|
.addFields({
|
||||||
|
name: "Now Playing",
|
||||||
|
value: `[${queue.current.info.title}](${queue.current.info.uri})`,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (tracks.length > 0) {
|
||||||
|
queueEmbed.setFooter({
|
||||||
|
text: `${queue.tracks.length} track(s) in queue`,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
description = "Queue sent as new message";
|
||||||
|
await channel.send({ embeds: [queueEmbed] });
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
await int.followUp({
|
await int.followUp({
|
||||||
embeds: [new EmbedBuilder().setDescription(description).setColor(EMBED_COLORS.BOT_EMBED)],
|
embeds: [new EmbedBuilder().setDescription(description).setColor(EMBED_COLORS.BOT_EMBED)],
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user