Chapitre 10 - Gérer une Guild / Faire une recherche
Structure
Guild {
id: '1003624283458785290', // Id dedu la guildserveur
name: 'Formation Bot Discord', // Nom dedu serveur
icon: 'c2a1d07fd0c51b8c0774461cea51a837', // Icon du serveur
features: [],
commands: <ref *1> GuildApplicationCommandManager { // Liste des commandes
permissions: ApplicationCommandPermissionsManager {
manager: [Circular *1],
guild: [Circular *2],
guildId: '1003624283458785290',
commandId: null
},
guild: [Circular *2]
},
members: GuildMemberManager { guild: [Circular *2] }, // Liste des membres
channels: GuildChannelManager { guild: [Circular *2] }, // Liste des channels
bans: GuildBanManager { guild: [Circular *2] }, // Liste des bans
roles: RoleManager { guild: [Circular *2] }, // Liste des rôles
presences: PresenceManager {},
voiceStates: VoiceStateManager { guild: [Circular *2] },
stageInstances: StageInstanceManager { guild: [Circular *2] },
invites: GuildInviteManager { guild: [Circular *2] }, // Liste des invitations
scheduledEvents: GuildScheduledEventManager { guild: [Circular *2] },
available: true,
shardId: 0,
splash: null,
banner: null, // Bannière
description: null, // Description
verificationLevel: 0,
vanityURLCode: null,
nsfwLevel: 0,
premiumSubscriptionCount: 0,
discoverySplash: null,
memberCount: 2, // Nombre de membre
large: false,
premiumProgressBarEnabled: false,
applicationId: null,
afkTimeout: 300,
afkChannelId: null,
systemChannelId: '1003624284553478276',
premiumTier: 0,
explicitContentFilter: 0,
mfaLevel: 0,
joinedTimestamp: 1659379225485,
defaultMessageNotifications: 0,
systemChannelFlags: SystemChannelFlagsBitField { bitfield: 0 },
maximumMembers: 500000,
maximumPresences: null,
approximateMemberCount: null,
approximatePresenceCount: null,
vanityURLUses: null,
rulesChannelId: null,
publicUpdatesChannelId: null,
preferredLocale: 'en-US', // Localisation du serveur
ownerId: '279989640210022401', // ID du propriétaire
emojis: GuildEmojiManager { guild: [Circular *2] },
stickers: GuildStickerManager { guild: [Circular *2] }
}
Faire une recherche
Lorsque l'on souhaite récupérer un élément dans une collection (/liste) présent dans notre guild. On va utiliser .cache.find()
. Cette suite de méthodes nous permet d'aller regarder dans notre collecion et d'y ajouter un condition de recherche. Par exemple, si l'on souhaite récupéré un utilisateur depuis son ID, on peut faire :
const userId = ""; // ID de l'utilisateur à trouver.
const user = guild.members.cache.find(member => member.id === userId);
L'utilisation de notre find nous permet de raccourcir les instructions suivantes :
const user = null;
for (const member in guild.members.cache) {
if (member.id === userId) {
user = member;
}
}