Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

399
Vistas
¿Cómo leer objetos/funciones de clase cuando se pasan como un parámetro?

Actualmente estoy trabajando con Discord's Gateway y sockets para crear algo similar a discord.js y para facilitar que un nuevo usuario use el paquete que estoy creando. Me gustaría que vieran los objetos y funciones de la clase Message cuando se pasan como un parámetro He fracasado en todos mis intentos en esto.

Ejemplo de Discord.js :

Ejemplo de Discord.js

Ejemplo de My Package :

mi ejemplo

Mi .on() :

 /** * client.on() [ when received certain operation from discord's gateway ] * @param {OPERATION} operation * @param {FUNCTION} func */ on(operation, func) { ws.on('message', (data) => { let payload = JSON.parse(data) const {t, event, op, d} = payload // OPERATION => operation operation = operation.toLowerCase(); // if op => message switch(operation) { case "message": { switch(t) { case "MESSAGE_CREATE": // message build let message = new Message().init(d, this.token) return func(message) // ^^^^^^^ this is where message is passed } } } }) }

Mi Message.init() Código:

 init(d, token) { this.content = d.content this.channel = { id: d.channel_id, send: (content) => { sendMessage(d.channel_id, token, content) } } this.author = { bot: d.author.bot ? d.author.bot : false, username: d.author.username, tag: `${d.author.username}#${d.author.discriminator}`, identifier: d.author.discriminator, id: d.author.id, avatar: `https://cdn.discordapp.com/avatars/${d.author.id}/${d.author.avatar}.gif` // avatar image } this.guild = { id: d.guild_id } this.timestamp = d.timestamp return this }

He buscado algo como esto y no pude encontrar nada específico para lo que estoy buscando.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Debe decirle a jsdoc qué argumentos acepta su función. Si bien FUNCTION funciona de manera genérica, debe ser más específico:

 /** * client.on() [ when received certain operation from discord's gateway ] * @param {OPERATION} operation * @param {(message:Message) => void} func */

Esto dice que el segundo argumento es una función que no devuelve nada ( void ) y tiene un objeto Message como argumento. Presumiblemente, entonces tendrá una clase/constructor de Message en algún lugar de su proyecto.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Documente su código usando jsdoc. probablemente querrá leer más sobre esto en https://jsdoc.app/

Una vez que tenga ese vscode (y otros IDE compatibles) hará el resto de la "magia"

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda