detritus-client
Version:
A Typescript NodeJS library to interact with Discord's API, both Rest and Gateway.
98 lines (97 loc) • 4.05 kB
TypeScript
import { RequestTypes } from 'detritus-client-rest';
import { ShardClient } from '../client';
import { BaseCollection } from '../collections/basecollection';
import { BaseSet } from '../collections/baseset';
import { PermissionTools, UrlQuery } from '../utils';
import { BaseStructureData } from './basestructure';
import { Channel, ChannelGuildStageVoice, ChannelGuildVoice } from './channel';
import { Guild } from './guild';
import { Role } from './role';
import { User, UserMixin } from './user';
import { VoiceState } from './voicestate';
export declare type MemberOrUser = Member | User;
/**
* Guild Member Structure
* @category Structure
*/
export declare class Member extends UserMixin {
readonly _keys: BaseSet<string>;
readonly _keysMerge: BaseSet<string>;
readonly _keysSkipDifference: BaseSet<string>;
_avatar: null | string;
_roles?: Array<string>;
_permissions?: bigint;
deaf: boolean;
guildId: string;
hoistedRoleId: null | string;
isPending: boolean;
joinedAtUnix: number;
left: boolean;
mute: boolean;
nick: null | string;
pending: boolean;
premiumSinceUnix: number;
user: User;
constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean);
get avatar(): null | string;
get canAdministrator(): boolean;
get canBanMembers(): boolean;
get canChangeNickname(): boolean;
get canChangeNicknames(): boolean;
get canCreateInstantInvite(): boolean;
get canKickMembers(): boolean;
get canManageChannels(): boolean;
get canManageEmojis(): boolean;
get canManageGuild(): boolean;
get canManageMessages(): boolean;
get canManageRoles(): boolean;
get canManageThreads(): boolean;
get canManageWebhooks(): boolean;
get canRequestToSpeak(): boolean;
get canUseApplicationCommands(): boolean;
get canUsePrivateThreads(): boolean;
get canUsePublicThreads(): boolean;
get canViewAuditLogs(): boolean;
get color(): number;
get colorRole(): null | Role;
get guild(): Guild | null;
get hasGuildAvatar(): boolean;
get highestRole(): null | Role;
get hoistedRole(): null | Role;
get isBoosting(): boolean;
get isOffline(): boolean;
get isOwner(): boolean;
get isPartial(): boolean;
get joinedAt(): Date | null;
get mention(): string;
get name(): string;
get names(): Array<string>;
get permissions(): bigint;
get premiumSince(): Date | null;
get roles(): BaseCollection<string, null | Role>;
get voiceChannel(): ChannelGuildStageVoice | ChannelGuildVoice | null;
get voiceState(): null | VoiceState;
avatarUrlFormat(format?: null | string, query?: UrlQuery): string;
can(permissions: PermissionTools.PermissionChecks, options?: {
ignoreAdministrator?: boolean;
ignoreOwner?: boolean;
}): boolean;
canEdit(member: Member): boolean;
canEditRole(roleId: Role | string): boolean;
permissionsIn(channelId: Channel | string): bigint;
addRole(roleId: string, options?: RequestTypes.AddGuildMemberRole): Promise<any>;
ban(options?: RequestTypes.CreateGuildBan): Promise<any>;
edit(options?: RequestTypes.EditGuildMember): Promise<any>;
editNick(nick: string, options?: RequestTypes.EditGuildNick): Promise<any>;
editVoiceState(options: RequestTypes.EditGuildVoiceState): Promise<any>;
move(channelId: null | string, options?: RequestTypes.EditGuildMember): Promise<any>;
remove(options?: RequestTypes.RemoveGuildMember): Promise<any>;
removeBan(options?: RequestTypes.RemoveGuildBan): Promise<any>;
removeRole(roleId: string, options?: RequestTypes.RemoveGuildMemberRole): Promise<any>;
setDeaf(deaf: boolean, options?: RequestTypes.EditGuildMember): Promise<any>;
setMute(mute: boolean, options?: RequestTypes.EditGuildMember): Promise<any>;
difference(key: string, value: any): [boolean, any];
hasDifference(key: string, value: any): boolean;
mergeValue(key: string, value: any): void;
toJSON(withRoles?: boolean): any;
}