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

97
Views
Extender globalmente una clase/tipo de otro paquete

Estoy trabajando en un bot de discordia en mecanografiado y en lugar de pasar cliente como argumento en todas partes, preferiría acceder solo con base.client message.client que todo extiende la clase base. El único problema es que siempre que hago message.client tengo que informar al compilador que la clase de cliente es mi propia clase de DiscordClient :

 const client = message.client as DiscordClient const client = interaction.client as DiscordClient //Another example

He extendido tipos globales antes en una aplicación Express que utilicé, así que sé que es posible, pero creo que estoy extendiendo la clase incorrecta.

Forma correcta desde una aplicación epxress:

 declare global { namespace Express { interface User extends PrismaUser {} } }

Probé con mayúsculas y minúsculas en caso de que ese fuera el problema, pero eso no lo solucionó.

 declare global { namespace Base { interface client extends DiscordClient {} interface Client extends DiscordClient {} } }

Esta es la clase base que estoy tratando de extender desde discord.js :

 export abstract class Base { public constructor(client: Client); public readonly client: Client; public toJSON(...props: Record<string, boolean | string>[]): unknown; public valueOf(): string; }

Editar: después de buscar en la biblioteca express, descubrí que estaba extendiendo una interfaz, por eso funcionaba, así que no creo que lo mismo sea posible para discord.js

about 4 years ago · Juan Pablo Isaza
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
Show me some job opportunities
There's an error!