diff --git a/src/cache/resources/channels.ts b/src/cache/resources/channels.ts index 59670ad..36258c9 100644 --- a/src/cache/resources/channels.ts +++ b/src/cache/resources/channels.ts @@ -1,3 +1,4 @@ +import type { APIChannel } from 'discord-api-types/v10'; import { fakePromise } from '../../common'; import type { AllChannels } from '../../structures'; import channelFrom from '../../structures/channels'; @@ -7,7 +8,7 @@ import { GuildRelatedResource } from './default/guild-related'; export class Channels extends GuildRelatedResource { namespace = 'channel'; - parse(data: any, id: string, guild_id: string) { + parse(data: APIChannel, id: string, guild_id: string) { const { permission_overwrites, ...rest } = super.parse(data, id, guild_id); return rest; } diff --git a/src/cache/resources/emojis.ts b/src/cache/resources/emojis.ts index 4a63b9e..043eed4 100644 --- a/src/cache/resources/emojis.ts +++ b/src/cache/resources/emojis.ts @@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related'; export class Emojis extends GuildRelatedResource { namespace = 'emoji'; + //@ts-ignore + filter(data: APIEmoji, id: string, guild_id?: string) { + return true; + } + override get(id: string): ReturnCache { return fakePromise(super.get(id)).then(rawEmoji => rawEmoji ? new GuildEmoji(this.client, rawEmoji, rawEmoji.guild_id) : undefined, diff --git a/src/cache/resources/guilds.ts b/src/cache/resources/guilds.ts index d534116..9936d16 100644 --- a/src/cache/resources/guilds.ts +++ b/src/cache/resources/guilds.ts @@ -7,6 +7,11 @@ import { BaseResource } from './default/base'; export class Guilds extends BaseResource { namespace = 'guild'; + //@ts-expect-error + filter(data: APIGuild, id: string) { + return true; + } + override get(id: string): ReturnCache | undefined> { return fakePromise(super.get(id)).then(guild => (guild ? new Guild<'cached'>(this.client, guild) : undefined)); } diff --git a/src/cache/resources/members.ts b/src/cache/resources/members.ts index ffdda7a..d491b0c 100644 --- a/src/cache/resources/members.ts +++ b/src/cache/resources/members.ts @@ -1,3 +1,4 @@ +import type { APIGuildMember } from 'discord-api-types/v10'; import type { ReturnCache } from '../..'; import { fakePromise } from '../../common'; import { GuildMember } from '../../structures'; @@ -5,6 +6,11 @@ import { GuildBasedResource } from './default/guild-based'; export class Members extends GuildBasedResource { namespace = 'member'; + //@ts-expect-error + filter(data: APIGuildMember, id: string, guild_id: string) { + return true; + } + override parse(data: any, key: string, guild_id: string) { const { user, ...rest } = super.parse(data, data.user?.id ?? key, guild_id); return rest; diff --git a/src/cache/resources/overwrites.ts b/src/cache/resources/overwrites.ts index 53cdad4..fc19aed 100644 --- a/src/cache/resources/overwrites.ts +++ b/src/cache/resources/overwrites.ts @@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related'; export class Overwrites extends GuildRelatedResource { namespace = 'overwrite'; + //@ts-expect-error + filter(data: APIOverwrite[], id: string, guild_id?: string) { + return true; + } + parse(data: any[], _id: string, guild_id: string) { data.forEach(x => { x.guild_id = guild_id; diff --git a/src/cache/resources/presence.ts b/src/cache/resources/presence.ts index d5afdca..f0ce64f 100644 --- a/src/cache/resources/presence.ts +++ b/src/cache/resources/presence.ts @@ -4,6 +4,11 @@ import { GuildRelatedResource } from './default/guild-related'; export class Presences extends GuildRelatedResource { namespace = 'presence'; + //@ts-expect-error + filter(data: GatewayPresenceUpdate, id: string, guild_id?: string) { + return true; + } + override parse(data: any, key: string, guild_id: string): PresenceResource { const { user, ...rest } = super.parse(data, key, guild_id); rest.user_id ??= key; diff --git a/src/cache/resources/roles.ts b/src/cache/resources/roles.ts index 390de2f..b039be7 100644 --- a/src/cache/resources/roles.ts +++ b/src/cache/resources/roles.ts @@ -1,3 +1,4 @@ +import type { APIRole } from 'discord-api-types/v10'; import type { ReturnCache } from '../..'; import { fakePromise } from '../../common'; import { GuildRole } from '../../structures'; @@ -6,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related'; export class Roles extends GuildRelatedResource { namespace = 'role'; + //@ts-expect-error + filter(data: APIRole, id: string, guild_id?: string) { + return true; + } + override get(id: string): ReturnCache { return fakePromise(super.get(id)).then(rawRole => rawRole ? new GuildRole(this.client, rawRole, rawRole.guild_id) : undefined, diff --git a/src/cache/resources/stage-instances.ts b/src/cache/resources/stage-instances.ts index 8486258..1c9228d 100644 --- a/src/cache/resources/stage-instances.ts +++ b/src/cache/resources/stage-instances.ts @@ -3,4 +3,9 @@ import { GuildRelatedResource } from './default/guild-related'; export class StageInstances extends GuildRelatedResource { namespace = 'stage_instance'; + + //@ts-expect-error + filter(data: APIStageInstance, id: string, guild_id?: string) { + return true; + } } diff --git a/src/cache/resources/stickers.ts b/src/cache/resources/stickers.ts index c9b617e..bc5f68d 100644 --- a/src/cache/resources/stickers.ts +++ b/src/cache/resources/stickers.ts @@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related'; export class Stickers extends GuildRelatedResource { namespace = 'sticker'; + //@ts-expect-error + filter(data: APISticker, id: string, guild_id?: string) { + return true; + } + override get(id: string): ReturnCache { return fakePromise(super.get(id)).then(rawSticker => rawSticker ? new Sticker(this.client, rawSticker) : undefined, diff --git a/src/cache/resources/threads.ts b/src/cache/resources/threads.ts index 16cb420..db7c574 100644 --- a/src/cache/resources/threads.ts +++ b/src/cache/resources/threads.ts @@ -7,6 +7,11 @@ import { GuildRelatedResource } from './default/guild-related'; export class Threads extends GuildRelatedResource { namespace = 'thread'; + //@ts-expect-error + filter(data: APIThreadChannel, id: string, guild_id?: string) { + return true; + } + override get(id: string): ReturnCache { return fakePromise(super.get(id)).then(rawThread => rawThread ? new ThreadChannel(this.client, rawThread) : undefined, diff --git a/src/cache/resources/users.ts b/src/cache/resources/users.ts index 8af94a0..d22103c 100644 --- a/src/cache/resources/users.ts +++ b/src/cache/resources/users.ts @@ -7,6 +7,11 @@ import { BaseResource } from './default/base'; export class Users extends BaseResource { namespace = 'user'; + //@ts-expect-error + filter(data: APIUser, id: string) { + return true; + } + override get(id: string): ReturnCache { return fakePromise(super.get(id)).then(rawUser => (rawUser ? new User(this.client, rawUser) : undefined)); } diff --git a/src/cache/resources/voice-states.ts b/src/cache/resources/voice-states.ts index 1d39de9..4da0416 100644 --- a/src/cache/resources/voice-states.ts +++ b/src/cache/resources/voice-states.ts @@ -7,6 +7,11 @@ import { GuildBasedResource } from './default/guild-based'; export class VoiceStates extends GuildBasedResource { namespace = 'voice_state'; + //@ts-expect-error + filter(data: GatewayVoiceState, id: string, guild_id: string) { + return true; + } + override parse(data: any, id: string, guild_id: string) { const { member, ...rest } = super.parse(data, id, guild_id); return rest;