UNPKG

seyfert

Version:

The most advanced framework for discord bots

122 lines (121 loc) 6.07 kB
import { DiscordBase } from './extra/DiscordBase'; export type GuildMemberData = APIGuildMember | Omit<APIGuildMember, 'user'> | GatewayGuildMemberUpdateDispatchData | GatewayGuildMemberAddDispatchData | APIInteractionDataResolvedGuildMember; import { type DMChannelStructure, type GuildMemberStructure, type GuildStructure, type MessageStructure, type UserStructure, type VoiceStateStructure } from '../client/transformers'; import type { UsingClient } from '../commands'; import { type GuildMemberResolvable, type ImageOptions, type MessageCreateBodyRequest, type MethodContext, type ObjectToLower, type ToClass } from '../common'; import type { APIGuildMember, APIInteractionDataResolvedGuildMember, APIUser, GatewayGuildMemberAddDispatchData, GatewayGuildMemberUpdateDispatchData, RESTGetAPIGuildMembersQuery, RESTGetAPIGuildMembersSearchQuery, RESTPatchAPIGuildMemberJSONBody, RESTPutAPIGuildBanJSONBody, RESTPutAPIGuildMemberJSONBody } from '../types'; import type { GuildRole } from './GuildRole'; import { PermissionsBitField } from './extra/Permissions'; export interface BaseGuildMember extends DiscordBase, ObjectToLower<Omit<APIGuildMember, 'user' | 'roles'>> { } export declare class BaseGuildMember extends DiscordBase { /** the choosen guild id */ readonly guildId: string; private _roles; joinedTimestamp?: number; communicationDisabledUntilTimestamp?: number | null; constructor(client: UsingClient, data: GuildMemberData, id: string, /** the choosen guild id */ guildId: string); guild(force?: boolean): Promise<GuildStructure<'api'>>; fetch(force?: boolean): Promise<GuildMemberStructure>; ban(body?: RESTPutAPIGuildBanJSONBody, reason?: string): Promise<void>; kick(reason?: string): Promise<void>; edit(body: RESTPatchAPIGuildMemberJSONBody, reason?: string): Promise<GuildMemberStructure>; presence(): import("..").ReturnCache<(Omit<import("../types").GatewayPresenceUpdate, "user"> & { id: string; user_id: string; } & { guild_id: string; }) | undefined>; voice(force?: boolean): Promise<VoiceStateStructure>; toString(): `<@${string}>`; timeout(time: null | number, reason?: string): Promise<GuildMemberStructure>; get hasTimeout(): false | number; private patch; get roles(): { keys: string[]; list: (force?: boolean) => Promise<GuildRole[]>; add: (id: string) => Promise<never>; remove: (id: string) => Promise<never>; permissions: (force?: boolean) => Promise<PermissionsBitField>; sorted: (force?: boolean) => Promise<GuildRole[]>; highest: (force?: boolean) => Promise<GuildRole>; }; static methods({ client, guildId }: MethodContext<{ guildId: string; }>): { resolve: (resolve: GuildMemberResolvable) => Promise<GuildMemberStructure | undefined>; search: (query?: RESTGetAPIGuildMembersSearchQuery) => Promise<GuildMemberStructure[]>; unban: (id: string, reason?: string) => Promise<never>; ban: (id: string, body?: RESTPutAPIGuildBanJSONBody, reason?: string) => Promise<void>; kick: (id: string, reason?: string) => Promise<void>; edit: (id: string, body: RESTPatchAPIGuildMemberJSONBody, reason?: string) => Promise<GuildMemberStructure>; add: (id: string, body: RESTPutAPIGuildMemberJSONBody) => Promise<GuildMemberStructure | undefined>; addRole: (memberId: string, id: string) => Promise<never>; removeRole: (memberId: string, id: string) => Promise<never>; fetch: (memberId: string, force?: boolean) => Promise<GuildMemberStructure>; list: (query?: RESTGetAPIGuildMembersQuery, force?: boolean) => Promise<GuildMemberStructure[]>; }; } export interface GuildMember extends ObjectToLower<Omit<APIGuildMember, 'user' | 'roles'>> { } /** * Represents a guild member * @link https://discord.com/developers/docs/resources/guild#guild-member-object */ export declare class GuildMember extends BaseGuildMember { /** the choosen guild id */ readonly guildId: string; user: UserStructure; private __me?; constructor(client: UsingClient, data: GuildMemberData, user: APIUser, /** the choosen guild id */ guildId: string); get tag(): string; get bot(): boolean | undefined; get name(): string; get username(): string; get globalName(): string | null; /** gets the nickname or the username */ get displayName(): string; dm(force?: boolean): Promise<DMChannelStructure>; write(body: MessageCreateBodyRequest): Promise<MessageStructure>; defaultAvatarURL(): string; avatarURL(options: ImageOptions & { exclude: true; }): string | null; avatarURL(options?: ImageOptions & { exclude?: false; }): string; bannerURL(options: ImageOptions & { exclude: true; }): string | undefined | null; bannerURL(options?: ImageOptions & { exclude?: false; }): string | undefined; fetchPermissions(force?: boolean): Promise<PermissionsBitField>; manageable(force?: boolean): Promise<boolean>; bannable(force?: boolean): Promise<boolean>; kickable(force?: boolean): Promise<boolean>; moderatable(force?: boolean): Promise<boolean>; } export interface UnavailableMember { pending: true; } export declare class UnavailableMember extends BaseGuildMember { } export interface InteractionGuildMember extends ObjectToLower<Omit<APIInteractionDataResolvedGuildMember, 'roles' | 'deaf' | 'mute' | 'permissions'>> { } declare const InteractionGuildMember_base: ToClass<Omit<GuildMember, "deaf" | "mute">, InteractionGuildMember>; /** * Represents a guild member * @link https://discord.com/developers/docs/resources/guild#guild-member-object */ export declare class InteractionGuildMember extends InteractionGuildMember_base { permissions: PermissionsBitField; constructor(client: UsingClient, data: APIInteractionDataResolvedGuildMember, user: APIUser, /** the choosen guild id */ guildId: string); } export {};