export abstract class GuildChannel extends BaseChannelRepresents a guild channel from any of the following: - TextChannel - VoiceChannel - CategoryChannel - NewsChannel - StageChannel - ForumChannel - MediaChannel
readonlycreatedAt : Date
The time the channel was created at
readonlycreatedTimestamp : number
The timestamp the channel was created at
readonlydeletable : boolean
Whether the channel is deletable by the client user
flags : Readonly<ChannelFlagsBitField>
The flags that are applied to the channel. This is only null in a PartialGroupDMChannel. In all other cases, it is not null.
guild : Guild
The guild the channel is in
guildId : Snowflake
The id of the guild the channel is in
readonlymanageable : boolean
Whether the channel is manageable by the client user
readonlymembers : Collection<Snowflake, GuildMember>
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.
name : string
The name of the guild channel
readonlyparent : CategoryChannel | null
The category parent of this channel
Whether this Channel is a partial This is always false outside of DM channels.
Inherited from: BaseChannel
permissionOverwrites : PermissionOverwriteManager
A manager of permission overwrites that belong to this channel
If the permissionOverwrites match the parent channel, null if no parent
readonlyposition : number
The position of the channel
rawPosition : number
The raw position of the channel from Discord
type : Exclude<ChannelType, ChannelType.DM | ChannelType.GroupDM>
The type of the channel
readonlyviewable : boolean
Whether the channel is viewable by the client user
clone(options?: GuildChannelCloneOptions) : Promise<this>
Clones this channel.
Deletes this channel.
// Delete the channel
channel.delete('making room for new channels')
.then(console.log)
.catch(console.error); edit(options: GuildChannelEditOptions) : Promise<this>
Edits the channel.
// Edit a channel
channel.edit({ name: 'new-channel' })
.then(console.log)
.catch(console.error); equals(channel: 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.
isDMBased() : this is PartialGroupDMChannel | DMChannel | PartialDMChannel
Indicates whether this channel is DM-based (either a DMChannel or a PartialGroupDMChannel).
Inherited from: BaseChannel
isSendable() : this is SendableChannels
Indicates whether this channel is sendable.
Inherited from: BaseChannel
isTextBased() : this is GuildBasedChannel & TextBasedChannel
Indicates whether this channel is text-based.
isThread() : this is AnyThreadChannel
Indicates whether this channel is a ThreadChannel.
Inherited from: BaseChannel
isThreadOnly() : this is ThreadOnlyChannel
Indicates whether this channel is thread-only.
Inherited from: BaseChannel
isVoiceBased() : this is VoiceBasedChannel
Indicates whether this channel is voice-based.
Inherited from: BaseChannel
lockPermissions() : Promise<this>
Locks in the permission overwrites from the parent channel.
permissionsFor(memberOrRole: GuildMember | RolecheckAdmin?: boolean) : Readonly<PermissionsBitField>
Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.
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); setParent(channel: 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); setPosition(position: 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);toString() : ChannelMention
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}!`);