diff --git a/packages/core/src/structures/channels.ts b/packages/core/src/structures/channels.ts index a3c24f4..d178487 100644 --- a/packages/core/src/structures/channels.ts +++ b/packages/core/src/structures/channels.ts @@ -9,7 +9,7 @@ import type { PermissionsOverwrites } from '../utils/util'; import { urlToBase64 } from '../utils/url-to-base-64'; /** Classes and routes */ -import type { +import { DiscordChannel, DiscordInvite, DiscordInviteMetadata, @@ -22,7 +22,8 @@ import type { VideoQualityModes, GetReactions, GetMessagesOptions, - ListArchivedThreads } from '@biscuitland/api-types'; + ListArchivedThreads, + USER_DM} from '@biscuitland/api-types'; import { CHANNEL, CHANNEL_PINS, @@ -102,8 +103,8 @@ export abstract class BaseChannel implements Model { return this.type === ChannelTypes.GuildStageVoice; } - async fetch(): Promise { - const channel = await this.session.rest.get(CHANNEL(this.id)); + async fetch(channelId?: Snowflake): Promise { + const channel = await this.session.rest.get(CHANNEL(channelId ?? this.id)); return ChannelFactory.from(this.session, channel); } diff --git a/packages/core/src/structures/guilds.ts b/packages/core/src/structures/guilds.ts index 1a87a56..a29ae68 100644 --- a/packages/core/src/structures/guilds.ts +++ b/packages/core/src/structures/guilds.ts @@ -58,7 +58,7 @@ import { CHANNEL, GUILD_CHANNELS, } from '@biscuitland/api-types'; -import { ChannelFactory, GuildChannel, ReturnThreadsArchive, ThreadChannel, Channel } from './channels'; +import { ChannelFactory, GuildChannel, ReturnThreadsArchive, ThreadChannel, ChannelInGuild } from './channels'; import { Member, ThreadMember } from './members'; import { Role } from './role'; import { GuildEmoji } from './emojis'; @@ -1216,16 +1216,16 @@ export class Guild extends BaseGuild implements Model { return new GuildPreview(this.session, preview); } - async fetchChannel(channelID: string): Promise { - const channel = await this.session.rest.get(CHANNEL(channelID)); + async fetchChannel(channelId: string): Promise { + const channel = await this.session.rest.get(CHANNEL(channelId)); - return ChannelFactory.from(this.session, channel); + return ChannelFactory.fromGuildChannel(this.session, channel); } - async fetchChannels(): Promise { + async fetchChannels(): Promise { const channels = await this.session.rest.get(GUILD_CHANNELS(this.id)); - return channels.map(channel => ChannelFactory.from(this.session, channel)); + return channels.map(channel => ChannelFactory.fromGuildChannel(this.session, channel)); } /** fetches a member */