Skip to content

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é.

ts
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).

ts
const invites = await guild.invites.fetchAll();
console.log(`${invites.length} invitation(s) active(s).`);
js
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.

ts
create(channelId: string, options?: { maxAge?: number; maxUses?: number }): Promise<GuildInviteDTO>
ParamètreTypeRequisDescription
channelIdstringOuiLe salon ciblé par l'invitation.
options.maxAgenumberNonDurée de validité en secondes. Omis, l'invitation n'expire pas.
options.maxUsesnumberNonNombre maximum d'utilisations. Omis, pas de limite.

Ajoute automatiquement l'invitation créée à cache.

ts
const invite = await guild.invites.create(channelId, { maxAge: 3600, maxUses: 5 });
console.log(`https://bloumechat.com/invite/${invite.code}`);
js
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.

ts
await guild.invites.delete("abc123");
js
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 par client.fetchInvite(code) (résolution en lecture seule d'un code isolé, avec .revoke()).
  • Guild — fetchInvites() / createInvite(), les raccourcis historiques.
  • Webhooks, emojis & invitations.

SDK publié sous licence ISC.