UNPKG

guilded.ts

Version:

A powerful NPM module that allows you to easily interact with the Guilded API.

125 lines 5.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServerMemberManager = void 0; const BaseManager_1 = require("../BaseManager"); const ServerMember_1 = require("../../structures/server/ServerMember"); const collection_1 = require("@discordjs/collection"); /** * The manager of members that belong to a server. * @example new ServerMemberManager(server); */ class ServerMemberManager extends BaseManager_1.BaseManager { server; /** @param server The server the members belongs to. */ constructor(server) { super(server.client, server.client.options.maxServerMemberCache); this.server = server; } fetch(arg1, arg2) { if (typeof arg1 === 'string' || arg1 instanceof ServerMember_1.ServerMember) return this.fetchSingle(arg1, arg2); return this.fetchMany(arg1); } /** @ignore */ async fetchSingle(member, options) { member = member instanceof ServerMember_1.ServerMember ? member.id : member; const cached = this.cache.get(member); if (cached && !options?.force) return cached; const raw = await this.client.api.serverMembers.fetch(this.server.id, member); return new ServerMember_1.ServerMember(this.server, raw, options?.cache); } /** @ignore */ async fetchMany(options) { const raw = await this.client.api.serverMembers.fetch(this.server.id); const members = new collection_1.Collection(); for (const data of raw) { const member = new ServerMember_1.ServerMember(this.server, data, options?.cache); members.set(member.id, member); } return members; } /** * Fetch a social link from a member in the server. * @param member The member to fetch the social link from. * @param type The type of social link to fetch. * @returns The fetched social link. * @example members.fetchSocialLink(member, 'youtube'); */ fetchSocialLink(member, type) { member = member instanceof ServerMember_1.ServerMember ? member.id : member; return this.client.api.serverMembers.fetchSocialLink(this.server.id, member, type); } /** * Set the nickname of a member in the server. * @param member The member to edit. * @param nickname The nickname of the member. * @returns The nickname of the member. * @example members.setNickname(member, 'new nickname'); */ setNickname(member, nickname) { member = member instanceof ServerMember_1.ServerMember ? member.id : member; return this.client.api.serverMembers.setNickname(this.server.id, member, nickname); } /** * Remove the nickname of a member in the server. * @param member The member to edit. * @example members.removeNickname(member); */ removeNickname(member) { member = member instanceof ServerMember_1.ServerMember ? member.id : member; return this.client.api.serverMembers.removeNickname(this.server.id, member); } /** * Kick a member from the server. * @param member The member to kick. * @example members.kick(member); */ kick(member) { member = member instanceof ServerMember_1.ServerMember ? member.id : member; return this.client.api.serverMembers.kick(this.server.id, member); } /** * Ban a member from the server. * @param member The member to ban. * @param reason The reason of the ban. * @returns The created ban. * @example members.ban(member); */ ban(member, reason) { return this.server.bans.create(member, reason); } /** * Unban a member from the server. * @param member The member to unban. * @example members.unban(member); */ unban(member) { member = member instanceof ServerMember_1.ServerMember ? member.id : member; return this.server.bans.remove(member); } /** * Award XP to a member in the server. * @param member The member to award XP to. * @param amount The amount of XP to award to the member. * @returns The total amount of XP the server member has. * @example members.awardXp(member, 100); */ awardXp(member, amount) { member = member instanceof ServerMember_1.ServerMember ? member.id : member; return this.client.api.serverMembers.awardXp(this.server.id, member, amount); } /** * Set XP of a member in the server. * @param member The member to set XP for. * @param amount The total XP of the server member. * @returns The total amount of XP the server member has. * @example members.setXp(member, 100); */ setXp(member, amount) { member = member instanceof ServerMember_1.ServerMember ? member.id : member; return this.client.api.serverMembers.setXp(this.server.id, member, amount); } } exports.ServerMemberManager = ServerMemberManager; //# sourceMappingURL=ServerMemberManager.js.map