detritus-client
Version:
A Typescript NodeJS library to interact with Discord's API, both Rest and Gateway.
176 lines (175 loc) • 6.02 kB
TypeScript
import { ShardClient } from '../client';
import { BaseCollection } from '../collections/basecollection';
import { BaseSet } from '../collections/baseset';
import { ActivityPlatformTypes } from '../constants';
import { UrlQuery } from '../utils';
import { BaseStructure, BaseStructureData } from './basestructure';
import { Application } from './application';
import { Emoji } from './emoji';
import { User } from './user';
export declare const SpecialApplications: Readonly<{
XBOX: string;
}>;
export declare const SpecialPrefixes: Readonly<{
SPOTIFY: string;
}>;
export declare const ImageSizes: Readonly<{
SMALL: number;
LARGE: number;
}>;
/**
* Presence Structure, used to detail a user's presence in a guild (or general if you have them added (non-bots only))
* @category Structure
*/
export declare class Presence extends BaseStructure {
readonly _keys: BaseSet<string>;
readonly _keysMerge: BaseSet<string>;
readonly _keysSkipDifference: BaseSet<string>;
_activities?: BaseCollection<string, PresenceActivity>;
_guildIds: BaseSet<string> | string;
clientStatus?: {
desktop?: string;
mobile?: string;
web?: string;
};
lastGuildId: string;
lastModified?: number;
status: string;
user: User;
constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean);
get activity(): null | PresenceActivity;
get activities(): BaseCollection<string, PresenceActivity>;
get game(): null | PresenceActivity;
get guildIds(): BaseSet<string>;
get isDnd(): boolean;
get isIdle(): boolean;
get isOffline(): boolean;
get isOnline(): boolean;
get showMobileIcon(): boolean;
activityFor(guildId: string): null | PresenceActivity;
activitiesFor(guildId: string): BaseCollection<string, PresenceActivity>;
get _shouldDelete(): boolean;
_deleteGuildId(guildId: string): void;
_hasGuildId(guildId: string): boolean;
mergeValue(key: string, value: any): void;
toString(): string;
}
/**
* Presence Activity Structure, used in [Presence]
* @category Structure
*/
export declare class PresenceActivity extends BaseStructure {
readonly _uncloneable = true;
readonly _keys: BaseSet<string>;
readonly _keysMerge: BaseSet<string>;
readonly _keysSkipDifference: BaseSet<string>;
readonly user: User;
_guildIds: BaseSet<string> | string;
applicationId?: string;
assets?: PresenceActivityAssets;
buttons?: Array<string>;
createdAt?: number;
details?: string;
emoji?: Emoji;
flags: number;
id: string;
instance?: boolean;
metadata?: any;
name: string;
party?: {
id?: string;
size?: [number, number];
};
platform?: ActivityPlatformTypes;
position: number;
secrets?: {
join?: string;
match?: string;
spectate?: string;
};
sessionId?: string;
state?: string;
syncId?: string;
timestamps?: PresenceActivityTimestamps;
type: number;
url?: string;
constructor(user: User, data: BaseStructureData);
get application(): Application | null;
get applicationIsXbox(): boolean;
get canInstance(): boolean;
get canJoin(): boolean;
get canJoinRequest(): boolean;
get canPlay(): boolean;
get canSpectate(): boolean;
get canSync(): boolean;
get group(): BaseCollection<string, User>;
get guildIds(): BaseSet<string>;
get imageUrl(): null | string;
get isCustomStatus(): boolean;
get isListening(): boolean;
get isPlaying(): boolean;
get isStreaming(): boolean;
get isWatching(): boolean;
get isOnAndroid(): boolean;
get isOnIOS(): boolean;
get isOnSpotify(): boolean;
get isOnSamsung(): boolean;
get isOnXbox(): boolean;
get partyIsFull(): boolean;
get partyIsSpotify(): boolean;
get partyMaxSize(): number | null;
get partySize(): number | null;
get platformType(): string;
get platformDiscordUrl(): null | string;
get spotifyTrackUrl(): null | string;
get typeText(): string;
hasFlag(flag: number): boolean;
imageUrlFormat(format?: null | string, query?: UrlQuery): null | string;
fetchApplication(): Promise<Application | null>;
fetchButtonUrls(): Promise<any>;
fetchMetadata(): Promise<any>;
get _shouldDelete(): boolean;
_deleteGuildId(guildId: string): void;
_hasGuildId(guildId: string): boolean;
mergeValue(key: string, value: any): void;
toString(): string;
}
/**
* Presence Activity Assets Structure, used in [PresenceActivity]
* @category Structure
*/
export declare class PresenceActivityAssets extends BaseStructure {
readonly _uncloneable = true;
readonly _keys: BaseSet<string>;
readonly _keysMerge: BaseSet<string>;
readonly activity: PresenceActivity;
largeImage?: string;
largeText?: string;
smallImage?: string;
smallText?: string;
constructor(activity: PresenceActivity, data: BaseStructureData);
get imageUrl(): string | null;
get largeImageUrl(): string | null;
get smallImageUrl(): string | null;
imageUrlFormat(format?: null | string, query?: UrlQuery, hash?: null | string): null | string;
largeImageUrlFormat(format?: null | string, query?: UrlQuery): string | null;
smallImageUrlFormat(format?: null | string, query?: UrlQuery): string | null;
mergeValue(key: string, value: any): void;
}
/**
* Presence Activity Timestamp Structure
* used to describe when they started doing an activity and if they ended it or not
* @category Structure
*/
export declare class PresenceActivityTimestamps extends BaseStructure {
readonly _uncloneable = true;
readonly _keys: BaseSet<string>;
readonly _keysMerge: BaseSet<string>;
readonly activity: PresenceActivity;
end?: number;
start?: number;
constructor(activity: PresenceActivity, data: BaseStructureData);
get elapsedTime(): number;
get totalTime(): number;
mergeValue(key: string, value: any): void;
}