Code Examples
Some examples of Cler codes
Here is the kick command [Updated] for the new version Discord v14
const { SlashCommandBuilder, PermissionFlagsBits, EmbedBuilder } = require('discord.js');
const { query } = require('../db'); // Importar el conector de PostgreSQL
module.exports = {
data: new SlashCommandBuilder()
.setName('kick')
.setDescription('Expulsa a un miembro del servidor.')
.addUserOption(option =>
option.setName('user')
.setDescription('El usuario que deseas expulsar')
.setRequired(true)
)
.addStringOption(option =>
option.setName('reason')
.setDescription('Razรณn para expulsar al miembro')
.setRequired(false)
)
.setDefaultMemberPermissions(PermissionFlagsBits.KickMembers), // Permisos de expulsiรณn
name: 'kick', // Este es el nombre para los comandos con prefijo
description: 'Expulsa a un miembro del servidor.',
async executeSlash(interaction) {
const member = interaction.options.getMember('user');
const reason = interaction.options.getString('reason') || 'No se proporcionรณ ninguna razรณn.';
await this.kickMember(interaction, member, reason);
},
async executePrefix(message, args) {
const member = message.mentions.members.first();
if (!member) {
return message.reply('<:440warning:1287542257985126501> | Por favor menciona a un usuario vรกlido.');
}
// El resto del mensaje puede contener el motivo, si se proporciona
const reason = args.slice(1).join(' ') || 'No se proporcionรณ ninguna razรณn.';
await this.kickMember(message, member, reason);
},
async kickMember(context, member, reason) {
const isInteraction = !!context.isCommand;
// Verificar si tiene permisos de expulsiรณn (solo en prefijos)
if (!isInteraction && !context.member.permissions.has('KICK_MEMBERS')) {
return context.reply({ content: '<:win11erroicon:1287543137505378324> | No tienes permiso para expulsar miembros.', ephemeral: true });
}
if (!member) {
return context.reply({ content: '<:440warning:1287542257985126501> | Por favor selecciona a un miembro vรกlido.', ephemeral: true });
}
if (!member.kickable) {
return context.reply({ content: '<a:denyxbox:1287542408082358292> | No puedo expulsar a este miembro.', ephemeral: true });
}
try {
// Intentar enviar un mensaje directo al usuario antes de expulsarlo
try {
await member.send(`Has sido expulsado del servidor ${context.guild.name} por ${context.user.tag}. Razรณn: ${reason}`);
} catch (error) {
console.log(`[LOG] No se pudo enviar un mensaje directo a ${member.user.tag}.`);
}
// Expulsar al miembro
await member.kick(reason);
// Crear el embed para notificar al canal
const kickEmbed = new EmbedBuilder()
.setColor(0xff0000) // Rojo
.setTitle('Miembro Expulsado')
.setDescription(`${member.user.tag} ha sido expulsado del servidor.`)
.addFields(
{ name: '<a:9755discordstaffanimated:1287542237571321896> Moderador', value: `${context.user.tag}`, inline: true },
{ name: '<:discordcopyid:1287542182080679997> Miembro', value: `${member.user.tag}`, inline: true },
{ name: '<:discordeditprofile:1287542190926467094> Razรณn', value: reason, inline: false }
)
.setThumbnail(member.user.displayAvatarURL())
.setTimestamp()
.setFooter({ text: 'Expulsiรณn ejecutada', iconURL: context.user.displayAvatarURL() });
// Enviar el embed como respuesta
await context.reply({ embeds: [kickEmbed] });
// Registrar el kick en la tabla 'kicks'
await query('INSERT INTO kicks (user_id, moderator_id, reason, timestamp) VALUES ($1, $2, $3, $4)', [
member.user.id,
context.user.id,
reason,
new Date(),
]);
// Registrar el evento en 'moderation_events'
await query('INSERT INTO moderation_events (user_id, moderator_id, action, reason, timestamp) VALUES ($1, $2, $3, $4, $5)', [
member.user.id,
context.user.id,
'kick',
reason,
new Date(),
]);
// Log en consola
console.log(`[LOG] ${context.user.tag} ha expulsado a ${member.user.tag} en ${context.guild.name} por ${reason}`);
} catch (error) {
console.error(error);
context.reply({ content: 'Hubo un error al expulsar a este miembro.', ephemeral: true });
}
},
};
module.exports.help = {
name: 'kick',
description: 'Expulsa a un miembros del servidor.',
usage: 'kick <user> <reason>',
};
Here is an example for the Love command
const Discord = require("discord.js") // Se define Discord para el embed.
let color = (process.env.COLOR)
let dev = (process.env.DEV)
module.exports.run = async(client, message, args) => {
let users = message.mentions.users.first();
if (!users) return message.reply("Menciona a alguien porfavor! :heartpulse:") //Para que mencionen al usuario
if (users === message.author) return message.channel.send(":heart_exclamation: **El amor por ti mismo es infinito, comparte un poco** :heart_exclamation:");
if (users === client.user) return message.channel.send("**Lo nuestro no funcionaria! >n<** :sob:")
const random = Math.floor(Math.random() * 100);
let heard = "";
if(random < 10){
heard=':woman_gesturing_no: **Negativo** *No son compatibles en lo absoluto, sera mejor dar la vuelta y continuar el recorrido...* :woman_gesturing_no::';
}else if(random < 40){
heard=':broken_heart: *Podrian perfectamente ser amigos, pero solo eso...* :broken_heart:';
}else if(random < 75){
heard=':heart: *Podriรกn intentarlo, aunque como mejores amigos sera lo suficiente...* :heart:'; // Un pequeรยฑo Match.Floor para hacerlo random y no de el mismo resultado!
}else if(random < 101){
heard=':sparkling_heart: **Son perfectamente compatibles, su relaciรณn podria durar varios aรฑos...** :sparkling_heart:';
}
let resp = [`El porcetanje de ${message.author.username} & ${users.username} son:`,`Vasha yo calculo que ${message.author.username} & ${users.username} da un:`,`Segun mis calculos ${message.author.username} & ${users.username} da un:`,`Los astros me indican que ${message.author.username} & ${users.username} son un:`, `A mi parecer ${message.author.username} & ${users.username} son un:`]
//let avatar2 = users.displayAvatarURL()
//let avatar1 = message.author.displayAvatarURL()
/*let img = (avatar1, " ", avatar2)*/
let msg = resp[Math.floor(Math.random() * resp.length)] //Mensajes distintos si quieren ponerle diferentes mensajes!
const embed = new Discord.MessageEmbed()
.setTitle('Nombre del ship: ' + message.author.username.slice(0, -2) + users.username.slice(2))
.setAuthor(`${msg}`)
.setThumbnail("https://c.tenor.com/VhFHg1pUQRcAAAAC/heart-emoji.gif")
.setFooter("8Ball ยท Cler", message.author.displayAvatarURL(), users.displayAvatarURL())
//.setImage(img)
.setDescription(`${random} % ${heard}`) //Resultado aleatorio de lo anterior estructurado
.setColor(0xff4d4d)
message.channel.send({ embed : embed }) // Se envia el embed
}
module.exports.help = {
name: "love",
description: "love your match",
aliases: ["love"]
}
Here is an example for the Bc command
const Discord = require("discord.js") // Se define Discord para el embed.
let color = (process.env.COLOR)
let dev = (process.env.DEV)
module.exports.run = async(client, message, args) => {
let permiso = message.member.hasPermission("ADMINISTRATOR");
if(!permiso){
message.channel.send(':x: | No tienes el permiso de Administrador');
} else{
// Ponemos el permiso de administrador
let canal = message.mentions.channels.first();
// Recogemos el primer canal mencionado
if(!canal) return message.channel.send(':x: | Debe escribir un canal');
// Si no ha mencionado ningรบn canal retorna un mensaje
let mensaje = args.slice(1).join(" ");
// Recogemos el mensaje a mandar a partir de args[1]
if(!mensaje) return message.channel.send(':x: | Debe escribir un mensaje');
// Si no ha escrito ningรบn mensaje retorna un mensaje
canal.send(mensaje)
// Mandamos lo escrito por el usuario al canal mencionado
message.channel.send(":white_check_mark: | **Mensaje enviado**");
}
}
module.exports.help = {
name: "bc",
description: "broadcast",
aliases: ["bc"]
}
Last updated