First Version

This commit is contained in:
Raphix
2023-04-10 14:52:23 +02:00
parent 02c8262d4c
commit 23814fbb24
12 changed files with 1603 additions and 10 deletions

37
src/commands/leave.js Normal file
View File

@ -0,0 +1,37 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
module.exports = {
data:new SlashCommandBuilder()
.setName("leave")
.setDescription("Faire partir le meilleur groupe du monde !"),
async execute(client, interaction) {
if(!interaction.member.voice.channel) return interaction.reply({content:"Vous devez rejoindre un salon vocal !", ephemeral: true})
let player = client.manager.players.get(interaction.guild.id)
if(player) {
player.disconnect()
const embed = new EmbedBuilder()
.setColor(0xff0000)
.setTitle('C\'est tout pour nous !')
.setDescription("**Le meilleur groupe du monde est parti ... !**")
.setTimestamp();
interaction.reply({embeds: [embed]})
} else {
interaction.reply("**Aucune musique n'est actuellement joué !**")
}
}
}

40
src/commands/pause.js Normal file
View File

@ -0,0 +1,40 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
module.exports = {
data: new SlashCommandBuilder()
.setName("pause")
.setDescription("Met en pause la musique joué !"),
async execute(client, interaction) {
if(!interaction.member.voice.channel) return interaction.reply({content:"Vous devez rejoindre un salon vocal !", ephemeral: true})
let player = client.manager.players.get(interaction.guild.id)
if(player) {
if(player.playing) {
const embed = new EmbedBuilder()
.setColor(0x03ff2d)
.setTitle('Pause !')
.setDescription("**Ok, une entracte est demandé par " + interaction.member.user.username + "**")
.setTimestamp();
interaction.reply({embeds: [embed]})
player.pause(true)
} else {
interaction.reply("**Aucune musique n'est actuellement joué !**")
}
} else {
interaction.reply("**Aucune musique n'est actuellement joué !**")
}
}
}

22
src/commands/ping.js Normal file
View File

@ -0,0 +1,22 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
module.exports = {
data: new SlashCommandBuilder()
.setName("ping")
.setDescription("Affiche le ping du bot !"),
async execute(client, interaction) {
const embed = new EmbedBuilder()
.setColor(0xb0f542)
.setTitle('Résultat du ping')
.setDescription("**Ping :** " + client.ws.ping + " ms")
.setTimestamp();
interaction.reply({embeds: [embed]})
}
}

47
src/commands/play.js Normal file
View File

@ -0,0 +1,47 @@
const { EmbedBuilder } = require("@discordjs/builders");
const { SlashCommandBuilder, Embed } = require("discord.js");
module.exports = {
data:new SlashCommandBuilder()
.setName("play")
.setDescription("Lire une musique depuis youtube")
.addStringOption(option => option.setName("nom").setDescription("Le nom de la musique recherché !").setRequired(true)),
async execute(client, interaction) {
const song_name = interaction.options.getString("nom")
if(!interaction.member.voice.channel) return interaction.reply({content:"Vous devez rejoindre un salon vocal !", ephemeral: true})
let player = client.manager.players.get(interaction.guild.id)
if(!player) player = client.manager.create({
guild: interaction.guild.id,
voiceChannel: interaction.member.voice.channel.id,
textChannel: interaction.channel.id,
});
const songs = await client.manager.search(song_name)
player.connect();
player.queue.add(songs.tracks[0])
if(!player.playing) player.play()
console.log(songs.tracks[0])
const embed = new EmbedBuilder()
.setColor(0x15e6ed)
.setTitle('**Lecture de **' + songs.tracks[0].title)
.setDescription('**Demandé par **' + interaction.member.user.username)
.addFields({name: "Auteur", value: songs.tracks[0].author},
{name: "URL", value:songs.tracks[0].uri})
.setThumbnail(songs.tracks[0].thumbnail)
.setTimestamp();
interaction.reply({embeds: [embed]})
}
}

40
src/commands/resume.js Normal file
View File

@ -0,0 +1,40 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
module.exports = {
data: new SlashCommandBuilder()
.setName("resume")
.setDescription("Met en pause la musique joué !"),
async execute(client, interaction) {
if(!interaction.member.voice.channel) return interaction.reply({content:"Vous devez rejoindre un salon vocal !", ephemeral: true})
let player = client.manager.players.get(interaction.guild.id)
if(player) {
if(!player.playing) {
const embed = new EmbedBuilder()
.setColor(0x03ff2d)
.setTitle('C\'est reparti !')
.setDescription("**Ok, Fin de l'entracte, c'est reparti et c'est demandé par " + interaction.member.user.username + "**")
.setTimestamp();
interaction.reply({embeds: [embed]})
player.pause(false)
} else {
interaction.reply("**Aucune musique n'est actuellement joué !**")
}
} else {
interaction.reply("**Aucune musique n'est actuellement joué !**")
}
}
}