Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

398
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda