mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 08:33:30 +01:00
refactor: use guild-wide route for fetching active threads (#6193)
Co-authored-by: SpaceEEC <24881032+SpaceEEC@users.noreply.github.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const CachedManager = require('./CachedManager');
|
||||
const ThreadManager = require('./ThreadManager');
|
||||
const { Error } = require('../errors');
|
||||
const GuildChannel = require('../structures/GuildChannel');
|
||||
const PermissionOverwrites = require('../structures/PermissionOverwrites');
|
||||
@@ -149,7 +150,7 @@ class GuildChannelManager extends CachedManager {
|
||||
* @param {BaseFetchOptions} [options] Additional options for this fetch
|
||||
* @returns {Promise<?GuildChannel|Collection<Snowflake, GuildChannel>>}
|
||||
* @example
|
||||
* // Fetch all channels from the guild
|
||||
* // Fetch all channels from the guild (excluding threads)
|
||||
* message.guild.channels.fetch()
|
||||
* .then(channels => console.log(`There are ${channels.size} channels.`))
|
||||
* .catch(console.error);
|
||||
@@ -177,6 +178,26 @@ class GuildChannelManager extends CachedManager {
|
||||
for (const channel of data) channels.set(channel.id, this.client.channels._add(channel, this.guild, { cache }));
|
||||
return channels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtains all active thread channels in the guild from Discord
|
||||
* @param {boolean} [cache=true] Whether to cache the fetched data
|
||||
* @returns {Promise<FetchedThreads>}
|
||||
* @example
|
||||
* // Fetch all threads from the guild
|
||||
* message.guild.channels.fetchActiveThreads()
|
||||
* .then(fetched => console.log(`There are ${fetched.threads.size} threads.`))
|
||||
* .catch(console.error);
|
||||
*/
|
||||
async fetchActiveThreads(cache = true) {
|
||||
const raw = await this.client.api.guilds(this.guild.id).threads.active.get();
|
||||
return ThreadManager._mapThreads(raw, this.client, { guild: this.guild, cache });
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = GuildChannelManager;
|
||||
|
||||
/**
|
||||
* @external APIActiveThreadsList
|
||||
* @see {@link https://discord.com/developers/docs/resources/guild#list-active-threads-response-body}
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user