discord-vatron
v1.1.3
Published
Módulo para facilitar la interacción con la API de Discord
Maintainers
Readme
Instalar el módulo
$ npm install discord-vatron --sEste módulo te facilitará el desarrollo de un bot de Discord, teniendo funciones para hacerlo más fácil
Crear nueva instancia de un bot
const Discord = require('discord-vatron');
const bot = new Discord.Bot();Si tienes alguna duda puedes preguntar en el servidor de proyectos: https://discord.gg/aMAR32FuTP
Lista clases
- Bot
- BotUsuario
- Archivo
- Botón
- Canal
- CanalCategoría
- CanalTexto
- CanalVoz
- Colección
- Embed
- Emoji
- FilaBotones
- Interacción
- Menciones
- Mensaje
- Miembro
- Presencia
- Role
- Servidor
- Usuario
Clases
Bot
Propiedades
intents- Intents que usaservidores- Colección con los servidores en los que se encuentra el botcanales- Colección con los canales de todos los servidores en los que se encuentra el botusuarios- Colección con los usuarios que vee el botroles- Colección con los roles de todos los servidores en los que se encuentra el botemojis- Colección con los emojis de todos los servidores en los que se encuentra el botpresencias- Colección con las presencias de los usuarios que vee el botcanalesMD- Colección con los canales de MD que vee el botusuario- BotUsuario del bot
Métodos
iniciar - Inicia al bot mediante su token
Ejemplo:
bot.iniciar('token')
obtenerCanal - Obtiene un canal mediante la ID en caso de que no esté en la colección bot.canales
Ejemplo:
bot.obtenerCanal('idCanal')
Eventos
listo- Se emite cuando el bot está listo, recibe: BotUsuariomensaje- Se emite cuando se envia un nuevo mensaje a un canal de texto, recibe: MensajemensajeEditado- Se emite cuando se edita un mensaje, recibe: MensajeAntiguo | MensajeNuevomensajeEliminado- Se emite cuando se elimina un mensaje, recibe: Mensaje (si estaba en la colección de mensajes)servidorActualizado- Se emite cuando se actualiza un servidor, recibe: ServidorAntiguo | ServidorNuevoservidorEntrandoMiembro- Se emite cuando un usuario entra a un servidor, recibe: MiembroservidorSaliendoMiembro- Se emite cuando un miembro sale de un servidor, recibe: MiembroservidorMiembroActualizado- Se emite cuando un miembro es actualizado, recibe: MiembroAntiguo | MiembroNuevocanalActualizado- Se emite cuando se actualiza un canal, recibe: CanalAntiguo | CanalNuevocanalEliminado- Se emite cuando se elimina un canal, recibe: CanalservidorEliminado- Se emite cuando un servidor es eliminado, recibe: ServidorusuarioActualizado- Se emite cuando se actualiza un usuario, recibe: UsuarioAntiguo | UsuarioNuevopresenciaActualizada- Se emite cuando se actualiza una presencia, recibe: PresenciaAntigua | PresenciaNuevaservidorRoleCreado- Se emite cuando se crea un role en un servidor, recibe: RoleservidorRoleEliminado- Se emite cuando se elimina un role en un servidor, recibe: RoleservidorRoleActualizado- Se emite cuando se actualiza un role en un servidor, recibe: RoleAntiguo | RoleNuevoservidorEmojisActualizados- Se emite cuando se actualizan los emojis del servidor, recibe: Servidor | ListaEmojisinteraccionCreada- Se emite cuando se interactua con una interacción, recibe: Interacción
BotUsuario
Extiende a la clase Usuario
Métodos
estPresencia - Cambia la presencia actual del bot
Ejemplo:
bot.usuario.estPresencia({
estado: 'enLinea | noMolestar | ausente',
juego: {
nombre: 'Texto para la presencia',
tipo: 'JUGANDO | TRANSMITIENDO | ESCUCHANDO | VIENDO'
}
});Archivo
Propiedades
anchura- Anchura del archivoaltura- Altura del archivotamano- Tamaño del archivourl- URL del archivourlProxy- URL Proxy del archivonombre- Nombre del archivotipoContenido- Tipo del contenido del archivo, por ejemplo: image/png
Botón
new Discord.Boton(boton?)
Métodos
estEstilo - Cambia el estilo del botón; AZUL | GRIS | VERDE | ROJO | URL
Ejemplo:
boton.estEstilo('estilo')
estTexto - Cambia el texto del botón
Ejemplo:
boton.estTexto('Click aquí')
estEmoji - Cambia el emoji del botón
Ejemplo:
boton.estEmoji('👋 | emojiDeServidor')
estID - Cambia la ID del botón (no disponible cuando se usa estilo URL)
Ejemplo:
boton.estID('id')
estDesactivado - Activa o desactiva el botón
Ejemplo:
boton.estDesactivado(true|false)
estURL - Cambia la URL del botón (sólo disponible cuando se usa el estilo URL)
Ejemplo:
boton.estURL('https://discord.gg/aMAR32FuTP')
Canal
Propiedades
nombre- Nombre del canalid- ID del canaltipo- Tipo del canalservidor- Servidor en el que se encuentra el canalcategoria- CanalCategoría en el que se encuentra el canal
Métodos
eliminar - Elimina el canal
CanalCategoría
Extiende a la clase Canal
Propiedades
CanalTexto
Extiende a la clase Canal
Propiedades
tema- Tema del canalnfsw- Si el canal es NSFW o notiempoPausa- El tiempo de pausa entre mensaje y mensaje en segundosmensajes- Colección con los mensajes que se enviaron después de iniciar al botultimoMensaje- Último mensaje que se envió al canal, si es que está en la colección de mensajes
Métodos
enviar - Envia un mensaje al canal, devuelve una promesa que al resolverla devuelve el mensaje
Ejemplo
canalTexto.enviar({
contenido: 'Contenido del mensaje',
embeds: arrayConEmbeds,
botones: arrayConBotones,
filas: arrayConFilasBotones,
responder: mensaje
});obtenerMensaje - Obtiene un mensaje del canal en caso de que no esté en la colección de mensajes
Ejemplo:
canalTexto.obtenerMensaje('idMensaje')
crearColectorMensajes - Crea un colector de mensajes
Ejemplo
const colector = canalTexto.crearColectorMensajes((msj) => msj.autor.id == mensaje.autor.id, { tiempo: milisegundos });
colector.on('recibido', (mensaje) => {
// lo que quieras
// para finalizar: colector.finalizar('razón');
});
colector.on('finalizado', (razon) => {
console.log(razon);
});editar - Edita el canal
Ejemplo
canalTexto.editar({
nombre: 'nombre',
tema: 'tema',
posicion: num,
nsfw: true|false,
categoria: categoria|id
});CanalVoz
Extiende a la clase Canal
Propiedades
miembros- Colección de miembros que se encuentran conectados al canal de vozlimiteUsuarios- Número máximo de miembros que se pueden conectar al canal
Métodos
editar - Edita el canal
Ejemplo
canalTexto.editar({
nombre: 'nombre',
posicion: num,
categoria: categoria|id,
limiteUsuarios: num
});Colección
Extiende a la clase Map
Métodos
map- Mapea los valores de la colecciónalgunoCumple- Verifica si algún valor de la colección cumple la condición propuesta en la funcióntodosCumplen- Verifica si todos los valores de la colección cumplen la condición propuesta en la funciónencontrar- Encuentra el primer valor de la colección que cumpla con la condición propuesta en la funciónfiltrar- Filtra los valores de la colección mediante si cumplen la condición propuesta en la funciónordenar- Ordena los valores de la condición según la funciónprimero- Obtén el primer valor de la colecciónultimo- Obtén el último valor de la colecciónaleatorio- Obtén un valor de la colección aleatorio (si pones un número) devuelve un array con variosclaves- Obtén un array con todas las claves de la colecciónarray- Obtén un array con todos los valores de la colección
Embed
new Discord.Embed(embed?)
Métodos
estTitulo - Establece el título del embed
estAutor - Establece el autor en el embed
Ejemplo
embed.estAutor({
nombre: 'autor',
url: 'urlAutor',
icono: 'urlIcono'
});estDesc - Establece la descripción del embed
estColor - Establece el color del embed, puedes usar: AZUL | ROJO | VERDE | BLANCO | AGUA | AMARILLO | MORADO | DORADO | NARANJA | GRIS | NEGRO | ALEATORIO
estImg - Establece la imagen del embed
Ejemplo
embed.estImg({
url: 'urlImagen'
});estVideo - Establece el vídeo del embed
Ejemplo
embed.estVideo({
url: 'urlVideo'
});estMarcaTiempo - Establece la marca de tiempo en el embed
Ejemplo:
embed.estMarcaTiempo(Date.now()+60000)(la de dentro de 1 minuto)
anadirCampo - Añade un campo al embed
Ejemplo
embed.anadirCampo({
titulo: 'título',
desc: 'descripción',
enLinea: true|false
});estUrl - Establece la URL del embed
Ejemplo:
embed.estUrl('https://discord.gg/aMAR32FuTP')
estMiniatura - Establece la miniatura del embed
Ejemplo
embed.estMiniatura({
url: 'urlImagen'
});estPie - Establece el pie del embed
Ejemplo
embed.estPie({
texto: 'texto',
icono: 'urlImagen'
});Emoji
Propiedades
nombre- Nombre del emojiid- ID del emojianimado- Si es el animado el emojiservidor- Servidor en el que se encuentra el emoji
Métodos
editar - Edita el emoji
Ejemplo
emoji.editar({
nombre: 'nombre'
});eliminar - Elimina el emoji
Ejemplo:
emoji.eliminar()
FilaBotones
new Discord.FilaBotones(...botones?)
Métodos
anadirBoton - Añade un botón a la fila
Interacción
Propiedades
mensaje - Mensaje de la interacción
servidor - Servidor de la interacción
canal - Canal de la interacción
miembro - Miembro que ejecuta la interacción
idBoton - ID del botón presionado
Métodos
responder - Responde a la interacción
Ejemplo
interaccion.responder({
contenido: 'contenido',
embeds: arrayConEmbeds,
propio: true|false
});aplazar - Aplaza la interacción (no responder nada)
Ejemplo:
interaccion.aplazar()
pensar - Piensa el resultado de la interacción
Ejemplo
interaccion.pensar({
propio: true|false
});Menciones
Extiende a la clase Colección
Propiedades
usuarios- Colección con los usuarios mencionadosmiembros- Colección con los miembros mencionadosroles- Colección con los roles mencionadoscanales- Colección con los canales mencionados
Mensaje
Propiedades
contenido- Contenido del mensajeid- ID del mensajecanal- Canal del mensajemarcaTiempoEnviado- Marca de tiempo en el que fue enviado el mensajemarcaTiempoEditado- Marca de tiempo en el que fue editado el mensajetts- Si el mensaje es tts o noeveryoneMencionado- Si está mencionado everyone o nofijado- Si el mensaje está fijado o nomiembro- Miembro que escribe el mensajeservidor- Servidor en el que escribe el mensajeembeds- Array con los embeds del mensajeeditable- Obtén si es editable o no el mensajeurl- URL del mensajeesWebhook- Verifica si es un webhook el mensajeautor- Usuario que escribió el mensajereacciones- Colección con las reacciones del mensajemenciones- Menciones del mensajearchivos- Archivos que se encuentran en el mensaje
Métodos
eliminar - Eliminar el mensaje
editar - Edita el mensaje
Ejemplo
mensaje.editar({
contenido: 'Contenido del mensaje',
embeds: arrayConEmbeds,
botones: arrayConBotones,
filas: arrayConFilasBotones
});responder - Responde a un mensaje
Ejemplo
mensaje.responder({
contenido: 'texto',
embeds: arrayConEmbeds,
botones: arrayConBotones,
filas: arrayConFilasBotones
});reaccionar - Reacciona al mensaje
Ejemplo:
mensaje.reaccionar('👋 | emojiDelServidor')
crearColectorBotones - Crea un colector de botones (cuando se pulsa algún botón del mensaje)
Ejemplo
const colector = mensaje.crearColectorBotones((interaccion) => interaccion.miembro.id == mensaje.autor.id, { tiempo: milisegundos });
colector.on('recibido', (interaccion) => {
// lo que quieras
// para finalizar: colector.finalizar('razón');
});
colector.on('finalizado', (razon) => {
console.log(razon);
});Miembro
Propiedades
usuario- Miembro en forma de usuarioid- ID del miembromarcaTiempoUnido- Marca de tiempo de cuando se unió el miembroservidor- Servidor del que es el miembroavatar- Avatar del miembroroles- Colección con los roles del miembroroleAlto- Role más alto del miembropermisos- Colección con los permisos del miembrocanalVoz- CanalVoz en el que está el miembro
Métodos
anadirRole - Añade un role al miembro
Ejemplo:
miembro.anadirRole('idRole|role')
eliminarRole - Elimina un role al miembro
Ejemplo:
miembro.eliminarRole('idRole|role')
urlAvatar - Obtén la URL del avatar del miembro
Ejemplo:
miembro.urlAvatar({ tamano: num, defecto: true|false })
banear - Banea al miembro
Ejemplo:
miembro.banear({ dias: num, razon: 'Razón del baneo' })
expulsar - Expulsa al miembro
Ejemplo:
miembro.expulsar('Razón del baneo')
apodo - Obtén el apodo del miembro
Ejemplo:
miembro.apodo(true|false)
estApodo - Establece el apodo del miembro
Ejemplo:
miembro.estApodo('apodo')
Presencia
Propiedades
juego- Juego al que se está jugando actualmenteactividades- Actividades que se están realizando actualmenteusuario- Usuario de la presencia
Role
Propiedades
nombre- Nombre del roleid- ID del roleseparado- Separado del resto de rolesposicion- Posición del roleadministrado- Role administrado por algún servicio externomencionable- Role mencionable o nocolor- Color del roleservidor- Servidor del rolepermisos- Permisos del rolemiembros- Miembros que tienen el role
Métodos
eliminar - Elimina el role
editar - Edita el role
Ejemplo
role.editar({
nombre: 'nombre',
color: 'color',
separado: true|false,
mencionable: true|false
});Servidor
Propiedades
nombre- Nombre del servidorid- ID del servidornivelVerificacion- Nivel de verificación del servidortiempoAFK- Tiempo para ser considerado AFK en segundosmiembros- Colección con los miembros del servidorcanales- Colección con los canales del servidoremojis- Colección con los emojis del servidorroles- Colección con los roles del servidorregion- Región del servidorsalpicadura- Salpicadura del servidordueno- Miembro que es dueño del servidoryo- Miembro referido al botcanalAFK- CanalVoz para AFK'scanalSistema- CanalTexto del sistemacanalReglas- CanalTexto de reglas
Métodos
editar - Edita el servidor
Ejemplo
servidor.editar({
nombre: 'nombre',
region: 'región',
nivelVerificacion: num,
canalAFK: 'idCanal|CanalVoz',
icono: 'urlIcono',
salpicadura: 'urlSalpicadura',
canalSistema: 'idCanal|CanalTexto',
canalReglas: 'idCanal|CanalTexto'
});crearRole - Crea un role en el servidor
Ejemplo
servidor.crearRole({
nombre: 'nombre',
color: 'color',
separado: true|false,
mencionable: true|false
});crearCanal - Crea un canal en el servidor
Ejemplo
servidor.crearCanal({
nombre: 'nombre',
tipo: 'texto|voz|categoría',
tema: 'tema',
limiteUsuarios: num,
tiempoPausa: num,
categoria: 'idCanal|CanalCategoría',
nsfw: true|false
});icono - Obtén el icono del servidor
Ejemplo:
servidor.icono(tamaño)
desbanear - Desbanea a un miembro
Ejemplo:
servidor.desbanear('idMiembro')
Usuario
Propiedades
nombre- Nombre de usuarionombreCompleto- Nombre de usuario con el #TAG incluidoid- ID del usuariotag- #TAG del usuariobot- El usuario es un bot o nosistema- El usuario es parte del sistema o noavatar- Avatar del usuariopresencia- Presencia del usuariobanderas- Banderas que tiene el usuario en su perfil
Métodos
enviar - Envia un mensaje al usuario
Ejemplo
usuario.enviar({
contenido: 'texto',
embeds: arrayConEmbeds,
botones: arrayConBotones,
filas: arrayConFilasBotones
});urlAvatar - Obtén la URL del avatar del usuario
Ejemplo:
usuario.urlAvatar(tamaño)
