InviteManager
Gère le cache des invitations d'un serveur. Instancié par serveur (guild.invites), pas globalement — étend BaseManager. Ajouté en 1.5.0.
Notation des signatures
Les signatures sont écrites en notation TypeScript, mais s'appellent à l'identique en JavaScript — voir Utiliser le SDK en JavaScript.
Le cache (guild.invites.cache) est une Collection<string, GuildInviteDTO> indexée par code — le code d'invitation lui-même sert de clé, il n'y a pas d'identifiant séparé.
interface GuildInviteDTO {
code: string;
expiresAt: string | null;
maxUses?: number | null;
uses?: number;
inviter?: { publicId: string; name: string; image: string | null; tag: string };
channel?: { publicId: string; name: string };
}Méthodes
fetchAll(cache = true): Promise<GuildInviteDTO[]>
Récupère toutes les invitations actives du serveur (pas seulement celles créées par le compte connecté). Vide et repeuple cache si cache vaut true (par défaut).
const invites = await guild.invites.fetchAll();
console.log(`${invites.length} invitation(s) active(s).`);const invites = await guild.invites.fetchAll();
console.log(`${invites.length} invitation(s) active(s).`);create(channelId, options?): Promise<GuildInviteDTO>
Crée une invitation pointant vers un salon précis.
create(channelId: string, options?: { maxAge?: number; maxUses?: number }): Promise<GuildInviteDTO>| Paramètre | Type | Requis | Description |
|---|---|---|---|
channelId | string | Oui | Le salon ciblé par l'invitation. |
options.maxAge | number | Non | Durée de validité en secondes. Omis, l'invitation n'expire pas. |
options.maxUses | number | Non | Nombre maximum d'utilisations. Omis, pas de limite. |
Ajoute automatiquement l'invitation créée à cache.
const invite = await guild.invites.create(channelId, { maxAge: 3600, maxUses: 5 });
console.log(`https://bloumechat.com/invite/${invite.code}`);const invite = await guild.invites.create(channelId, { maxAge: 3600, maxUses: 5 });
console.log(`https://bloumechat.com/invite/${invite.code}`);delete(code): Promise<void>
Révoque une invitation par son code (appelle DELETE /invites/:code — requiert MANAGE_INVITES). Retire aussi l'entrée de cache.
await guild.invites.delete("abc123");await guild.invites.delete("abc123");Guild.fetchInvites() / Guild.createInvite() délèguent ici
Les raccourcis historiques sur Guild (fetchInvites(), createInvite()) appellent respectivement guild.invites.fetchAll() et guild.invites.create() — même comportement, mêmes résultats. guild.invites est simplement la forme la plus directe, et la seule à exposer delete()/cache.
Voir aussi
Invite— la structure retournée parclient.fetchInvite(code)(résolution en lecture seule d'un code isolé, avec.revoke()).Guild—fetchInvites()/createInvite(), les raccourcis historiques.- Webhooks, emojis & invitations.
