• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

227
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 3 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 3 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 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda