guilded.ts
Version:
A powerful NPM module that allows you to easily interact with the Guilded API.
100 lines • 3.71 kB
TypeScript
import { APIServerMember, APIServerMemberSummary, APISocialLink } from 'guilded-api-typings';
import { Base } from '../Base';
import { Server } from './Server';
import { User } from '../User';
import { ServerMemberRoleManager } from '../../managers/server/ServerMemberRoleManager';
import { FetchOptions } from '../../managers/BaseManager';
import { Collection } from '@discordjs/collection';
/**
* Represents a server member on Guilded.
* @example new ServerMember(server, rawMember);
*/
export declare class ServerMember extends Base {
readonly server: Server;
readonly raw: APIServerMember | APIServerMemberSummary;
/** The user the server member belongs to. */
readonly user: User;
/** The IDs of roles the server member has. */
roleIds: number[];
/** The nickname of the server member. */
nickname?: string;
/** The date the member joined the server. */
readonly joinedAt?: Date;
/** Whether the server member is the server owner. */
readonly isOwner?: boolean;
/** The social links of the server member. */
readonly socialLinks: Collection<string, APISocialLink>;
/** The manager of roles that belong to the server member. */
readonly roles: ServerMemberRoleManager;
/**
* @param server The server the member belongs to.
* @param raw The raw data of the server member.
* @param cache Whether to cache the server member.
*/
constructor(server: Server, raw: APIServerMember | APIServerMemberSummary, cache?: boolean);
/** Whether the server member is cached. */
get isCached(): boolean;
/** The timestamp the member joined the server. */
get joinedTimestamp(): number | undefined;
/**
* Fetch the server member.
* @param options The options to fetch the server member with.
* @returns The fetched server member.
* @example member.fetch();
*/
fetch(options?: FetchOptions): Promise<this>;
/**
* Set the nickname of the server member.
* @param nickname The nickname of the server member.
* @returns The edited server member.
* @example member.setNickname('new nickname');
*/
setNickname(nickname: string): Promise<this>;
/**
* Remove the nickname of the server member.
* @returns The edited server member.
* @example member.removeNickname();
*/
removeNickname(): Promise<this>;
/**
* Kick the server member.
* @returns The kicked member.
* @example member.kick();
*/
kick(): Promise<this>;
/**
* Ban the server member.
* @param reason The reason of the ban.
* @returns The created server ban.
* @example member.ban();
*/
ban(reason?: string): Promise<import("./ServerBan").ServerBan>;
/**
* Unban the server member.
* @returns The unbanned member.
* @example member.unban();
*/
unban(): Promise<this>;
/**
* Award XP to the server member.
* @param amount The amount of XP to award.
* @returns The total amount of XP the server member has.
* @example member.awardXp(100);
*/
awardXp(amount: number): Promise<number>;
/**
* Set XP of the server member.
* @param amount The total XP of the server member.
* @returns The total amount of XP the server member has.
* @example member.setXp(100);
*/
setXp(amount: number): Promise<number>;
/**
* Fetch a social link of the server member.
* @param type The type of social link to fetch.
* @returns The fetched social link.
* @example member.fetchSocialLink('youtube');
*/
fetchSocialLink(type: string): Promise<APISocialLink>;
}
//# sourceMappingURL=ServerMember.d.ts.map