npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

discord-vatron

v1.1.3

Published

Módulo para facilitar la interacción con la API de Discord

Downloads

57

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


Clases

Bot

Propiedades

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: 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

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 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

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 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

Métodos

eliminar - Elimina el canal

CanalCategoría

Extiende a la clase Canal

Propiedades

CanalTexto

Extiende a la clase Canal

Propiedades

  • 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

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 voz
  • limiteUsuarios - 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ó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

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 emoji
  • id - ID del emoji
  • animado - Si es el animado el emoji
  • servidor - 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

Mensaje

Propiedades

  • 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

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 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

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 actualmente
  • actividades - Actividades que se están realizando actualmente
  • usuario - Usuario de la presencia

Role

Propiedades

  • 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

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 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

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 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

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)