diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 5c6270f19209..3c1f8064e9a4 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -2653,6 +2653,7 @@ export interface ThreadOnlyChannel | 'awaitMessages' | 'createMessageComponentCollector' | 'awaitMessageComponent' + | 'messages' > {} export abstract class ThreadOnlyChannel extends GuildChannel { public type: ChannelType.GuildForum | ChannelType.GuildMedia; diff --git a/packages/discord.js/typings/index.test-d.ts b/packages/discord.js/typings/index.test-d.ts index a88921b5f7a9..29204e7131db 100644 --- a/packages/discord.js/typings/index.test-d.ts +++ b/packages/discord.js/typings/index.test-d.ts @@ -213,6 +213,7 @@ import { PollData, InteractionCallbackResponse, GuildScheduledEventRecurrenceRuleOptions, + ThreadOnlyChannel, } from '.'; import { expectAssignable, expectNotAssignable, expectNotType, expectType } from 'tsd'; import type { ContextMenuCommandBuilder, SlashCommandBuilder } from '@discordjs/builders'; @@ -2453,6 +2454,16 @@ declare const partialGroupDMChannel: PartialGroupDMChannel; declare const categoryChannel: CategoryChannel; declare const stageChannel: StageChannel; declare const forumChannel: ForumChannel; +declare const mediaChannel: MediaChannel; +declare const threadOnlyChannel: ThreadOnlyChannel; + +// Threads have messages. +expectType(threadChannel.messages); + +// Thread-only channels have threads—not messages. +notPropertyOf(threadOnlyChannel, 'messages'); +notPropertyOf(forumChannel, 'messages'); +notPropertyOf(mediaChannel, 'messages'); await forumChannel.edit({ availableTags: [...forumChannel.availableTags, { name: 'tag' }],