Vesion 0.1.0 - Initial Version with First Commands

This commit is contained in:
Raphix
2023-08-20 17:00:50 +02:00
parent 8739acb402
commit f80e23827a
22 changed files with 4114 additions and 9 deletions

View File

@ -0,0 +1,20 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
const { __glob } = require("../modules/global-variables");
const { LogType } = require("../modules/sub-log");
const { List } = require("../modules/sub-list");
const subplayer = require(__glob.SUBPLAYER);
const packageJson = require(__glob.PACKAGE);
module.exports = {
data: new SlashCommandBuilder()
.setName("web")
.setDescription("[NEW] Donne le lien vers le panel !"),
async execute(client, interaction) {
}
}

29
src/commands/about.js Normal file
View File

@ -0,0 +1,29 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
const { __glob } = require("../modules/global-variables");
const packageJson = require(__glob.PACKAGE);
module.exports = {
data: new SlashCommandBuilder()
.setName("about")
.setDescription("[NEW] Affiche les informations principales du bot !"),
async execute(client, interaction) {
const uptime = process.uptime();
const hours = Math.floor(uptime / 3600);
const minutes = Math.floor((uptime % 3600) / 60);
const seconds = Math.floor(uptime % 60);
const embed = new EmbedBuilder()
.setColor(0xb0f542)
.setThumbnail("https://cdn.discordapp.com/avatars/" + client.user.id + "/" + client.user.avatar + ".png")
.setTitle('Subsonics - Web')
.addFields({name: "Version ", value: packageJson.version},{name:"Uptime", value: hours + " heure(s), " + minutes + " minute(s) et " + seconds + " seconde(s)"},{name: "Ping", value: client.ws.ping + " ms"},{name: "Un bot fait par un fan pour les fans !", value: ":heart:"})
.setTimestamp();
interaction.reply({embeds: [embed]})
}
}

33
src/commands/help.js Normal file
View File

@ -0,0 +1,33 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
module.exports = {
data:new SlashCommandBuilder()
.setName("help")
.setDescription("[NEW] Affiche toutes les commandes disponibles du bot"),
async execute(client, interaction) {
const embed = new EmbedBuilder()
.setColor(0x03ff2d)
.setTitle('Comment assister au concert ?')
.setDescription("**Eh ! Tu as eu ton ticket ? Tant mieux ! Voici la liste des commandes à utiliser dans le salon <#664355637685256203>**")
.addFields({name: "/play <nom/playlist>", value: "Cette commande te permet de lire des titres comme des playlists depuis Youtube / SoundCloud / Vimeo, n'importe quelle musique !"},
{name: "/leave", value: "Si tu ne veux plus du meilleur groupe du monde (faire partir le bot), cette commande le fera partir aussi vite qu'il est arrivé !"},
{name: "/pause", value: "Besoin d'un entracte ? Cette commande te permettera de mettre en pause ou de remettre le morceau en cours !"},
{name: "/state", value: "Donne le titre de la musique"},
{name: "/skip", value: "Passer à la chanson suivante."},
{name: "/previous", value: "Revenir à la chanson précédente."},
{name: "/about", value: "Affiche les informations principales !"},
{name: "/web", value: "Donne le lien vers le panel !"})
.setTimestamp()
.addFields({name: "La queue et la gestion du redémarrage se fait par le site https://subsonics.raphix.fr/", value: ":star:"})
.setThumbnail("https://static.wikia.nocookie.net/codelyoko/images/9/95/Subdigitals.jpg/revision/latest/scale-to-width-down/180?cb=20120105180510&path-prefix=fr");
interaction.reply({embeds: [embed]})
}
}

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

@ -0,0 +1,24 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
const { __glob } = require("../modules/global-variables");
const subplayer = require(__glob.SUBPLAYER);
module.exports = {
data: new SlashCommandBuilder()
.setName("leave")
.setDescription("[NEW] Déconnecte le Bot !"),
async execute(client, interaction) {
// CHECK MEMBER IF IN VOICE CHANNEL
if(!interaction.member.voice.channel) return interaction.reply({content:"Vous devez rejoindre un salon vocal pour contrôler le Bot !", ephemeral: true})
subplayer.leave(client, interaction)
}
}

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

@ -0,0 +1,22 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
const { __glob } = require("../modules/global-variables");
const { LogType } = require("../modules/sub-log");
const { List } = require("../modules/sub-list");
const subplayer = require(__glob.SUBPLAYER);
const packageJson = require(__glob.PACKAGE);
module.exports = {
data: new SlashCommandBuilder()
.setName("pause")
.setDescription("[NEW] Cette commande te permettera de mettre en pause ou de remettre le morceau en cours !"),
async execute(client, interaction) {
if(!interaction.member.voice.channel) return interaction.reply({content:"Vous devez rejoindre un salon vocal pour contrôler le Bot !", ephemeral: true})
subplayer.pause(client, interaction)
}
}

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

@ -0,0 +1,27 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
const { __glob } = require("../modules/global-variables");
const subplayer = require(__glob.SUBPLAYER);
module.exports = {
data: new SlashCommandBuilder()
.setName("play")
.setDescription("[NEW] Permet de lire des titres comme des playlists depuis Youtube / SoundCloud / Vimeo !")
.addStringOption(option => option.setName("nom_ou_lien").setDescription("Lien ou nom du titre ou de la playlist").setRequired(true)),
async execute(client, interaction) {
// CHECK MEMBER IF IN VOICE CHANNEL
if(!interaction.member.voice.channel) return interaction.reply({content:"Vous devez rejoindre un salon vocal pour lire un(e) titre / playlist !", ephemeral: true})
//CHECK OF PLAYER
subplayer.play(client, interaction)
}
}

19
src/commands/previous.js Normal file
View File

@ -0,0 +1,19 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
const { __glob } = require("../modules/global-variables");
const { LogType } = require("../modules/sub-log");
const { List } = require("../modules/sub-list");
const subplayer = require(__glob.SUBPLAYER);
const packageJson = require(__glob.PACKAGE);
module.exports = {
data: new SlashCommandBuilder()
.setName("previous")
.setDescription("[NEW] Revenir à la chanson précédente."),
async execute(client, interaction) {
subplayer.previous(client, interaction)
}
}

20
src/commands/skip.js Normal file
View File

@ -0,0 +1,20 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
const { __glob } = require("../modules/global-variables");
const { LogType } = require("../modules/sub-log");
const { List } = require("../modules/sub-list");
const subplayer = require(__glob.SUBPLAYER);
const packageJson = require(__glob.PACKAGE);
module.exports = {
data: new SlashCommandBuilder()
.setName("skip")
.setDescription("[NEW] Passer à la chanson suivante."),
async execute(client, interaction) {
subplayer.skip(client, interaction)
}
}

19
src/commands/state.js Normal file
View File

@ -0,0 +1,19 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
const { __glob } = require("../modules/global-variables");
const { LogType } = require("../modules/sub-log");
const { List } = require("../modules/sub-list");
const subplayer = require(__glob.SUBPLAYER);
const packageJson = require(__glob.PACKAGE);
module.exports = {
data: new SlashCommandBuilder()
.setName("state")
.setDescription("[NEW] Donne le titre de la musique !"),
async execute(client, interaction) {
subplayer.getState(client, interaction)
}
}

24
src/commands/web.js Normal file
View File

@ -0,0 +1,24 @@
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
const { __glob } = require("../modules/global-variables");
const packageJson = require(__glob.PACKAGE);
module.exports = {
data: new SlashCommandBuilder()
.setName("web")
.setDescription("[NEW] Donne le lien vers le panel !"),
async execute(client, interaction) {
const embed = new EmbedBuilder()
.setColor(0xffffff)
.setThumbnail("https://cdn.discordapp.com/avatars/" + client.user.id + "/" + client.user.avatar + ".png")
.setTitle('Subsonics - Web')
.addFields({name: "Lien", value:"https://subsonics.raphix.fr"})
.setTimestamp();
interaction.reply({embeds: [embed]})
}
}