discord-vatron
v1.1.3
Published
Módulo para facilitar la interacción con la API de Discord
Downloads
14
Maintainers
Readme
Instalar el módulo
$ npm install discord-vatron --s
Este 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)