mirror of
https://github.com/Art-Portal/April.git
synced 2024-11-17 03:57:36 +01:00
93 lines
4.1 KiB
JavaScript
93 lines
4.1 KiB
JavaScript
|
const { SlashCommandBuilder, EmbedBuilder, ButtonBuilder, ActionRowBuilder, SelectMenuBuilder, ChannelType } = require('discord.js');
|
||
|
const SetupTickets = require('./setupcommands/tickets.js');
|
||
|
const SetupPanel = require('./setupcommands/panels.js');
|
||
|
const SetupMod = require('./setupcommands/moderation.js');
|
||
|
|
||
|
module.exports = {
|
||
|
data: new SlashCommandBuilder()
|
||
|
.setName('setup')
|
||
|
.setDescription('Effectuer une mise en place.')
|
||
|
.setDefaultMemberPermissions(0x8)
|
||
|
.addSubcommand(
|
||
|
subcommand =>
|
||
|
subcommand
|
||
|
.setName('tickets')
|
||
|
.setDescription('Mise en place des tickets.')
|
||
|
.addStringOption(option =>
|
||
|
option
|
||
|
.setName('type')
|
||
|
.setDescription('Le type de tickets à mettre en place.')
|
||
|
.setRequired(true)
|
||
|
.setChoices(
|
||
|
{name: 'Commandes', value: 'commands'},
|
||
|
{name: 'Support', value: 'support'},
|
||
|
)
|
||
|
)
|
||
|
.addChannelOption(option =>
|
||
|
option
|
||
|
.setName('channel')
|
||
|
.setDescription('Choisissez le salon où l\'embed sera envoyé !')
|
||
|
.addChannelTypes(ChannelType.GuildText)
|
||
|
.setRequired(true))
|
||
|
)
|
||
|
.addSubcommand(
|
||
|
subcommand =>
|
||
|
subcommand
|
||
|
.setName('panel')
|
||
|
.setDescription('Mise en place des panels.')
|
||
|
.addStringOption(option =>
|
||
|
option
|
||
|
.setName('type')
|
||
|
.setDescription('Le type de panel à mettre en place.')
|
||
|
.setRequired(true)
|
||
|
.setChoices(
|
||
|
{name: 'Rolereact', value: 'rolereact'},
|
||
|
{name: 'Embed du rolereact', value: 'rolereactembed'},
|
||
|
{name: 'Candidatures', value: 'candidatures'},
|
||
|
{name: 'Embed des sanctions', value: 'sanctionembed'},
|
||
|
{name: 'Album Photo', value: 'albumphoto'}
|
||
|
)
|
||
|
)
|
||
|
.addChannelOption(option =>
|
||
|
option
|
||
|
.setName('channel')
|
||
|
.setDescription('Choisissez le salon où le panel sera envoyé !')
|
||
|
.addChannelTypes(ChannelType.GuildText)
|
||
|
.setRequired(true))
|
||
|
)
|
||
|
.addSubcommand(
|
||
|
subcommand =>
|
||
|
subcommand
|
||
|
.setName('moderation')
|
||
|
.setDescription('Mise en place de la modération.')
|
||
|
.addStringOption(option =>
|
||
|
option
|
||
|
.setName('type')
|
||
|
.setDescription('Le type de panel de modération à mettre en place.')
|
||
|
.setRequired(true)
|
||
|
.setChoices(
|
||
|
{name: 'Sanctions', value: 'sanctions'},
|
||
|
{name: 'Blacklist', value: 'blacklist'},
|
||
|
)
|
||
|
)
|
||
|
.addChannelOption(option =>
|
||
|
option
|
||
|
.setName('channel')
|
||
|
.setDescription('Choisissez le salon où le panel sera envoyé !')
|
||
|
.addChannelTypes(ChannelType.GuildText)
|
||
|
.setRequired(true))
|
||
|
),
|
||
|
async execute(interaction) {
|
||
|
switch (interaction.options.getSubcommand()) {
|
||
|
case 'tickets':
|
||
|
SetupTickets.execute(interaction);
|
||
|
break;
|
||
|
case 'panel':
|
||
|
SetupPanel.execute(interaction);
|
||
|
break;
|
||
|
case 'moderation':
|
||
|
SetupMod.execute(interaction);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
};
|