detritus-client
Version:
A Typescript NodeJS library to interact with Discord's API, both Rest and Gateway.
154 lines (153 loc) • 11.1 kB
TypeScript
import { ShardClient } from '../client';
import { BaseCollection } from '../collections/basecollection';
import { BaseSet } from '../collections/baseset';
import { GatewayDispatchEvents } from '../constants';
import { Member, Presence } from '../structures';
import { ComponentHandler } from './componenthandler';
import { GatewayRawEvents } from './rawevents';
export interface GatewayHandlerOptions {
disabledEvents?: Array<string>;
loadAllMembers?: boolean;
whitelistedEvents?: Array<string>;
}
export interface ChunkWaiting {
members: BaseCollection<string, Member>;
notFound: BaseSet<string>;
presences: BaseCollection<string, Presence>;
promise: {
reject: Function;
resolve: Function;
wait: Promise<unknown>;
};
waiting: number;
}
/**
* Gateway Handler
* @category Handler
*/
export declare class GatewayHandler {
readonly client: ShardClient;
readonly _chunksWaiting: BaseCollection<string, ChunkWaiting>;
readonly _componentHandler: ComponentHandler;
disabledEvents: BaseSet<string>;
dispatchHandler: GatewayDispatchHandler;
loadAllMembers: boolean;
duplicateMemberEventsCache: BaseCollection<string, string>;
constructor(client: ShardClient, options?: GatewayHandlerOptions);
get shouldLoadAllMembers(): boolean;
onKilled(payload: {
error?: Error;
}): void;
onPacket(packet: GatewayRawEvents.GatewayPacket): void;
}
/**
* Gateway Dispatch Handler Function
* @category Handlers
*/
export declare type GatewayDispatchHandlerFunction = (data: any) => void;
/**
* Gateway Dispatch Handler
* @category Handlers
*/
export declare class GatewayDispatchHandler {
handler: GatewayHandler;
constructor(handler: GatewayHandler);
get client(): ShardClient;
[](data: GatewayRawEvents.Ready): Promise<void>;
[](data: GatewayRawEvents.Resumed): void;
[](data: GatewayRawEvents.ActivityJoinInvite): void;
[](data: GatewayRawEvents.ActivityJoinRequest): void;
[](data: GatewayRawEvents.ActivityStart): void;
[](data: GatewayRawEvents.ApplicationCommandCreate): void;
[](data: GatewayRawEvents.ApplicationCommandDelete): void;
[](data: GatewayRawEvents.ApplicationCommandUpdate): void;
[](data: GatewayRawEvents.BraintreePopupBridgeCallback): void;
[](data: GatewayRawEvents.CallCreate): void;
[](data: GatewayRawEvents.CallDelete): void;
[](data: GatewayRawEvents.CallUpdate): void;
[](data: GatewayRawEvents.ChannelCreate): void;
[](data: GatewayRawEvents.ChannelDelete): void;
[](data: GatewayRawEvents.ChannelPinsAck): void;
[](data: GatewayRawEvents.ChannelPinsUpdate): void;
[](data: GatewayRawEvents.ChannelUpdate): void;
[](data: GatewayRawEvents.ChannelRecipientAdd): void;
[](data: GatewayRawEvents.ChannelRecipientRemove): void;
[](data: GatewayRawEvents.EntitlementCreate): void;
[](data: GatewayRawEvents.EntitlementDelete): void;
[](data: GatewayRawEvents.EntitlementUpdate): void;
[](data: GatewayRawEvents.FriendSuggestionCreate): void;
[](data: GatewayRawEvents.FriendSuggestionDelete): void;
[](data: GatewayRawEvents.GiftCodeUpdate): void;
[](data: GatewayRawEvents.GuildBanAdd): void;
[](data: GatewayRawEvents.GuildBanRemove): void;
[](data: GatewayRawEvents.GuildCreate): void;
[](data: GatewayRawEvents.GuildDelete): void;
[](data: GatewayRawEvents.GuildEmojisUpdate): void;
[](data: GatewayRawEvents.GuildIntegrationsUpdate): void;
[](data: GatewayRawEvents.GuildMemberAdd): void;
[](data: GatewayRawEvents.GuildMemberListUpdate): void;
[](data: GatewayRawEvents.GuildMemberRemove): void;
[](data: GatewayRawEvents.GuildMemberUpdate): void;
[](data: GatewayRawEvents.GuildMembersChunk): void;
[](data: GatewayRawEvents.GuildRoleCreate): void;
[](data: GatewayRawEvents.GuildRoleDelete): void;
[](data: GatewayRawEvents.GuildRoleUpdate): void;
[](data: GatewayRawEvents.GuildStickersUpdate): void;
[](data: GatewayRawEvents.GuildUpdate): void;
[](data: GatewayRawEvents.InteractionCreate): void;
[](data: GatewayRawEvents.InviteCreate): void;
[](data: GatewayRawEvents.InviteDelete): void;
[](data: GatewayRawEvents.LibraryApplicationUpdate): void;
[](data: GatewayRawEvents.LobbyCreate): void;
[](data: GatewayRawEvents.LobbyDelete): void;
[](data: GatewayRawEvents.LobbyUpdate): void;
[](data: GatewayRawEvents.LobbyMemberConnect): void;
[](data: GatewayRawEvents.LobbyMemberDisconnect): void;
[](data: GatewayRawEvents.LobbyMemberUpdate): void;
[](data: GatewayRawEvents.LobbyMessage): void;
[](data: GatewayRawEvents.LobbyVoiceServerUpdate): void;
[](data: GatewayRawEvents.LobbyVoiceStateUpdate): void;
[](data: GatewayRawEvents.MessageAck): void;
[](data: GatewayRawEvents.MessageCreate): void;
[](data: GatewayRawEvents.MessageDelete): void;
[](data: GatewayRawEvents.MessageDeleteBulk): void;
[](data: GatewayRawEvents.MessageReactionAdd): void;
[](data: GatewayRawEvents.MessageReactionRemove): void;
[](data: GatewayRawEvents.MessageReactionRemoveAll): void;
[](data: GatewayRawEvents.MessageReactionRemoveEmoji): void;
[](data: GatewayRawEvents.MessageUpdate): void;
[](data: GatewayRawEvents.Oauth2TokenRemove): void;
[](data: GatewayRawEvents.PresenceUpdate): void;
[](data: GatewayRawEvents.PresencesReplace): void;
[](data: GatewayRawEvents.RecentMentionDelete): void;
[](data: GatewayRawEvents.RelationshipAdd): void;
[](data: GatewayRawEvents.RelationshipRemove): void;
[](data: GatewayRawEvents.SessionsReplace): void;
[](data: GatewayRawEvents.StageInstanceCreate): void;
[](data: GatewayRawEvents.StageInstanceDelete): void;
[](data: GatewayRawEvents.StageInstanceUpdate): void;
[](data: GatewayRawEvents.StreamCreate): void;
[](data: GatewayRawEvents.StreamDelete): void;
[](data: GatewayRawEvents.StreamServerUpdate): void;
[](data: GatewayRawEvents.StreamUpdate): void;
[](data: GatewayRawEvents.ThreadCreate): void;
[](data: GatewayRawEvents.ThreadDelete): void;
[](data: GatewayRawEvents.ThreadListSync): void;
[](data: GatewayRawEvents.ThreadMemberUpdate): void;
[](data: GatewayRawEvents.ThreadMembersUpdate): void;
[](data: GatewayRawEvents.ThreadUpdate): void;
[](data: GatewayRawEvents.TypingStart): void;
[](data: GatewayRawEvents.UserAchievementUpdate): void;
[](data: GatewayRawEvents.UserConnectionsUpdate): Promise<void>;
[](data: GatewayRawEvents.UserFeedSettingsUpdate): void;
[](data: GatewayRawEvents.UserGuildSettingsUpdate): void;
[](data: GatewayRawEvents.UserNoteUpdate): void;
[](data: GatewayRawEvents.UserPaymentSourcesUpdate): void;
[](data: GatewayRawEvents.UserPaymentsUpdate): void;
[](data: GatewayRawEvents.UserRequiredActionUpdate): void;
[](data: GatewayRawEvents.UserSettingsUpdate): void;
[](data: GatewayRawEvents.UserUpdate): void;
[](data: GatewayRawEvents.VoiceServerUpdate): void;
[](data: GatewayRawEvents.VoiceStateUpdate): void;
[](data: GatewayRawEvents.WebhooksUpdate): void;
}