detritus-client
Version:
A Typescript NodeJS library to interact with Discord's API, both Rest and Gateway.
559 lines • 82.6 kB
TypeScript
import { ClientOptions as RestOptions } from 'detritus-client-rest';
import { Gateway } from 'detritus-client-socket';
import { EventSpewer, EventSubscription } from 'detritus-utils';
import { ClusterClient } from './clusterclient';
import { CommandClient } from './commandclient';
import { RestClient } from './rest';
import { InteractionCommandClient } from './interactioncommandclient';
import { ClientEvents, ImageFormats } from './constants';
import { GatewayHandler, GatewayHandlerOptions } from './gateway/handler';
import { GatewayClientEvents } from './gateway/clientevents';
import { BaseCollection } from './collections/basecollection';
import { BaseSet } from './collections/baseset';
import { Applications, ApplicationsOptions, Channels, ChannelsOptions, ConnectedAccounts, ConnectedAccountsOptions, Emojis, EmojisOptions, Guilds, GuildsOptions, Interactions, InteractionsOptions, Members, MembersOptions, Messages, MessagesOptions, Notes, NotesOptions, Presences, PresencesOptions, Relationships, RelationshipsOptions, Roles, RolesOptions, Sessions, SessionsOptions, StageInstances, StageInstancesOptions, Stickers, StickersOptions, TypingCollection, TypingOptions, Users, UsersOptions, VoiceCalls, VoiceCallsOptions, VoiceConnections, VoiceConnectionsOptions, VoiceStates, VoiceStatesOptions } from './collections';
import { VoiceConnection, VoiceConnectionOptions } from './media/voiceconnection';
import { Member, Oauth2Application, Presence, User, UserMe } from './structures';
import { Components, ComponentActionRow, ComponentActionRowData } from './utils';
export interface VoiceConnectObject {
connection: VoiceConnection;
isNew: boolean;
}
interface GatewayOptions extends Gateway.SocketOptions, GatewayHandlerOptions {
}
export interface ShardClientCacheOptions {
applications?: ApplicationsOptions | boolean;
channels?: ChannelsOptions | boolean;
connectedAccounts?: ConnectedAccountsOptions | boolean;
emojis?: EmojisOptions | boolean;
guilds?: GuildsOptions | boolean;
interactions?: InteractionsOptions | boolean;
members?: MembersOptions | boolean;
messages?: MessagesOptions | boolean;
notes?: NotesOptions | boolean;
presences?: PresencesOptions | boolean;
relationships?: RelationshipsOptions | boolean;
roles?: RolesOptions | boolean;
sessions?: SessionsOptions | boolean;
stageInstances?: StageInstancesOptions | boolean;
stickers?: StickersOptions | boolean;
typings?: TypingOptions | boolean;
users?: UsersOptions | boolean;
voiceCalls?: VoiceCallsOptions | boolean;
voiceConnections?: VoiceConnectionsOptions | boolean;
voiceStates?: VoiceStatesOptions | boolean;
}
export interface ShardClientPassOptions {
cluster?: ClusterClient;
commandClient?: CommandClient;
interactionCommandClient?: InteractionCommandClient;
applications?: Applications;
channels?: Channels;
connectedAccounts?: ConnectedAccounts;
emojis?: Emojis;
guilds?: Guilds;
interactions?: Interactions;
members?: Members;
messages?: Messages;
notes?: Notes;
presences?: Presences;
relationships?: Relationships;
roles?: Roles;
sessions?: Sessions;
stageInstances?: StageInstances;
stickers?: Stickers;
typings?: TypingCollection;
users?: Users;
voiceCalls?: VoiceCalls;
voiceConnections?: VoiceConnections;
voiceStates?: VoiceStates;
}
export interface ShardClientOptions {
cache?: ShardClientCacheOptions | boolean;
gateway?: GatewayOptions;
imageFormat?: ImageFormats | string;
isBot?: boolean;
rest?: RestOptions;
pass?: ShardClientPassOptions;
}
export interface ShardClientRunOptions {
url?: string;
wait?: boolean;
}
export interface VoiceConnectOptions extends VoiceConnectionOptions {
deaf?: boolean;
forceMode?: string;
mute?: boolean;
receive?: boolean;
selfDeaf?: boolean;
selfMute?: boolean;
selfVideo?: boolean;
timeout?: number;
video?: boolean;
wait?: boolean;
}
/**
* Shard Client, represents one gateway connection
* @category Clients
*/
export declare class ShardClient extends EventSpewer {
/**
* @ignore
*/
_isBot: boolean;
_killed: boolean;
application: Oauth2Application | null;
cluster: ClusterClient | null;
commandClient: CommandClient | null;
interactionCommandClient: InteractionCommandClient | null;
/** Default Image Format to use for any url getters*/
imageFormat: ImageFormats;
/** `detritus-client-socket`'s Gateway Socket */
gateway: Gateway.Socket;
/** Our Dispatch Handler */
gatewayHandler: GatewayHandler;
/**
* If this is a bot, this will be filled with it's application owner or all of the application's team owners
* If this is a user, this will only include the user object
* Only fills once we receive the Ready payload
*/
owners: BaseCollection<string, User>;
/** If the client is ran or not */
ran: boolean;
/** (Users only) if the client requires an action (like the captcha overlay) */
requiredAction?: null | string;
/** `detritus-client-rest`'s Rest Client, but wrapped over */
rest: RestClient;
/** our token */
token: string;
/** Us, only fills once we received the Ready payload from the gateway */
user: null | UserMe;
readonly applications: Applications;
readonly channels: Channels;
readonly connectedAccounts: ConnectedAccounts;
readonly emojis: Emojis;
readonly guilds: Guilds;
readonly interactions: Interactions;
readonly members: Members;
readonly messages: Messages;
readonly notes: Notes;
readonly presences: Presences;
readonly relationships: Relationships;
readonly roles: Roles;
readonly sessions: Sessions;
readonly stageInstances: StageInstances;
readonly stickers: Stickers;
readonly typings: TypingCollection;
readonly users: Users;
readonly voiceCalls: VoiceCalls;
readonly voiceConnections: VoiceConnections;
readonly voiceStates: VoiceStates;
constructor(token: string, options?: ShardClientOptions);
get applicationId(): string;
get clientId(): string;
get isBot(): boolean;
get killed(): boolean;
get shardCount(): number;
get shardId(): number;
get userId(): string;
_mergeOauth2Application(data: any): Oauth2Application;
hookComponents(listenerId: string, components: Components | Array<ComponentActionRowData | ComponentActionRow>, timeout?: number): Components;
isOwner(userId: string): boolean;
kill(error?: Error): void;
ping(): Promise<{
gateway: number;
rest: number;
}>;
requestGuildMembers(guildId: string, oldOptions: {
limit?: number;
presences?: boolean;
query: string;
timeout?: number;
userIds?: Array<string>;
}): Promise<{
members: BaseCollection<string, Member>;
nonce: string;
notFound: BaseSet<string>;
presences: BaseCollection<string, Presence>;
}>;
reset(applications?: boolean): void;
run(options?: ShardClientRunOptions): Promise<ShardClient>;
/**
*
* @param guildId Guild Id you want to connect to, if a user and wanting to connect to a Dm Channel, keep this blank
* @param channelId Channel Id you want to connect to or move to
* @param options Options to pass into the `detritus-client-socket`'s gateway's voiceConnect
* @returns Returns a promise that resolves into a Voice Connection object and an isNew variable.
* isNew is used to see if the connection was reused (e.g. changing channels) so you can put listeners on or not
*/
voiceConnect(guildId?: null | string, channelId?: null | string, options?: VoiceConnectOptions): Promise<VoiceConnectObject | null>;
toString(): string;
on(event: string | symbol, listener: (...args: any[]) => void): this;
on(event: ClientEvents.ACTIVITY_JOIN_INVITE, listener: (payload: GatewayClientEvents.ActivityJoinInvite) => any): this;
on(event: 'activityJoinInvite', listener: (payload: GatewayClientEvents.ActivityJoinInvite) => any): this;
on(event: ClientEvents.ACTIVITY_JOIN_REQUEST, listener: (payload: GatewayClientEvents.ActivityJoinRequest) => any): this;
on(event: 'activityJoinRequest', listener: (payload: GatewayClientEvents.ActivityJoinRequest) => any): this;
on(event: ClientEvents.ACTIVITY_START, listener: (payload: GatewayClientEvents.ActivityStart) => any): this;
on(event: 'activityStart', listener: (payload: GatewayClientEvents.ActivityStart) => any): this;
on(event: ClientEvents.APPLICATION_COMMAND_CREATE, listener: (payload: GatewayClientEvents.ApplicationCommandCreate) => any): this;
on(event: 'applicationCommandCreate', listener: (payload: GatewayClientEvents.ApplicationCommandCreate) => any): this;
on(event: ClientEvents.APPLICATION_COMMAND_DELETE, listener: (payload: GatewayClientEvents.ApplicationCommandDelete) => any): this;
on(event: 'applicationCommandDelete', listener: (payload: GatewayClientEvents.ApplicationCommandDelete) => any): this;
on(event: ClientEvents.APPLICATION_COMMAND_UPDATE, listener: (payload: GatewayClientEvents.ApplicationCommandUpdate) => any): this;
on(event: 'applicationCommandUpdate', listener: (payload: GatewayClientEvents.ApplicationCommandUpdate) => any): this;
on(event: ClientEvents.BRAINTREE_POPUP_BRIDGE_CALLBACK, listener: (payload: GatewayClientEvents.BraintreePopupBridgeCallback) => any): this;
on(event: 'braintreePopupBridgeCallback', listener: (payload: GatewayClientEvents.BraintreePopupBridgeCallback) => any): this;
on(event: ClientEvents.CALL_CREATE, listener: (payload: GatewayClientEvents.CallCreate) => any): this;
on(event: 'callCreate', listener: (payload: GatewayClientEvents.CallCreate) => any): this;
on(event: ClientEvents.CALL_DELETE, listener: (payload: GatewayClientEvents.CallDelete) => any): this;
on(event: 'callDelete', listener: (payload: GatewayClientEvents.CallDelete) => any): this;
on(event: ClientEvents.CALL_UPDATE, listener: (payload: GatewayClientEvents.CallUpdate) => any): this;
on(event: 'callUpdate', listener: (payload: GatewayClientEvents.CallUpdate) => any): this;
on(event: ClientEvents.CHANNEL_CREATE, listener: (payload: GatewayClientEvents.ChannelCreate) => any): this;
on(event: 'channelCreate', listener: (payload: GatewayClientEvents.ChannelCreate) => any): this;
on(event: ClientEvents.CHANNEL_DELETE, listener: (payload: GatewayClientEvents.ChannelDelete) => any): this;
on(event: 'channelDelete', listener: (payload: GatewayClientEvents.ChannelDelete) => any): this;
on(event: ClientEvents.CHANNEL_UPDATE, listener: (payload: GatewayClientEvents.ChannelUpdate) => any): this;
on(event: 'channelUpdate', listener: (payload: GatewayClientEvents.ChannelUpdate) => any): this;
on(event: ClientEvents.CHANNEL_PINS_ACK, listener: (payload: GatewayClientEvents.ChannelPinsAck) => any): this;
on(event: 'channelPinsAck', listener: (payload: GatewayClientEvents.ChannelPinsAck) => any): this;
on(event: ClientEvents.CHANNEL_PINS_UPDATE, listener: (payload: GatewayClientEvents.ChannelPinsUpdate) => any): this;
on(event: 'channelPinsUpdate', listener: (payload: GatewayClientEvents.ChannelPinsUpdate) => any): this;
on(event: ClientEvents.CHANNEL_RECIPIENT_ADD, listener: (payload: GatewayClientEvents.ChannelRecipientAdd) => any): this;
on(event: 'channelRecipientAdd', listener: (payload: GatewayClientEvents.ChannelRecipientAdd) => any): this;
on(event: ClientEvents.CHANNEL_RECIPIENT_REMOVE, listener: (payload: GatewayClientEvents.ChannelRecipientRemove) => any): this;
on(event: 'channelRecipientRemove', listener: (payload: GatewayClientEvents.ChannelRecipientRemove) => any): this;
on(event: ClientEvents.ENTITLEMENT_CREATE, listener: (payload: GatewayClientEvents.EntitlementCreate) => any): this;
on(event: 'entitlementCreate', listener: (payload: GatewayClientEvents.EntitlementCreate) => any): this;
on(event: ClientEvents.ENTITLEMENT_DELETE, listener: (payload: GatewayClientEvents.EntitlementDelete) => any): this;
on(event: 'entitlementDelete', listener: (payload: GatewayClientEvents.EntitlementDelete) => any): this;
on(event: ClientEvents.ENTITLEMENT_UPDATE, listener: (payload: GatewayClientEvents.EntitlementUpdate) => any): this;
on(event: 'entitlementUpdate', listener: (payload: GatewayClientEvents.EntitlementUpdate) => any): this;
on(event: ClientEvents.FRIEND_SUGGESTION_CREATE, listener: (payload: GatewayClientEvents.FriendSuggestionCreate) => any): this;
on(event: 'friendSuggestionCreate', listener: (payload: GatewayClientEvents.FriendSuggestionCreate) => any): this;
on(event: ClientEvents.FRIEND_SUGGESTION_DELETE, listener: (payload: GatewayClientEvents.FriendSuggestionDelete) => any): this;
on(event: 'friendSuggestionDelete', listener: (payload: GatewayClientEvents.FriendSuggestionDelete) => any): this;
on(event: ClientEvents.GATEWAY_READY, listener: (payload: GatewayClientEvents.GatewayReady) => any): this;
on(event: 'gatewayReady', listener: (payload: GatewayClientEvents.GatewayReady) => any): this;
on(event: ClientEvents.GATEWAY_RESUMED, listener: (payload: GatewayClientEvents.GatewayResumed) => any): this;
on(event: 'gatewayResumed', listener: (payload: GatewayClientEvents.GatewayResumed) => any): this;
on(event: ClientEvents.GIFT_CODE_UPDATE, listener: (payload: GatewayClientEvents.GiftCodeUpdate) => any): this;
on(event: 'giftCodeUpdate', listener: (payload: GatewayClientEvents.GiftCodeUpdate) => any): this;
on(event: ClientEvents.GUILD_BAN_ADD, listener: (payload: GatewayClientEvents.GuildBanAdd) => any): this;
on(event: 'guildBanAdd', listener: (payload: GatewayClientEvents.GuildBanAdd) => any): this;
on(event: ClientEvents.GUILD_BAN_REMOVE, listener: (payload: GatewayClientEvents.GuildBanRemove) => any): this;
on(event: 'guildBanRemove', listener: (payload: GatewayClientEvents.GuildBanRemove) => any): this;
on(event: ClientEvents.GUILD_CREATE, listener: (payload: GatewayClientEvents.GuildCreate) => any): this;
on(event: 'guildCreate', listener: (payload: GatewayClientEvents.GuildCreate) => any): this;
on(event: ClientEvents.GUILD_DELETE, listener: (payload: GatewayClientEvents.GuildDelete) => any): this;
on(event: 'guildDelete', listener: (payload: GatewayClientEvents.GuildDelete) => any): this;
on(event: ClientEvents.GUILD_EMOJIS_UPDATE, listener: (payload: GatewayClientEvents.GuildEmojisUpdate) => any): this;
on(event: 'guildEmojisUpdate', listener: (payload: GatewayClientEvents.GuildEmojisUpdate) => any): this;
on(event: ClientEvents.GUILD_INTEGRATIONS_UPDATE, listener: (payload: GatewayClientEvents.GuildIntegrationsUpdate) => any): this;
on(event: 'guildIntegrationsUpdate', listener: (payload: GatewayClientEvents.GuildIntegrationsUpdate) => any): this;
on(event: ClientEvents.GUILD_MEMBER_ADD, listener: (payload: GatewayClientEvents.GuildMemberAdd) => any): this;
on(event: 'guildMemberAdd', listener: (payload: GatewayClientEvents.GuildMemberAdd) => any): this;
on(event: ClientEvents.GUILD_MEMBER_LIST_UPDATE, listener: (payload: GatewayClientEvents.GuildMemberListUpdate) => any): this;
on(event: 'guildMemberListUpdate', listener: (payload: GatewayClientEvents.GuildMemberListUpdate) => any): this;
on(event: ClientEvents.GUILD_MEMBER_REMOVE, listener: (payload: GatewayClientEvents.GuildMemberRemove) => any): this;
on(event: 'guildMemberRemove', listener: (payload: GatewayClientEvents.GuildMemberRemove) => any): this;
on(event: ClientEvents.GUILD_MEMBER_UPDATE, listener: (payload: GatewayClientEvents.GuildMemberUpdate) => any): this;
on(event: 'guildMemberUpdate', listener: (payload: GatewayClientEvents.GuildMemberUpdate) => any): this;
on(event: ClientEvents.GUILD_MEMBERS_CHUNK, listener: (payload: GatewayClientEvents.GuildMembersChunk) => any): this;
on(event: 'guildMembersChunk', listener: (payload: GatewayClientEvents.GuildMembersChunk) => any): this;
on(event: ClientEvents.GUILD_READY, listener: (payload: GatewayClientEvents.GuildReady) => any): this;
on(event: 'guildReady', listener: (payload: GatewayClientEvents.GuildReady) => any): this;
on(event: ClientEvents.GUILD_ROLE_CREATE, listener: (payload: GatewayClientEvents.GuildRoleCreate) => any): this;
on(event: 'guildRoleCreate', listener: (payload: GatewayClientEvents.GuildRoleCreate) => any): this;
on(event: ClientEvents.GUILD_ROLE_DELETE, listener: (payload: GatewayClientEvents.GuildRoleDelete) => any): this;
on(event: 'guildRoleDelete', listener: (payload: GatewayClientEvents.GuildRoleDelete) => any): this;
on(event: ClientEvents.GUILD_ROLE_UPDATE, listener: (payload: GatewayClientEvents.GuildRoleUpdate) => any): this;
on(event: 'guildRoleUpdate', listener: (payload: GatewayClientEvents.GuildRoleUpdate) => any): this;
on(event: ClientEvents.GUILD_STICKERS_UPDATE, listener: (payload: GatewayClientEvents.GuildStickersUpdate) => any): this;
on(event: 'guildStickersUpdate', listener: (payload: GatewayClientEvents.GuildStickersUpdate) => any): this;
on(event: ClientEvents.GUILD_UPDATE, listener: (payload: GatewayClientEvents.GuildUpdate) => any): this;
on(event: 'guildUpdate', listener: (payload: GatewayClientEvents.GuildUpdate) => any): this;
on(event: ClientEvents.INTERACTION_CREATE, listener: (payload: GatewayClientEvents.InteractionCreate) => any): this;
on(event: 'interactionCreate', listener: (payload: GatewayClientEvents.InteractionCreate) => any): this;
on(event: ClientEvents.INVITE_CREATE, listener: (payload: GatewayClientEvents.InviteCreate) => any): this;
on(event: 'inviteCreate', listener: (payload: GatewayClientEvents.InviteCreate) => any): this;
on(event: ClientEvents.INVITE_DELETE, listener: (payload: GatewayClientEvents.InviteDelete) => any): this;
on(event: 'inviteDelete', listener: (payload: GatewayClientEvents.InviteDelete) => any): this;
on(event: ClientEvents.LIBRARY_APPLICATION_UPDATE, listener: (payload: GatewayClientEvents.LibraryApplicationUpdate) => any): this;
on(event: 'libraryApplicationUpdate', listener: (payload: GatewayClientEvents.LibraryApplicationUpdate) => any): this;
on(event: ClientEvents.LOBBY_CREATE, listener: (payload: GatewayClientEvents.LobbyCreate) => any): this;
on(event: 'lobbyCreate', listener: (payload: GatewayClientEvents.LobbyCreate) => any): this;
on(event: ClientEvents.LOBBY_DELETE, listener: (payload: GatewayClientEvents.LobbyDelete) => any): this;
on(event: 'lobbyDelete', listener: (payload: GatewayClientEvents.LobbyDelete) => any): this;
on(event: ClientEvents.LOBBY_UPDATE, listener: (payload: GatewayClientEvents.LobbyUpdate) => any): this;
on(event: 'lobbyUpdate', listener: (payload: GatewayClientEvents.LobbyUpdate) => any): this;
on(event: ClientEvents.LOBBY_MEMBER_CONNECT, listener: (payload: GatewayClientEvents.LobbyMemberConnect) => any): this;
on(event: 'lobbyMemberConnect', listener: (payload: GatewayClientEvents.LobbyMemberConnect) => any): this;
on(event: ClientEvents.LOBBY_MEMBER_DISCONNECT, listener: (payload: GatewayClientEvents.LobbyMemberDisconnect) => any): this;
on(event: 'lobbyMemberDisconnect', listener: (payload: GatewayClientEvents.LobbyMemberDisconnect) => any): this;
on(event: ClientEvents.LOBBY_MEMBER_UPDATE, listener: (payload: GatewayClientEvents.LobbyMemberUpdate) => any): this;
on(event: 'lobbyMemberUpdate', listener: (payload: GatewayClientEvents.LobbyMemberUpdate) => any): this;
on(event: ClientEvents.LOBBY_MESSAGE, listener: (payload: GatewayClientEvents.LobbyMessage) => any): this;
on(event: 'lobbyMessage', listener: (payload: GatewayClientEvents.LobbyMessage) => any): this;
on(event: ClientEvents.LOBBY_VOICE_SERVER_UPDATE, listener: (payload: GatewayClientEvents.LobbyVoiceServerUpdate) => any): this;
on(event: 'lobbyVoiceServerUpdate', listener: (payload: GatewayClientEvents.LobbyVoiceServerUpdate) => any): this;
on(event: ClientEvents.LOBBY_VOICE_STATE_UPDATE, listener: (payload: GatewayClientEvents.LobbyVoiceStateUpdate) => any): this;
on(event: 'lobbyVoiceStateUpdate', listener: (payload: GatewayClientEvents.LobbyVoiceStateUpdate) => any): this;
on(event: ClientEvents.MESSAGE_ACK, listener: (payload: GatewayClientEvents.MessageAck) => any): this;
on(event: 'messageAck', listener: (payload: GatewayClientEvents.MessageAck) => any): this;
on(event: ClientEvents.MESSAGE_CREATE, listener: (payload: GatewayClientEvents.MessageCreate) => any): this;
on(event: 'messageCreate', listener: (payload: GatewayClientEvents.MessageCreate) => any): this;
on(event: ClientEvents.MESSAGE_DELETE, listener: (payload: GatewayClientEvents.MessageDelete) => any): this;
on(event: 'messageDelete', listener: (payload: GatewayClientEvents.MessageDelete) => any): this;
on(event: ClientEvents.MESSAGE_DELETE_BULK, listener: (payload: GatewayClientEvents.MessageDeleteBulk) => any): this;
on(event: 'messageDeleteBulk', listener: (payload: GatewayClientEvents.MessageDeleteBulk) => any): this;
on(event: ClientEvents.MESSAGE_REACTION_ADD, listener: (payload: GatewayClientEvents.MessageReactionAdd) => any): this;
on(event: 'messageReactionAdd', listener: (payload: GatewayClientEvents.MessageReactionAdd) => any): this;
on(event: ClientEvents.MESSAGE_REACTION_REMOVE, listener: (payload: GatewayClientEvents.MessageReactionRemove) => any): this;
on(event: 'messageReactionRemove', listener: (payload: GatewayClientEvents.MessageReactionRemove) => any): this;
on(event: ClientEvents.MESSAGE_REACTION_REMOVE_ALL, listener: (payload: GatewayClientEvents.MessageReactionRemoveAll) => any): this;
on(event: 'messageReactionRemoveAll', listener: (payload: GatewayClientEvents.MessageReactionRemoveAll) => any): this;
on(event: ClientEvents.MESSAGE_REACTION_REMOVE_EMOJI, listener: (payload: GatewayClientEvents.MessageReactionRemoveEmoji) => any): this;
on(event: 'messageReactionRemoveEmoji', listener: (payload: GatewayClientEvents.MessageReactionRemoveEmoji) => any): this;
on(event: ClientEvents.MESSAGE_UPDATE, listener: (payload: GatewayClientEvents.MessageUpdate) => any): this;
on(event: 'messageUpdate', listener: (payload: GatewayClientEvents.MessageUpdate) => any): this;
on(event: ClientEvents.PRESENCES_REPLACE, listener: (payload: GatewayClientEvents.PresencesReplace) => any): this;
on(event: 'presencesReplace', listener: (payload: GatewayClientEvents.PresencesReplace) => any): this;
on(event: ClientEvents.PRESENCE_UPDATE, listener: (payload: GatewayClientEvents.PresenceUpdate) => any): this;
on(event: 'presenceUpdate', listener: (payload: GatewayClientEvents.PresenceUpdate) => any): this;
on(event: ClientEvents.RECENT_MENTION_DELETE, listener: (payload: GatewayClientEvents.RecentMentionDelete) => any): this;
on(event: 'recentMentionDelete', listener: (payload: GatewayClientEvents.RecentMentionDelete) => any): this;
on(event: ClientEvents.RELATIONSHIP_ADD, listener: (payload: GatewayClientEvents.RelationshipAdd) => any): this;
on(event: 'relationshipAdd', listener: (payload: GatewayClientEvents.RelationshipAdd) => any): this;
on(event: ClientEvents.RELATIONSHIP_REMOVE, listener: (payload: GatewayClientEvents.RelationshipRemove) => any): this;
on(event: 'relationshipRemove', listener: (payload: GatewayClientEvents.RelationshipRemove) => any): this;
on(event: ClientEvents.SESSIONS_REPLACE, listener: (payload: GatewayClientEvents.SessionsReplace) => any): this;
on(event: 'sessionsReplace', listener: (payload: GatewayClientEvents.SessionsReplace) => any): this;
on(event: ClientEvents.STAGE_INSTANCE_CREATE, listener: (payload: GatewayClientEvents.StageInstanceCreate) => any): this;
on(event: 'stageInstanceCreate', listener: (payload: GatewayClientEvents.StageInstanceCreate) => any): this;
on(event: ClientEvents.STAGE_INSTANCE_DELETE, listener: (payload: GatewayClientEvents.StageInstanceDelete) => any): this;
on(event: 'stageInstanceDelete', listener: (payload: GatewayClientEvents.StageInstanceDelete) => any): this;
on(event: ClientEvents.STAGE_INSTANCE_UPDATE, listener: (payload: GatewayClientEvents.StageInstanceUpdate) => any): this;
on(event: 'stageInstanceUpdate', listener: (payload: GatewayClientEvents.StageInstanceUpdate) => any): this;
on(event: ClientEvents.STREAM_CREATE, listener: (payload: GatewayClientEvents.StreamCreate) => any): this;
on(event: 'streamCreate', listener: (payload: GatewayClientEvents.StreamCreate) => any): this;
on(event: ClientEvents.STREAM_DELETE, listener: (payload: GatewayClientEvents.StreamDelete) => any): this;
on(event: 'streamDelete', listener: (payload: GatewayClientEvents.StreamDelete) => any): this;
on(event: ClientEvents.STREAM_SERVER_UPDATE, listener: (payload: GatewayClientEvents.StreamServerUpdate) => any): this;
on(event: 'streamServerUpdate', listener: (payload: GatewayClientEvents.StreamServerUpdate) => any): this;
on(event: ClientEvents.STREAM_UPDATE, listener: (payload: GatewayClientEvents.StreamUpdate) => any): this;
on(event: 'streamUpdate', listener: (payload: GatewayClientEvents.StreamUpdate) => any): this;
on(event: ClientEvents.THREAD_CREATE, listener: (payload: GatewayClientEvents.ThreadCreate) => any): this;
on(event: 'threadCreate', listener: (payload: GatewayClientEvents.ThreadCreate) => any): this;
on(event: ClientEvents.THREAD_DELETE, listener: (payload: GatewayClientEvents.ThreadDelete) => any): this;
on(event: 'threadDelete', listener: (payload: GatewayClientEvents.ThreadDelete) => any): this;
on(event: ClientEvents.THREAD_LIST_SYNC, listener: (payload: GatewayClientEvents.ThreadListSync) => any): this;
on(event: 'threadListSync', listener: (payload: GatewayClientEvents.ThreadListSync) => any): this;
on(event: ClientEvents.THREAD_MEMBER_UPDATE, listener: (payload: GatewayClientEvents.ThreadMemberUpdate) => any): this;
on(event: 'threadMemberUpdate', listener: (payload: GatewayClientEvents.ThreadMemberUpdate) => any): this;
on(event: ClientEvents.THREAD_MEMBERS_UPDATE, listener: (payload: GatewayClientEvents.ThreadMembersUpdate) => any): this;
on(event: 'threadMembersUpdate', listener: (payload: GatewayClientEvents.ThreadMembersUpdate) => any): this;
on(event: ClientEvents.THREAD_UPDATE, listener: (payload: GatewayClientEvents.ThreadUpdate) => any): this;
on(event: 'threadUpdate', listener: (payload: GatewayClientEvents.ThreadUpdate) => any): this;
on(event: ClientEvents.TYPING_START, listener: (payload: GatewayClientEvents.TypingStart) => any): this;
on(event: 'typingStart', listener: (payload: GatewayClientEvents.TypingStart) => any): this;
on(event: ClientEvents.TYPING_STOP, listener: (payload: GatewayClientEvents.TypingStop) => any): this;
on(event: 'typingStop', listener: (payload: GatewayClientEvents.TypingStop) => any): this;
on(event: ClientEvents.USER_ACHIEVEMENT_UPDATE, listener: (payload: GatewayClientEvents.UserAchievementUpdate) => any): this;
on(event: 'userAchievementUpdate', listener: (payload: GatewayClientEvents.UserAchievementUpdate) => any): this;
on(event: ClientEvents.USER_CONNECTIONS_UPDATE, listener: (payload: GatewayClientEvents.UserConnectionsUpdate) => any): this;
on(event: 'userConnectionsUpdate', listener: (payload: GatewayClientEvents.UserConnectionsUpdate) => any): this;
on(event: ClientEvents.USER_FEED_SETTINGS_UPDATE, listener: (payload: GatewayClientEvents.UserFeedSettingsUpdate) => any): this;
on(event: 'userFeedSettingsUpdate', listener: (payload: GatewayClientEvents.UserFeedSettingsUpdate) => any): this;
on(event: ClientEvents.USER_GUILD_SETTINGS_UPDATE, listener: (payload: GatewayClientEvents.UserGuildSettingsUpdate) => any): this;
on(event: 'userGuildSettingsUpdate', listener: (payload: GatewayClientEvents.UserGuildSettingsUpdate) => any): this;
on(event: ClientEvents.USER_NOTE_UPDATE, listener: (payload: GatewayClientEvents.UserNoteUpdate) => any): this;
on(event: 'userNoteUpdate', listener: (payload: GatewayClientEvents.UserNoteUpdate) => any): this;
on(event: ClientEvents.USER_PAYMENT_SOURCES_UPDATE, listener: (payload: GatewayClientEvents.UserPaymentSourcesUpdate) => any): this;
on(event: 'userPaymentSourcesUpdate', listener: (payload: GatewayClientEvents.UserPaymentSourcesUpdate) => any): this;
on(event: ClientEvents.USER_PAYMENTS_UPDATE, listener: (payload: GatewayClientEvents.UserPaymentsUpdate) => any): this;
on(event: 'userPaymentsUpdate', listener: (payload: GatewayClientEvents.UserPaymentsUpdate) => any): this;
on(event: ClientEvents.USER_REQUIRED_ACTION_UPDATE, listener: (payload: GatewayClientEvents.UserRequiredActionUpdate) => any): this;
on(event: 'userRequiredActionUpdate', listener: (payload: GatewayClientEvents.UserRequiredActionUpdate) => any): this;
on(event: ClientEvents.USER_UPDATE, listener: (payload: GatewayClientEvents.UserUpdate) => any): this;
on(event: 'userUpdate', listener: (payload: GatewayClientEvents.UserUpdate) => any): this;
on(event: ClientEvents.USERS_UPDATE, listener: (payload: GatewayClientEvents.UsersUpdate) => any): this;
on(event: 'usersUpdate', listener: (payload: GatewayClientEvents.UsersUpdate) => any): this;
on(event: ClientEvents.VOICE_SERVER_UPDATE, listener: (payload: GatewayClientEvents.VoiceServerUpdate) => any): this;
on(event: 'voiceServerUpdate', listener: (payload: GatewayClientEvents.VoiceServerUpdate) => any): this;
on(event: ClientEvents.VOICE_STATE_UPDATE, listener: (payload: GatewayClientEvents.VoiceStateUpdate) => any): this;
on(event: 'voiceStateUpdate', listener: (payload: GatewayClientEvents.VoiceStateUpdate) => any): this;
on(event: ClientEvents.WEBHOOKS_UPDATE, listener: (payload: GatewayClientEvents.WebhooksUpdate) => any): this;
on(event: 'webhooksUpdate', listener: (payload: GatewayClientEvents.WebhooksUpdate) => any): this;
on(event: ClientEvents.RAW, listener: (payload: GatewayClientEvents.Raw) => any): this;
on(event: 'raw', listener: (payload: GatewayClientEvents.Raw) => any): this;
on(event: ClientEvents.REST_REQUEST, listener: (payload: GatewayClientEvents.RestRequest) => any): this;
on(event: 'restRequest', listener: (payload: GatewayClientEvents.RestRequest) => any): this;
on(event: ClientEvents.REST_RESPONSE, listener: (payload: GatewayClientEvents.RestResponse) => any): this;
on(event: 'restResponse', listener: (payload: GatewayClientEvents.RestResponse) => any): this;
on(event: ClientEvents.UNKNOWN, listener: (payload: GatewayClientEvents.Unknown) => any): this;
on(event: 'unknown', listener: (payload: GatewayClientEvents.Unknown) => any): this;
on(event: ClientEvents.WARN, listener: (payload: GatewayClientEvents.Warn) => any): this;
on(event: 'warn', listener: (payload: GatewayClientEvents.Warn) => any): this;
on(event: ClientEvents.KILLED, listener: (payload: GatewayClientEvents.Killed) => any): this;
on(event: 'killed', listener: (payload: GatewayClientEvents.Killed) => any): this;
once(event: string | symbol, listener: (...args: any[]) => void): this;
once(event: ClientEvents.ACTIVITY_JOIN_INVITE, listener: (payload: GatewayClientEvents.ActivityJoinInvite) => any): this;
once(event: 'activityJoinInvite', listener: (payload: GatewayClientEvents.ActivityJoinInvite) => any): this;
once(event: ClientEvents.ACTIVITY_JOIN_REQUEST, listener: (payload: GatewayClientEvents.ActivityJoinRequest) => any): this;
once(event: 'activityJoinRequest', listener: (payload: GatewayClientEvents.ActivityJoinRequest) => any): this;
once(event: ClientEvents.ACTIVITY_START, listener: (payload: GatewayClientEvents.ActivityStart) => any): this;
once(event: 'activityStart', listener: (payload: GatewayClientEvents.ActivityStart) => any): this;
once(event: ClientEvents.APPLICATION_COMMAND_CREATE, listener: (payload: GatewayClientEvents.ApplicationCommandCreate) => any): this;
once(event: 'applicationCommandCreate', listener: (payload: GatewayClientEvents.ApplicationCommandCreate) => any): this;
once(event: ClientEvents.APPLICATION_COMMAND_DELETE, listener: (payload: GatewayClientEvents.ApplicationCommandDelete) => any): this;
once(event: 'applicationCommandDelete', listener: (payload: GatewayClientEvents.ApplicationCommandDelete) => any): this;
once(event: ClientEvents.APPLICATION_COMMAND_UPDATE, listener: (payload: GatewayClientEvents.ApplicationCommandUpdate) => any): this;
once(event: 'applicationCommandUpdate', listener: (payload: GatewayClientEvents.ApplicationCommandUpdate) => any): this;
once(event: ClientEvents.BRAINTREE_POPUP_BRIDGE_CALLBACK, listener: (payload: GatewayClientEvents.BraintreePopupBridgeCallback) => any): this;
once(event: 'braintreePopupBridgeCallback', listener: (payload: GatewayClientEvents.BraintreePopupBridgeCallback) => any): this;
once(event: ClientEvents.CALL_CREATE, listener: (payload: GatewayClientEvents.CallCreate) => any): this;
once(event: 'callCreate', listener: (payload: GatewayClientEvents.CallCreate) => any): this;
once(event: ClientEvents.CALL_DELETE, listener: (payload: GatewayClientEvents.CallDelete) => any): this;
once(event: 'callDelete', listener: (payload: GatewayClientEvents.CallDelete) => any): this;
once(event: ClientEvents.CALL_UPDATE, listener: (payload: GatewayClientEvents.CallUpdate) => any): this;
once(event: 'callUpdate', listener: (payload: GatewayClientEvents.CallUpdate) => any): this;
once(event: ClientEvents.CHANNEL_CREATE, listener: (payload: GatewayClientEvents.ChannelCreate) => any): this;
once(event: 'channelCreate', listener: (payload: GatewayClientEvents.ChannelCreate) => any): this;
once(event: ClientEvents.CHANNEL_DELETE, listener: (payload: GatewayClientEvents.ChannelDelete) => any): this;
once(event: 'channelDelete', listener: (payload: GatewayClientEvents.ChannelDelete) => any): this;
once(event: ClientEvents.CHANNEL_UPDATE, listener: (payload: GatewayClientEvents.ChannelUpdate) => any): this;
once(event: 'channelUpdate', listener: (payload: GatewayClientEvents.ChannelUpdate) => any): this;
once(event: ClientEvents.CHANNEL_PINS_ACK, listener: (payload: GatewayClientEvents.ChannelPinsAck) => any): this;
once(event: 'channelPinsAck', listener: (payload: GatewayClientEvents.ChannelPinsAck) => any): this;
once(event: ClientEvents.CHANNEL_PINS_UPDATE, listener: (payload: GatewayClientEvents.ChannelPinsUpdate) => any): this;
once(event: 'channelPinsUpdate', listener: (payload: GatewayClientEvents.ChannelPinsUpdate) => any): this;
once(event: ClientEvents.CHANNEL_RECIPIENT_ADD, listener: (payload: GatewayClientEvents.ChannelRecipientAdd) => any): this;
once(event: 'channelRecipientAdd', listener: (payload: GatewayClientEvents.ChannelRecipientAdd) => any): this;
once(event: ClientEvents.CHANNEL_RECIPIENT_REMOVE, listener: (payload: GatewayClientEvents.ChannelRecipientRemove) => any): this;
once(event: 'channelRecipientRemove', listener: (payload: GatewayClientEvents.ChannelRecipientRemove) => any): this;
once(event: ClientEvents.ENTITLEMENT_CREATE, listener: (payload: GatewayClientEvents.EntitlementCreate) => any): this;
once(event: 'entitlementCreate', listener: (payload: GatewayClientEvents.EntitlementCreate) => any): this;
once(event: ClientEvents.ENTITLEMENT_DELETE, listener: (payload: GatewayClientEvents.EntitlementDelete) => any): this;
once(event: 'entitlementDelete', listener: (payload: GatewayClientEvents.EntitlementDelete) => any): this;
once(event: ClientEvents.ENTITLEMENT_UPDATE, listener: (payload: GatewayClientEvents.EntitlementUpdate) => any): this;
once(event: 'entitlementUpdate', listener: (payload: GatewayClientEvents.EntitlementUpdate) => any): this;
once(event: ClientEvents.FRIEND_SUGGESTION_CREATE, listener: (payload: GatewayClientEvents.FriendSuggestionCreate) => any): this;
once(event: 'friendSuggestionCreate', listener: (payload: GatewayClientEvents.FriendSuggestionCreate) => any): this;
once(event: ClientEvents.FRIEND_SUGGESTION_DELETE, listener: (payload: GatewayClientEvents.FriendSuggestionDelete) => any): this;
once(event: 'friendSuggestionDelete', listener: (payload: GatewayClientEvents.FriendSuggestionDelete) => any): this;
once(event: ClientEvents.GATEWAY_READY, listener: (payload: GatewayClientEvents.GatewayReady) => any): this;
once(event: 'gatewayReady', listener: (payload: GatewayClientEvents.GatewayReady) => any): this;
once(event: ClientEvents.GATEWAY_RESUMED, listener: (payload: GatewayClientEvents.GatewayResumed) => any): this;
once(event: 'gatewayResumed', listener: (payload: GatewayClientEvents.GatewayResumed) => any): this;
once(event: ClientEvents.GIFT_CODE_UPDATE, listener: (payload: GatewayClientEvents.GiftCodeUpdate) => any): this;
once(event: 'giftCodeUpdate', listener: (payload: GatewayClientEvents.GiftCodeUpdate) => any): this;
once(event: ClientEvents.GUILD_BAN_ADD, listener: (payload: GatewayClientEvents.GuildBanAdd) => any): this;
once(event: 'guildBanAdd', listener: (payload: GatewayClientEvents.GuildBanAdd) => any): this;
once(event: ClientEvents.GUILD_BAN_REMOVE, listener: (payload: GatewayClientEvents.GuildBanRemove) => any): this;
once(event: 'guildBanRemove', listener: (payload: GatewayClientEvents.GuildBanRemove) => any): this;
once(event: ClientEvents.GUILD_CREATE, listener: (payload: GatewayClientEvents.GuildCreate) => any): this;
once(event: 'guildCreate', listener: (payload: GatewayClientEvents.GuildCreate) => any): this;
once(event: ClientEvents.GUILD_DELETE, listener: (payload: GatewayClientEvents.GuildDelete) => any): this;
once(event: 'guildDelete', listener: (payload: GatewayClientEvents.GuildDelete) => any): this;
once(event: ClientEvents.GUILD_EMOJIS_UPDATE, listener: (payload: GatewayClientEvents.GuildEmojisUpdate) => any): this;
once(event: 'guildEmojisUpdate', listener: (payload: GatewayClientEvents.GuildEmojisUpdate) => any): this;
once(event: ClientEvents.GUILD_INTEGRATIONS_UPDATE, listener: (payload: GatewayClientEvents.GuildIntegrationsUpdate) => any): this;
once(event: 'guildIntegrationsUpdate', listener: (payload: GatewayClientEvents.GuildIntegrationsUpdate) => any): this;
once(event: ClientEvents.GUILD_MEMBER_ADD, listener: (payload: GatewayClientEvents.GuildMemberAdd) => any): this;
once(event: 'guildMemberAdd', listener: (payload: GatewayClientEvents.GuildMemberAdd) => any): this;
once(event: ClientEvents.GUILD_MEMBER_LIST_UPDATE, listener: (payload: GatewayClientEvents.GuildMemberListUpdate) => any): this;
once(event: 'guildMemberListUpdate', listener: (payload: GatewayClientEvents.GuildMemberListUpdate) => any): this;
once(event: ClientEvents.GUILD_MEMBER_REMOVE, listener: (payload: GatewayClientEvents.GuildMemberRemove) => any): this;
once(event: 'guildMemberRemove', listener: (payload: GatewayClientEvents.GuildMemberRemove) => any): this;
once(event: ClientEvents.GUILD_MEMBER_UPDATE, listener: (payload: GatewayClientEvents.GuildMemberUpdate) => any): this;
once(event: 'guildMemberUpdate', listener: (payload: GatewayClientEvents.GuildMemberUpdate) => any): this;
once(event: ClientEvents.GUILD_MEMBERS_CHUNK, listener: (payload: GatewayClientEvents.GuildMembersChunk) => any): this;
once(event: 'guildMembersChunk', listener: (payload: GatewayClientEvents.GuildMembersChunk) => any): this;
once(event: ClientEvents.GUILD_READY, listener: (payload: GatewayClientEvents.GuildReady) => any): this;
once(event: 'guildReady', listener: (payload: GatewayClientEvents.GuildReady) => any): this;
once(event: ClientEvents.GUILD_ROLE_CREATE, listener: (payload: GatewayClientEvents.GuildRoleCreate) => any): this;
once(event: 'guildRoleCreate', listener: (payload: GatewayClientEvents.GuildRoleCreate) => any): this;
once(event: ClientEvents.GUILD_ROLE_DELETE, listener: (payload: GatewayClientEvents.GuildRoleDelete) => any): this;
once(event: 'guildRoleDelete', listener: (payload: GatewayClientEvents.GuildRoleDelete) => any): this;
once(event: ClientEvents.GUILD_ROLE_UPDATE, listener: (payload: GatewayClientEvents.GuildRoleUpdate) => any): this;
once(event: 'guildRoleUpdate', listener: (payload: GatewayClientEvents.GuildRoleUpdate) => any): this;
once(event: ClientEvents.GUILD_STICKERS_UPDATE, listener: (payload: GatewayClientEvents.GuildStickersUpdate) => any): this;
once(event: 'guildStickersUpdate', listener: (payload: GatewayClientEvents.GuildStickersUpdate) => any): this;
once(event: ClientEvents.GUILD_UPDATE, listener: (payload: GatewayClientEvents.GuildUpdate) => any): this;
once(event: 'guildUpdate', listener: (payload: GatewayClientEvents.GuildUpdate) => any): this;
once(event: ClientEvents.INVITE_CREATE, listener: (payload: GatewayClientEvents.InviteCreate) => any): this;
once(event: 'inviteCreate', listener: (payload: GatewayClientEvents.InviteCreate) => any): this;
once(event: ClientEvents.INVITE_DELETE, listener: (payload: GatewayClientEvents.InviteDelete) => any): this;
once(event: 'inviteDelete', listener: (payload: GatewayClientEvents.InviteDelete) => any): this;
once(event: ClientEvents.LIBRARY_APPLICATION_UPDATE, listener: (payload: GatewayClientEvents.LibraryApplicationUpdate) => any): this;
once(event: 'libraryApplicationUpdate', listener: (payload: GatewayClientEvents.LibraryApplicationUpdate) => any): this;
once(event: ClientEvents.LOBBY_CREATE, listener: (payload: GatewayClientEvents.LobbyCreate) => any): this;
once(event: 'lobbyCreate', listener: (payload: GatewayClientEvents.LobbyCreate) => any): this;
once(event: ClientEvents.LOBBY_DELETE, listener: (payload: GatewayClientEvents.LobbyDelete) => any): this;
once(event: 'lobbyDelete', listener: (payload: GatewayClientEvents.LobbyDelete) => any): this;
once(event: ClientEvents.LOBBY_UPDATE, listener: (payload: GatewayClientEvents.LobbyUpdate) => any): this;
once(event: 'lobbyUpdate', listener: (payload: GatewayClientEvents.LobbyUpdate) => any): this;
once(event: ClientEvents.LOBBY_MEMBER_CONNECT, listener: (payload: GatewayClientEvents.LobbyMemberConnect) => any): this;
once(event: 'lobbyMemberConnect', listener: (payload: GatewayClientEvents.LobbyMemberConnect) => any): this;
once(event: ClientEvents.LOBBY_MEMBER_DISCONNECT, listener: (payload: GatewayClientEvents.LobbyMemberDisconnect) => any): this;
once(event: 'lobbyMemberDisconnect', listener: (payload: GatewayClientEvents.LobbyMemberDisconnect) => any): this;
once(event: ClientEvents.LOBBY_MEMBER_UPDATE, listener: (payload: GatewayClientEvents.LobbyMemberUpdate) => any): this;
once(event: 'lobbyMemberUpdate', listener: (payload: GatewayClientEvents.LobbyMemberUpdate) => any): this;
once(event: ClientEvents.LOBBY_MESSAGE, listener: (payload: GatewayClientEvents.LobbyMessage) => any): this;
once(event: 'lobbyMessage', listener: (payload: GatewayClientEvents.LobbyMessage) => any): this;
once(event: ClientEvents.LOBBY_VOICE_SERVER_UPDATE, listener: (payload: GatewayClientEvents.LobbyVoiceServerUpdate) => any): this;
once(event: 'lobbyVoiceServerUpdate', listener: (payload: GatewayClientEvents.LobbyVoiceServerUpdate) => any): this;
once(event: ClientEvents.LOBBY_VOICE_STATE_UPDATE, listener: (payload: GatewayClientEvents.LobbyVoiceStateUpdate) => any): this;
once(event: 'lobbyVoiceStateUpdate', listener: (payload: GatewayClientEvents.LobbyVoiceStateUpdate) => any): this;
once(event: ClientEvents.MESSAGE_ACK, listener: (payload: GatewayClientEvents.MessageAck) => any): this;
once(event: 'messageAck', listener: (payload: GatewayClientEvents.MessageAck) => any): this;
once(event: ClientEvents.MESSAGE_CREATE, listener: (payload: GatewayClientEvents.MessageCreate) => any): this;
once(event: 'messageCreate', listener: (payload: GatewayClientEvents.MessageCreate) => any): this;
once(event: ClientEvents.MESSAGE_DELETE, listener: (payload: GatewayClientEvents.MessageDelete) => any): this;
once(event: 'messageDelete', listener: (payload: GatewayClientEvents.MessageDelete) => any): this;
once(event: ClientEvents.MESSAGE_DELETE_BULK, listener: (payload: GatewayClientEvents.MessageDeleteBulk) => any): this;
once(event: 'messageDeleteBulk', listener: (payload: GatewayClientEvents.MessageDeleteBulk) => any): this;
once(event: ClientEvents.MESSAGE_REACTION_ADD, listener: (payload: GatewayClientEvents.MessageReactionAdd) => any): this;
once(event: 'messageReactionAdd', listener: (payload: GatewayClientEvents.MessageReactionAdd) => any): this;
once(event: ClientEvents.MESSAGE_REACTION_REMOVE, listener: (payload: GatewayClientEvents.MessageReactionRemove) => any): this;
once(event: 'messageReactionRemove', listener: (payload: GatewayClientEvents.MessageReactionRemove) => any): this;
once(event: ClientEvents.MESSAGE_REACTION_REMOVE_ALL, listener: (payload: GatewayClientEvents.MessageReactionRemoveAll) => any): this;
once(event: 'messageReactionRemoveAll', listener: (payload: GatewayClientEvents.MessageReactionRemoveAll) => any): this;
once(event: ClientEvents.MESSAGE_REACTION_REMOVE_EMOJI, listener: (payload: GatewayClientEvents.MessageReactionRemoveEmoji) => any): this;
once(event: 'messageReactionRemoveEmoji', listener: (payload: GatewayClientEvents.MessageReactionRemoveEmoji) => any): this;
once(event: ClientEvents.MESSAGE_UPDATE, listener: (payload: GatewayClientEvents.MessageUpdate) => any): this;
once(event: 'messageUpdate', listener: (payload: GatewayClientEvents.MessageUpdate) => any): this;
once(event: ClientEvents.PRESENCES_REPLACE, listener: (payload: GatewayClientEvents.PresencesReplace) => any): this;
once(event: 'presencesReplace', listener: (payload: GatewayClientEvents.PresencesReplace) => any): this;
once(event: ClientEvents.PRESENCE_UPDATE, listener: (payload: GatewayClientEvents.PresenceUpdate) => any): this;
once(event: 'presenceUpdate', listener: (payload: GatewayClientEvents.PresenceUpdate) => any): this;
once(event: ClientEvents.RECENT_MENTION_DELETE, listener: (payload: GatewayClientEvents.RecentMentionDelete) => any): this;
once(event: 'recentMentionDelete', listener: (payload: GatewayClientEvents.RecentMentionDelete) => any): this;
once(event: ClientEvents.RELATIONSHIP_ADD, listener: (payload: GatewayClientEvents.RelationshipAdd) => any): this;
once(event: 'relationshipAdd', listener: (payload: GatewayClientEvents.RelationshipAdd) => any): this;
once(event: ClientEvents.RELATIONSHIP_REMOVE, listener: (payload: GatewayClientEvents.RelationshipRemove) => any): this;
once(event: 'relationshipRemove', listener: (payload: GatewayClientEvents.RelationshipRemove) => any): this;
once(event: ClientEvents.SESSIONS_REPLACE, listener: (payload: GatewayClientEvents.SessionsReplace) => any): this;
once(event: 'sessionsReplace', listener: (payload: GatewayClientEvents.SessionsReplace) => any): this;
once(event: ClientEvents.STAGE_INSTANCE_CREATE, listener: (payload: GatewayClientEvents.StageInstanceCreate) => any): this;
once(event: 'stageInstanceCreate', listener: (payload: GatewayClientEvents.StageInstanceCreate) => any): this;
once(event: ClientEvents.STAGE_INSTANCE_DELETE, listener: (payload: GatewayClientEvents.StageInstanceDelete) => any): this;
once(event: 'stageInstanceDelete', listener: (payload: GatewayClientEvents.StageInstanceDelete) => any): this;
once(event: ClientEvents.STAGE_INSTANCE_UPDATE, listener: (payload: GatewayClientEvents.StageInstanceUpdate) => any): this;
once(event: 'stageInstanceUpdate', listener: (payload: GatewayClientEvents.StageInstanceUpdate) => any): this;
once(event: ClientEvents.STREAM_CREATE, listener: (payload: GatewayClientEvents.StreamCreate) => any): this;
once(event: 'streamCreate', listener: (payload: GatewayClientEvents.StreamCreate) => any): this;
once(event: ClientEvents.STREAM_DELETE, listener: (payload: GatewayClientEvents.StreamDelete) => any): this;
once(event: 'streamDelete', listener: (payload: GatewayClientEvents.StreamDelete) => any): this;
once(event: ClientEvents.STREAM_SERVER_UPDATE, listener: (payload: GatewayClientEvents.StreamServerUpdate) => any): this;
once(event: 'streamServerUpdate', listener: (payload: GatewayClientEvents.StreamServerUpdate) => any): this;
once(event: ClientEvents.STREAM_UPDATE, listener: (payload: GatewayClientEvents.StreamUpdate) => any): this;
once(event: 'streamUpdate', listener: (payload: GatewayClientEvents.StreamUpdate) => any): this;
once(event: ClientEvents.THREAD_CREATE, listener: (payload: GatewayClientEvents.ThreadCreate) => any): this;
once(event: 'threadCreate', listener: (payload: GatewayClientEvents.ThreadCreate) => any): this;
once(event: ClientEvents.THREAD_DELETE, listener: (payload: GatewayClientEvents.ThreadDelete) => any): this;
once(event: 'threadDelete', listener: (payload: GatewayClientEvents.ThreadDelete) => any): this;
once(event: ClientEvents.THREAD_LIST_SYNC, listener: (payload: GatewayClientEvents.ThreadListSync) => any): this;
once(event: 'threadListSync', listener: (payload: GatewayClientEvents.ThreadListSync) => any): this;
once(event: ClientEvents.THREAD_MEMBER_UPDATE, listener: (payload: GatewayClientEvents.ThreadMemberUpdate) => any): this;
once(event: 'threadMemberUpdate', listener: (payload: GatewayClientEvents.ThreadMemberUpdate) => an