UNPKG

seyfert

Version:

The most advanced framework for discord bots

124 lines (123 loc) 5.04 kB
import { type If, Logger } from '../common'; import type { Adapter } from './adapters'; import { Guilds } from './resources/guilds'; import { Users } from './resources/users'; import type { InternalOptions, UsingClient } from '../commands'; import { type GatewayDispatchPayload, GatewayIntentBits } from '../types'; import { Bans } from './resources/bans'; import { Channels } from './resources/channels'; import { Emojis } from './resources/emojis'; import { Members } from './resources/members'; import { Messages } from './resources/messages'; import { Overwrites } from './resources/overwrites'; import { Presences } from './resources/presence'; import { Roles } from './resources/roles'; import { StageInstances } from './resources/stage-instances'; import { Stickers } from './resources/stickers'; import { VoiceStates } from './resources/voice-states'; export { BaseResource } from './resources/default/base'; export { GuildBasedResource } from './resources/default/guild-based'; export { GuildRelatedResource } from './resources/default/guild-related'; export type InferAsyncCache = InternalOptions extends { asyncCache: infer P; } ? P : false; export type ReturnCache<T> = If<InferAsyncCache, Promise<T>, T>; export type GuildBased = 'members' | 'voiceStates'; export type GuildRelated = 'emojis' | 'roles' | 'channels' | 'stickers' | 'presences' | 'stageInstances' | 'overwrites' | 'messages' | 'bans'; export type NonGuildBased = 'users' | 'guilds'; export type SeyfertBased = 'onPacket'; type ReturnManagers = { [K in NonGuildBased | GuildBased | GuildRelated]: NonNullable<Awaited<ReturnType<NonNullable<Cache[K]>['get']>>>; }; export * from './adapters/index'; export type CachedEvents = 'READY' | 'GUILD_CREATE' | 'GUILD_UPDATE' | 'GUILD_DELETE' | 'CHANNEL_CREATE' | 'CHANNEL_UPDATE' | 'CHANNEL_DELETE' | 'GUILD_ROLE_CREATE' | 'GUILD_ROLE_UPDATE' | 'GUILD_ROLE_DELETE' | 'GUILD_BAN_ADD' | 'GUILD_BAN_REMOVE' | 'GUILD_EMOJIS_UPDATE' | 'GUILD_STICKERS_UPDATE' | 'GUILD_MEMBER_ADD' | 'GUILD_MEMBER_UPDATE' | 'GUILD_MEMBER_REMOVE' | 'MESSAGE_CREATE' | 'PRESENCE_UPDATE' | 'THREAD_DELETE' | 'THREAD_CREATE' | 'THREAD_UPDATE' | 'USER_UPDATE' | 'VOICE_STATE_UPDATE' | 'STAGE_INSTANCE_CREATE' | 'STAGE_INSTANCE_UPDATE' | 'STAGE_INSTANCE_DELETE'; export type DisabledCache = { [P in NonGuildBased | GuildBased | GuildRelated | SeyfertBased]?: boolean; }; export declare class Cache { intents: number; adapter: Adapter; users?: Users; guilds?: Guilds; members?: Members; voiceStates?: VoiceStates; overwrites?: Overwrites; roles?: Roles; emojis?: Emojis; channels?: Channels; stickers?: Stickers; presences?: Presences; stageInstances?: StageInstances; messages?: Messages; bans?: Bans; __logger__?: Logger; constructor(intents: number, adapter: Adapter, disabledCache: DisabledCache, client: UsingClient); buildCache(disabledCache: DisabledCache, client: UsingClient): void; flush(): ReturnCache<void>; hasIntent(intent: keyof typeof GatewayIntentBits): boolean; get hasGuildsIntent(): boolean; get hasRolesIntent(): boolean; get hasChannelsIntent(): boolean; get hasGuildMembersIntent(): boolean; get hasGuildExpressionsIntent(): boolean; get hasVoiceStatesIntent(): boolean; get hasPrenseceUpdates(): boolean; get hasDirectMessages(): boolean; get hasModerationIntent(): boolean; bulkGet(keys: (readonly [ NonGuildBased | GuildRelated, string ] | readonly [ GuildBased, string, string ])[]): Promise<Partial<{ messages: ReturnManagers['messages'][]; users: ReturnManagers['users'][]; guilds: ReturnManagers['guilds'][]; members: ReturnManagers['members'][]; voiceStates: ReturnManagers['voiceStates'][]; emojis: ReturnManagers['emojis'][]; roles: ReturnManagers['roles'][]; channels: ReturnManagers['channels'][]; stickers: ReturnManagers['stickers'][]; presences: ReturnManagers['presences'][]; stageInstances: ReturnManagers['stageInstances'][]; overwrites: ReturnManagers['overwrites'][]; bans: ReturnManagers['bans'][]; }>>; bulkPatch(keys: (readonly [ CacheFrom, NonGuildBased, any, string ] | readonly [ CacheFrom, GuildBased | GuildRelated, any, string, string ])[]): Promise<void>; bulkSet(keys: (readonly [ CacheFrom, NonGuildBased, any, string ] | readonly [ CacheFrom, GuildBased | GuildRelated, any, string, string ])[]): Promise<void>; onPacket(event: GatewayDispatchPayload): Promise<void>; protected onPacketDefault(event: GatewayDispatchPayload): Promise<void>; testAdapter(): Promise<void>; private testUsersAndMembers; private testChannelsAndOverwrites; } export declare enum CacheFrom { Gateway = 1, Rest = 2, Test = 3 }