Invite
Représente une invitation de serveur sur BloumeChat. Hérite de Base.
Un objet Invite est renvoyé soit par client.fetchInvite(code) (résolution en lecture seule d'un code d'invitation), soit indirectement via guild.fetchInvites() / guild.createInvite() / channel.createInvite() (qui renvoient des données brutes d'invitation — voir l'encadré ci-dessous).
Notation des signatures
Les signatures sont écrites en notation TypeScript, mais s'appellent à l'identique en JavaScript — voir Utiliser le SDK en JavaScript.
Deux formes d'invitation dans le SDK
client.fetchInvite(code) est la seule méthode qui renvoie une véritable instance de la classe Invite (avec sa méthode .revoke()). guild.fetchInvites(), guild.createInvite() et channel.createInvite() renvoient l'objet invitation brut tel que reçu de l'API (any), pas une instance de Invite — pratique pour lire le code ou le compteur d'usages, mais sans méthode attachée. Pour révoquer une invitation obtenue par l'une de ces méthodes, utilisez client.fetchInvite(invite.code) d'abord, ou appelez directement guild.apiCall via une des méthodes de haut niveau prévues à cet effet.
Propriétés
| Propriété | Type | Description |
|---|---|---|
code | string | Le code unique de l'invitation (le segment utilisé dans l'URL d'invitation, ex. abc123). |
guild | InviteGuildData | Les informations sommaires du serveur associé à cette invitation. |
InviteGuildData
interface InviteGuildData {
publicId: string; // ID public du serveur
name: string; // Nom du serveur
imageUrl: string | null; // Icône du serveur, ou null
memberCount: number; // Nombre approximatif de membres
isMember: boolean; // Le compte courant est-il déjà membre ?
channelPublicId: string | null; // Salon cible de l'invitation, si précisé
}Ces données proviennent directement de la réponse API et sont exposées telles quelles — il n'existe pas de wrapper Guild complet ici (l'invitation peut pointer vers un serveur où le bot n'est pas encore présent, donc pas nécessairement en cache).
Méthodes
revoke(): Promise<void>
Révoque (supprime) cette invitation, la rendant inutilisable immédiatement.
Retour : Promise<void>. Nécessite que le bot dispose de la permission MANAGE_INVITES (ou équivalent) sur le serveur cible ; rejette avec une erreur HTTP sinon, ou si le code d'invitation n'existe plus.
const invite = await client.fetchInvite("abc123");
console.log(`Invitation vers : ${invite.guild.name} (${invite.guild.memberCount} membres)`);
await invite.revoke();const invite = await client.fetchInvite("abc123");
console.log(`Invitation vers : ${invite.guild.name} (${invite.guild.memberCount} membres)`);
await invite.revoke();Exemples d'utilisation
Inspecter une invitation avant d'agir
Un bot ne peut pas rejoindre un serveur de lui-même (il doit y être ajouté par un utilisateur habilité) — fetchInvite sert donc surtout à inspecter une invitation reçue en message, par exemple pour de la modération anti-spam.
client.on("messageCreate", async (message) => {
const match = message.content.match(/bloumechat\.com\/invite\/(\w+)/);
if (!match) return;
try {
const invite = await client.fetchInvite(match[1]);
await message.reply(
`Cette invitation mène à **${invite.guild.name}** (${invite.guild.memberCount} membres).`
);
} catch {
await message.reply("Invitation invalide ou expirée.");
}
});client.on("messageCreate", async (message) => {
const match = message.content.match(/bloumechat\.com\/invite\/(\w+)/);
if (!match) return;
try {
const invite = await client.fetchInvite(match[1]);
await message.reply(
`Cette invitation mène à **${invite.guild.name}** (${invite.guild.memberCount} membres).`
);
} catch {
await message.reply("Invitation invalide ou expirée.");
}
});Révoquer les invitations d'un serveur en masse
const rawInvites = await guild.fetchInvites();
for (const raw of rawInvites) {
const invite = await client.fetchInvite(raw.code);
await invite.revoke();
}
console.log(`${rawInvites.length} invitation(s) révoquée(s).`);const rawInvites = await guild.fetchInvites();
for (const raw of rawInvites) {
const invite = await client.fetchInvite(raw.code);
await invite.revoke();
}
console.log(`${rawInvites.length} invitation(s) révoquée(s).`);Voir aussi
- BloumeChat.fetchInvite() — méthode qui produit une instance
Invite. - Guild.fetchInvites() / createInvite() — lister/créer des invitations pour un serveur.
- Channel.createInvite() — créer une invitation ciblant un salon précis.
