$ 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
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
- Bot
- BotUsuario
- Archivo
- Botón
- Canal
- CanalCategoría
- CanalTexto
- CanalVoz
- Colección
- Embed
- Emoji
- FilaBotones
- Interacción
- Menciones
- Mensaje
- Miembro
- Presencia
- Role
- Servidor
- Usuario
-
intents
- Intents que usa -
servidores
- Colección con los servidores en los que se encuentra el bot -
canales
- Colección con los canales de todos los servidores en los que se encuentra el bot -
usuarios
- Colección con los usuarios que vee el bot -
roles
- Colección con los roles de todos los servidores en los que se encuentra el bot -
emojis
- Colección con los emojis de todos los servidores en los que se encuentra el bot -
presencias
- Colección con las presencias de los usuarios que vee el bot -
canalesMD
- Colección con los canales de MD que vee el bot -
usuario
- BotUsuario del bot
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')
-
listo
- Se emite cuando el bot está listo, recibe: BotUsuario -
mensaje
- Se emite cuando se envia un nuevo mensaje a un canal de texto, recibe: Mensaje -
mensajeEditado
- Se emite cuando se edita un mensaje, recibe: MensajeAntiguo | MensajeNuevo -
mensajeEliminado
- 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 | ServidorNuevo -
servidorEntrandoMiembro
- Se emite cuando un usuario entra a un servidor, recibe: Miembro -
servidorSaliendoMiembro
- Se emite cuando un miembro sale de un servidor, recibe: Miembro -
servidorMiembroActualizado
- Se emite cuando un miembro es actualizado, recibe: MiembroAntiguo | MiembroNuevo -
canalActualizado
- Se emite cuando se actualiza un canal, recibe: CanalAntiguo | CanalNuevo -
canalEliminado
- Se emite cuando se elimina un canal, recibe: Canal -
servidorEliminado
- Se emite cuando un servidor es eliminado, recibe: Servidor -
usuarioActualizado
- Se emite cuando se actualiza un usuario, recibe: UsuarioAntiguo | UsuarioNuevo -
presenciaActualizada
- Se emite cuando se actualiza una presencia, recibe: PresenciaAntigua | PresenciaNueva -
servidorRoleCreado
- Se emite cuando se crea un role en un servidor, recibe: Role -
servidorRoleEliminado
- Se emite cuando se elimina un role en un servidor, recibe: Role -
servidorRoleActualizado
- Se emite cuando se actualiza un role en un servidor, recibe: RoleAntiguo | RoleNuevo -
servidorEmojisActualizados
- Se emite cuando se actualizan los emojis del servidor, recibe: Servidor | ListaEmojis -
interaccionCreada
- Se emite cuando se interactua con una interacción, recibe: Interacción
Extiende a la clase Usuario
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'
}
});
-
anchura
- Anchura del archivo -
altura
- Altura del archivo -
tamano
- Tamaño del archivo -
url
- URL del archivo -
urlProxy
- URL Proxy del archivo -
nombre
- Nombre del archivo -
tipoContenido
- Tipo del contenido del archivo, por ejemplo: image/png
new Discord.Boton(boton?)
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')
-
nombre
- Nombre del canal -
id
- ID del canal -
tipo
- Tipo del canal -
servidor
- Servidor en el que se encuentra el canal -
categoria
- CanalCategoría en el que se encuentra el canal
eliminar
- Elimina el canal
Extiende a la clase Canal
Extiende a la clase Canal
-
tema
- Tema del canal -
nfsw
- Si el canal es NSFW o no -
tiempoPausa
- El tiempo de pausa entre mensaje y mensaje en segundos -
mensajes
- Colección con los mensajes que se enviaron después de iniciar al bot -
ultimoMensaje
- Último mensaje que se envió al canal, si es que está en la colección de mensajes
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
});
Extiende a la clase Canal
-
miembros
- Colección de miembros que se encuentran conectados al canal de voz -
limiteUsuarios
- Número máximo de miembros que se pueden conectar al canal
editar
- Edita el canal
Ejemplo
canalTexto.editar({
nombre: 'nombre',
posicion: num,
categoria: categoria|id,
limiteUsuarios: num
});
Extiende a la clase Map
-
map
- Mapea los valores de la colección -
algunoCumple
- Verifica si algún valor de la colección cumple la condición propuesta en la función -
todosCumplen
- Verifica si todos los valores de la colección cumplen la condición propuesta en la función -
encontrar
- Encuentra el primer valor de la colección que cumpla con la condición propuesta en la función -
filtrar
- Filtra los valores de la colección mediante si cumplen la condición propuesta en la función -
ordenar
- Ordena los valores de la condición según la función -
primero
- Obtén el primer valor de la colección -
ultimo
- Obtén el último valor de la colección -
aleatorio
- Obtén un valor de la colección aleatorio (si pones un número) devuelve un array con varios -
claves
- Obtén un array con todas las claves de la colección -
array
- Obtén un array con todos los valores de la colección
new Discord.Embed(embed?)
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'
});
-
nombre
- Nombre del emoji -
id
- ID del emoji -
animado
- Si es el animado el emoji -
servidor
- Servidor en el que se encuentra el emoji
editar
- Edita el emoji
Ejemplo
emoji.editar({
nombre: 'nombre'
});
eliminar
- Elimina el emoji
Ejemplo:
emoji.eliminar()
new Discord.FilaBotones(...botones?)
anadirBoton
- Añade un botón a la fila
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
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
});
Extiende a la clase Colección
-
usuarios
- Colección con los usuarios mencionados -
miembros
- Colección con los miembros mencionados -
roles
- Colección con los roles mencionados -
canales
- Colección con los canales mencionados
-
contenido
- Contenido del mensaje -
id
- ID del mensaje -
canal
- Canal del mensaje -
marcaTiempoEnviado
- Marca de tiempo en el que fue enviado el mensaje -
marcaTiempoEditado
- Marca de tiempo en el que fue editado el mensaje -
tts
- Si el mensaje es tts o no -
everyoneMencionado
- Si está mencionado everyone o no -
fijado
- Si el mensaje está fijado o no -
miembro
- Miembro que escribe el mensaje -
servidor
- Servidor en el que escribe el mensaje -
embeds
- Array con los embeds del mensaje -
editable
- Obtén si es editable o no el mensaje -
url
- URL del mensaje -
esWebhook
- Verifica si es un webhook el mensaje -
autor
- Usuario que escribió el mensaje -
reacciones
- Colección con las reacciones del mensaje -
menciones
- Menciones del mensaje -
archivos
- Archivos que se encuentran en el mensaje
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);
});
-
usuario
- Miembro en forma de usuario -
id
- ID del miembro -
marcaTiempoUnido
- Marca de tiempo de cuando se unió el miembro -
servidor
- Servidor del que es el miembro -
avatar
- Avatar del miembro -
roles
- Colección con los roles del miembro -
roleAlto
- Role más alto del miembro -
permisos
- Colección con los permisos del miembro -
canalVoz
- CanalVoz en el que está el miembro
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')
-
juego
- Juego al que se está jugando actualmente -
actividades
- Actividades que se están realizando actualmente -
usuario
- Usuario de la presencia
-
nombre
- Nombre del role -
id
- ID del role -
separado
- Separado del resto de roles -
posicion
- Posición del role -
administrado
- Role administrado por algún servicio externo -
mencionable
- Role mencionable o no -
color
- Color del role -
servidor
- Servidor del role -
permisos
- Permisos del role -
miembros
- Miembros que tienen el role
eliminar
- Elimina el role
editar
- Edita el role
Ejemplo
role.editar({
nombre: 'nombre',
color: 'color',
separado: true|false,
mencionable: true|false
});
-
nombre
- Nombre del servidor -
id
- ID del servidor -
nivelVerificacion
- Nivel de verificación del servidor -
tiempoAFK
- Tiempo para ser considerado AFK en segundos -
miembros
- Colección con los miembros del servidor -
canales
- Colección con los canales del servidor -
emojis
- Colección con los emojis del servidor -
roles
- Colección con los roles del servidor -
region
- Región del servidor -
salpicadura
- Salpicadura del servidor -
dueno
- Miembro que es dueño del servidor -
yo
- Miembro referido al bot -
canalAFK
- CanalVoz para AFK's -
canalSistema
- CanalTexto del sistema -
canalReglas
- CanalTexto de reglas
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')
-
nombre
- Nombre de usuario -
nombreCompleto
- Nombre de usuario con el #TAG incluido -
id
- ID del usuario -
tag
- #TAG del usuario -
bot
- El usuario es un bot o no -
sistema
- El usuario es parte del sistema o no -
avatar
- Avatar del usuario -
presencia
- Presencia del usuario -
banderas
- Banderas que tiene el usuario en su perfil
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)