@@ -12,6 +12,7 @@ let ThreadChannel;
|
|||||||
let VoiceChannel;
|
let VoiceChannel;
|
||||||
let DirectoryChannel;
|
let DirectoryChannel;
|
||||||
let ForumChannel;
|
let ForumChannel;
|
||||||
|
let MediaChannel;
|
||||||
const ChannelFlags = require('../util/ChannelFlags');
|
const ChannelFlags = require('../util/ChannelFlags');
|
||||||
const { ChannelTypes, ThreadChannelTypes, VoiceBasedChannelTypes } = require('../util/Constants');
|
const { ChannelTypes, ThreadChannelTypes, VoiceBasedChannelTypes } = require('../util/Constants');
|
||||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||||
@@ -177,6 +178,14 @@ class Channel extends Base {
|
|||||||
return ThreadChannelTypes.includes(this.type);
|
return ThreadChannelTypes.includes(this.type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates whether this channel is {@link ThreadOnlyChannel}.
|
||||||
|
* @returns {boolean}
|
||||||
|
*/
|
||||||
|
isThreadOnly() {
|
||||||
|
return 'availableTags' in this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates whether this channel is a {@link DirectoryChannel}
|
* Indicates whether this channel is a {@link DirectoryChannel}
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
@@ -196,6 +205,7 @@ class Channel extends Base {
|
|||||||
VoiceChannel ??= require('./VoiceChannel');
|
VoiceChannel ??= require('./VoiceChannel');
|
||||||
DirectoryChannel ??= require('./DirectoryChannel');
|
DirectoryChannel ??= require('./DirectoryChannel');
|
||||||
ForumChannel ??= require('./ForumChannel');
|
ForumChannel ??= require('./ForumChannel');
|
||||||
|
MediaChannel ??= require('./MediaChannel');
|
||||||
|
|
||||||
let channel;
|
let channel;
|
||||||
if (!data.guild_id && !guild) {
|
if (!data.guild_id && !guild) {
|
||||||
@@ -249,6 +259,10 @@ class Channel extends Base {
|
|||||||
case ChannelTypes.GUILD_FORUM:
|
case ChannelTypes.GUILD_FORUM:
|
||||||
channel = new ForumChannel(guild, data, client);
|
channel = new ForumChannel(guild, data, client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ChannelTypes.GUILD_MEDIA:
|
||||||
|
channel = new MediaChannel(guild, data, client);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (channel && !allowUnknownGuild) guild.channels?.cache.set(channel.id, channel);
|
if (channel && !allowUnknownGuild) guild.channels?.cache.set(channel.id, channel);
|
||||||
}
|
}
|
||||||
|
|||||||
1
typings/index.d.ts
vendored
1
typings/index.d.ts
vendored
@@ -730,6 +730,7 @@ export abstract class Channel extends Base {
|
|||||||
public isVoice(): this is BaseGuildVoiceChannel;
|
public isVoice(): this is BaseGuildVoiceChannel;
|
||||||
public isThread(): this is ThreadChannel;
|
public isThread(): this is ThreadChannel;
|
||||||
public isDirectory(): this is DirectoryChannel;
|
public isDirectory(): this is DirectoryChannel;
|
||||||
|
public isThreadOnly(): this is ThreadOnlyChannel;
|
||||||
public toString(): ChannelMention;
|
public toString(): ChannelMention;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user