class ForumChannel
extends
ThreadOnlyChannelexport class ForumChannel extends ThreadOnlyChannel
Represents a forum channel.
GuildForumTag[] availableTags :
The set of tags that can be used in this channel.
Inherited from: ThreadOnlyChannel
readonlynumber createdTimestamp :
The timestamp the channel was created at
Inherited from: GuildChannel
ThreadAutoArchiveDuration | null defaultAutoArchiveDuration :
The default auto archive duration for newly created threads in this channel.
Inherited from: ThreadOnlyChannel
ForumLayoutType defaultForumLayout :
The default layout type used to display posts
DefaultReactionEmoji | null defaultReactionEmoji :
The emoji to show in the add reaction button on a thread in a guild forum channel
Inherited from: ThreadOnlyChannel
SortOrderType | null defaultSortOrder :
The default sort order mode used to order posts
Inherited from: ThreadOnlyChannel
The initial rate limit per user (slowmode) to set on newly created threads in a channel.
Inherited from: ThreadOnlyChannel
readonlyboolean deletable :
Whether the channel is deletable by the client user
Inherited from: GuildChannel
Readonly<ChannelFlagsBitField> flags :
The flags that are applied to the channel. This is only null
in a PartialGroupDMChannel. In all other cases, it is not null
.
Inherited from: GuildChannel
readonlyboolean manageable :
Whether the channel is manageable by the client user
Inherited from: GuildChannel
readonlyCollection<Snowflake, GuildMember> members :
A collection of cached members of this channel, mapped by their ids. Members that can view this channel, if the channel is text-based. Members in the channel, if the channel is voice-based.
Inherited from: GuildChannel
readonlyCategoryChannel | null parent :
The category parent of this channel
Inherited from: GuildChannel
The id of the category parent of this channel
Inherited from: GuildChannel
Whether this Channel is a partial This is always false outside of DM channels.
Inherited from: BaseChannel
PermissionOverwriteManager permissionOverwrites :
A manager of permission overwrites that belong to this channel
Inherited from: GuildChannel
If the permissionOverwrites match the parent channel, null if no parent
Inherited from: GuildChannel
The rate limit per user (slowmode) for this channel.
Inherited from: ThreadOnlyChannel
GuildForumThreadManager threads :
A manager of the threads belonging to this channel
Inherited from: ThreadOnlyChannel
ChannelType.GuildForum type :
The type of the channel
readonlyboolean viewable :
Whether the channel is viewable by the client user
Inherited from: GuildChannel
cloneoptions?: GuildChannelCloneOptions) : Promise<this> (
Clones this channel.
Inherited from: GuildChannel
createInviteoptions?: InviteCreateOptions) : Promise<Invite> (
Creates an invite to this guild channel.
// Create an invite to a channel
channel.createInvite()
.then(invite => console.log(`Created an invite with a code of ${invite.code}`))
.catch(console.error);
Inherited from: ThreadOnlyChannel
createWebhookoptions?: ChannelWebhookCreateOptions) : Promise<Webhook> (
Creates a webhook for the channel.
// Create a webhook for the current channel
channel.createWebhook({
name: 'Snek',
avatar: 'https://i.imgur.com/mI8XcpG.jpg',
reason: 'Needed a cool new Webhook'
})
.then(console.log)
.catch(console.error)
Returns: Returns the created Webhook *
Inherited from: ThreadOnlyChannel
Deletes this channel.
// Delete the channel
channel.delete('making room for new channels')
.then(console.log)
.catch(console.error);
Inherited from: GuildChannel
editoptions: GuildChannelEditOptions) : Promise<this> (
Edits the channel.
// Edit a channel
channel.edit({ name: 'new-channel' })
.then(console.log)
.catch(console.error);
Inherited from: GuildChannel
equalschannel: GuildChannel) : boolean (
Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel. In most cases, a simple channel.id === channel2.id
will do, and is much faster too.
Inherited from: GuildChannel
fetchInvitescache?: boolean) : Promise<Collection<string, Invite>> (
Fetches a collection of invites to this guild channel. Resolves with a collection mapping invites by their codes.
Inherited from: ThreadOnlyChannel
fetchWebhooksPromise<Collection<Snowflake, Webhook>> () :
Fetches all webhooks for the channel.
// Fetch webhooks
channel.fetchWebhooks()
.then(hooks => console.log(`This channel has ${hooks.size} hooks`))
.catch(console.error);
Inherited from: ThreadOnlyChannel
isDMBasedthis is PartialGroupDMChannel | DMChannel | PartialDMChannel () :
Indicates whether this channel is DM-based (either a DMChannel or a PartialGroupDMChannel).
Inherited from: BaseChannel
isSendablethis is SendableChannels () :
Indicates whether this channel is sendable.
Inherited from: BaseChannel
isTextBasedthis is GuildBasedChannel & TextBasedChannel () :
Indicates whether this channel is text-based.
Inherited from: GuildChannel
isThreadthis is AnyThreadChannel () :
Indicates whether this channel is a ThreadChannel.
Inherited from: BaseChannel
isThreadOnlythis is ThreadOnlyChannel () :
Indicates whether this channel is thread-only.
Inherited from: BaseChannel
isVoiceBasedthis is VoiceBasedChannel () :
Indicates whether this channel is voice-based.
Inherited from: BaseChannel
lockPermissionsPromise<this> () :
Locks in the permission overwrites from the parent channel.
Inherited from: GuildChannel
permissionsFormemberOrRole: GuildMember | RolecheckAdmin?: boolean) : Readonly<PermissionsBitField> (
Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.
setAvailableTagsavailableTags: readonly GuildForumTagData[]reason?: string) : Promise<this> (
Sets the available tags for this forum channel
Inherited from: ThreadOnlyChannel
setDefaultAutoArchiveDurationdefaultAutoArchiveDuration: ThreadAutoArchiveDurationreason?: string) : Promise<this> (
Sets the default auto archive duration for all newly created threads in this channel.
Inherited from: ThreadOnlyChannel
setDefaultForumLayoutdefaultForumLayout: ForumLayoutTypereason?: string) : Promise<this> (
Sets the default forum layout type used to display posts
setDefaultReactionEmojidefaultReactionEmoji: DefaultReactionEmoji | nullreason?: string) : Promise<this> (
Sets the default reaction emoji for this channel
Inherited from: ThreadOnlyChannel
setDefaultSortOrderdefaultSortOrder: SortOrderType | nullreason?: string) : Promise<this> (
Sets the default sort order mode used to order posts
Inherited from: ThreadOnlyChannel
setDefaultThreadRateLimitPerUser) : Promise<this> (
Sets the default rate limit per user (slowmode) for new threads in this channel
Inherited from: ThreadOnlyChannel
Sets a new name for the guild channel.
// Set a new channel name
channel.setName('not_general')
.then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))
.catch(console.error);
Inherited from: GuildChannel
Sets whether this channel is flagged as NSFW.
Inherited from: ThreadOnlyChannel
setParentchannel: CategoryChannelResolvable | nulloptions?: SetParentOptions) : Promise<this> (
Sets the parent of this channel.
// Add a parent to a channel
message.channel.setParent('355908108431917066', { lockPermissions: false })
.then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))
.catch(console.error);
Inherited from: GuildChannel
setPositionposition: numberoptions?: SetChannelPositionOptions) : Promise<this> (
Sets a new position for the guild channel.
// Set a new channel position
channel.setPosition(2)
.then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))
.catch(console.error);
Inherited from: GuildChannel
Sets the rate limit per user (slowmode) for this channel.
Inherited from: ThreadOnlyChannel
Sets a new topic for the guild channel.
// Set a new channel topic
channel.setTopic('needs more rate limiting')
.then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))
.catch(console.error);
Inherited from: ThreadOnlyChannel
toStringChannelMention () :
When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.
// Logs: Hello from <#123456789012345678>!
console.log(`Hello from ${channel}!`);
Inherited from: GuildChannel