Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

435
Views
¿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.

over 4 years ago · Juan Pablo Isaza
2 answers
Answer question

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.

over 4 years ago · Juan Pablo Isaza Report

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"

over 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Virtual assistant