mirror of
https://github.com/SrIzan10/vinci.git
synced 2026-06-06 01:07:00 +00:00
36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
import { commandModule, CommandType } from '@sern/handler'
|
|
import { publish } from "#plugins";
|
|
import { ownerOnly } from "#plugins";;
|
|
import { ApplicationCommandOptionType, EmbedBuilder, GuildMember, TextChannel } from 'discord.js'
|
|
|
|
export default commandModule({
|
|
name: 'ban',
|
|
type: CommandType.Slash,
|
|
plugins: [publish(), ownerOnly()],
|
|
description: 'ADMIN: Banea usuarios.',
|
|
options: [{
|
|
name: 'usuario',
|
|
description: 'Escribe un usuario.',
|
|
type: ApplicationCommandOptionType.User,
|
|
required: true
|
|
},
|
|
{
|
|
name: 'razon',
|
|
description: 'Escribe la razón.',
|
|
type: ApplicationCommandOptionType.String,
|
|
required: true
|
|
}],
|
|
//alias : [],
|
|
execute: async (ctx, options) => {
|
|
try {
|
|
const userToBan = options[1].getMember('usuario') as GuildMember
|
|
const reason = options[1].getString('razon') as string
|
|
userToBan.ban({reason: reason})
|
|
const sendToMods = ctx.client.guilds.cache.get(process.env.GUILDID!)!.channels.cache.get(process.env.MODLOGS_CHANNEL!) as TextChannel
|
|
await sendToMods.send({content: `Se ha baneado a ${userToBan}.\nBan efectuado por ${ctx.user} con razón "${reason}."`})
|
|
await ctx.reply({content: 'Baneado correctamente!', ephemeral: true})
|
|
} catch {
|
|
await ctx.reply({content: `ERROR: No puedo hacer este comando porque a lo mejor soy inferior que el rol de esa persona o estoy usándolo contra admins.`})
|
|
}
|
|
},
|
|
}); |