mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-17 20:13:30 +01:00
feat(ForumChannel): add defaultSortOrder (#8633)
This commit is contained in:
@@ -53,6 +53,7 @@ class CategoryChannelChildManager extends DataManager {
|
|||||||
* @property {GuildForumTagData[]} [availableTags] The tags that can be used in this channel (forum only).
|
* @property {GuildForumTagData[]} [availableTags] The tags that can be used in this channel (forum only).
|
||||||
* @property {DefaultReactionEmoji} [defaultReactionEmoji]
|
* @property {DefaultReactionEmoji} [defaultReactionEmoji]
|
||||||
* The emoji to show in the add reaction button on a thread in a guild forum channel.
|
* The emoji to show in the add reaction button on a thread in a guild forum channel.
|
||||||
|
* @property {SortOrderType} [defaultSortOrder] The default sort order mode used to order posts (forum only).
|
||||||
* @property {string} [reason] Reason for creating the new channel
|
* @property {string} [reason] Reason for creating the new channel
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -141,6 +141,7 @@ class GuildChannelManager extends CachedManager {
|
|||||||
videoQualityMode,
|
videoQualityMode,
|
||||||
availableTags,
|
availableTags,
|
||||||
defaultReactionEmoji,
|
defaultReactionEmoji,
|
||||||
|
defaultSortOrder,
|
||||||
reason,
|
reason,
|
||||||
}) {
|
}) {
|
||||||
parent &&= this.client.channels.resolveId(parent);
|
parent &&= this.client.channels.resolveId(parent);
|
||||||
@@ -162,6 +163,7 @@ class GuildChannelManager extends CachedManager {
|
|||||||
video_quality_mode: videoQualityMode,
|
video_quality_mode: videoQualityMode,
|
||||||
available_tags: availableTags?.map(availableTag => transformGuildForumTag(availableTag)),
|
available_tags: availableTags?.map(availableTag => transformGuildForumTag(availableTag)),
|
||||||
default_reaction_emoji: defaultReactionEmoji && transformGuildDefaultReaction(defaultReactionEmoji),
|
default_reaction_emoji: defaultReactionEmoji && transformGuildDefaultReaction(defaultReactionEmoji),
|
||||||
|
default_sort_order: defaultSortOrder,
|
||||||
},
|
},
|
||||||
reason,
|
reason,
|
||||||
});
|
});
|
||||||
@@ -229,6 +231,7 @@ class GuildChannelManager extends CachedManager {
|
|||||||
* @property {?DefaultReactionEmoji} [defaultReactionEmoji] The emoji to set as the default reaction emoji
|
* @property {?DefaultReactionEmoji} [defaultReactionEmoji] The emoji to set as the default reaction emoji
|
||||||
* @property {number} [defaultThreadRateLimitPerUser] The rate limit per user (slowmode) to set on forum posts
|
* @property {number} [defaultThreadRateLimitPerUser] The rate limit per user (slowmode) to set on forum posts
|
||||||
* @property {ChannelFlagsResolvable} [flags] The flags to set on the channel
|
* @property {ChannelFlagsResolvable} [flags] The flags to set on the channel
|
||||||
|
* @property {?SortOrderType} [defaultSortOrder] The default sort order mode to set on the channel
|
||||||
* @property {string} [reason] Reason for editing this channel
|
* @property {string} [reason] Reason for editing this channel
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -289,6 +292,7 @@ class GuildChannelManager extends CachedManager {
|
|||||||
default_reaction_emoji: data.defaultReactionEmoji && transformGuildDefaultReaction(data.defaultReactionEmoji),
|
default_reaction_emoji: data.defaultReactionEmoji && transformGuildDefaultReaction(data.defaultReactionEmoji),
|
||||||
default_thread_rate_limit_per_user: data.defaultThreadRateLimitPerUser,
|
default_thread_rate_limit_per_user: data.defaultThreadRateLimitPerUser,
|
||||||
flags: 'flags' in data ? ChannelFlagsBitField.resolve(data.flags) : undefined,
|
flags: 'flags' in data ? ChannelFlagsBitField.resolve(data.flags) : undefined,
|
||||||
|
default_sort_order: data.defaultSortOrder,
|
||||||
},
|
},
|
||||||
reason: data.reason,
|
reason: data.reason,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -124,6 +124,16 @@ class ForumChannel extends GuildChannel {
|
|||||||
*/
|
*/
|
||||||
this.topic = data.topic;
|
this.topic = data.topic;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ('default_sort_order' in data) {
|
||||||
|
/**
|
||||||
|
* The default sort order mode used to order posts
|
||||||
|
* @type {?SortOrderType}
|
||||||
|
*/
|
||||||
|
this.defaultSortOrder = data.default_sort_order;
|
||||||
|
} else {
|
||||||
|
this.defaultSortOrder ??= null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -205,6 +215,16 @@ class ForumChannel extends GuildChannel {
|
|||||||
return this.edit({ topic, reason });
|
return this.edit({ topic, reason });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the default sort order mode used to order posts
|
||||||
|
* @param {?SortOrderType} defaultSortOrder The default sort order mode to set on this channel
|
||||||
|
* @param {string} [reason] Reason for changing the default sort order
|
||||||
|
* @returns {Promise<ForumChannel>}
|
||||||
|
*/
|
||||||
|
setDefaultSortOrder(defaultSortOrder, reason) {
|
||||||
|
return this.edit({ defaultSortOrder, reason });
|
||||||
|
}
|
||||||
|
|
||||||
// These are here only for documentation purposes - they are implemented by TextBasedChannel
|
// These are here only for documentation purposes - they are implemented by TextBasedChannel
|
||||||
/* eslint-disable no-empty-function */
|
/* eslint-disable no-empty-function */
|
||||||
createWebhook() {}
|
createWebhook() {}
|
||||||
|
|||||||
@@ -333,6 +333,11 @@
|
|||||||
* @see {@link https://discord-api-types.dev/api/discord-api-types-rest/common/enum/RESTJSONErrorCodes}
|
* @see {@link https://discord-api-types.dev/api/discord-api-types-rest/common/enum/RESTJSONErrorCodes}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @external SortOrderType
|
||||||
|
* @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/SortOrderType}
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @external StageInstancePrivacyLevel
|
* @external StageInstancePrivacyLevel
|
||||||
* @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/StageInstancePrivacyLevel}
|
* @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/StageInstancePrivacyLevel}
|
||||||
|
|||||||
5
packages/discord.js/typings/index.d.ts
vendored
5
packages/discord.js/typings/index.d.ts
vendored
@@ -125,6 +125,7 @@ import {
|
|||||||
AuditLogOptionsType,
|
AuditLogOptionsType,
|
||||||
TextChannelType,
|
TextChannelType,
|
||||||
ChannelFlags,
|
ChannelFlags,
|
||||||
|
SortOrderType,
|
||||||
} from 'discord-api-types/v10';
|
} from 'discord-api-types/v10';
|
||||||
import { ChildProcess } from 'node:child_process';
|
import { ChildProcess } from 'node:child_process';
|
||||||
import { EventEmitter } from 'node:events';
|
import { EventEmitter } from 'node:events';
|
||||||
@@ -2097,6 +2098,7 @@ export class ForumChannel extends TextBasedChannelMixin(GuildChannel, true, [
|
|||||||
public defaultAutoArchiveDuration: ThreadAutoArchiveDuration | null;
|
public defaultAutoArchiveDuration: ThreadAutoArchiveDuration | null;
|
||||||
public nsfw: boolean;
|
public nsfw: boolean;
|
||||||
public topic: string | null;
|
public topic: string | null;
|
||||||
|
public defaultSortOrder: SortOrderType | null;
|
||||||
|
|
||||||
public setAvailableTags(tags: GuildForumTagData[], reason?: string): Promise<this>;
|
public setAvailableTags(tags: GuildForumTagData[], reason?: string): Promise<this>;
|
||||||
public setDefaultReactionEmoji(emojiId: DefaultReactionEmoji | null, reason?: string): Promise<this>;
|
public setDefaultReactionEmoji(emojiId: DefaultReactionEmoji | null, reason?: string): Promise<this>;
|
||||||
@@ -2108,6 +2110,7 @@ export class ForumChannel extends TextBasedChannelMixin(GuildChannel, true, [
|
|||||||
reason?: string,
|
reason?: string,
|
||||||
): Promise<this>;
|
): Promise<this>;
|
||||||
public setTopic(topic: string | null, reason?: string): Promise<this>;
|
public setTopic(topic: string | null, reason?: string): Promise<this>;
|
||||||
|
public setDefaultSortOrder(defaultSortOrder: SortOrderType | null, reason?: string): Promise<this>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class PermissionOverwrites extends Base {
|
export class PermissionOverwrites extends Base {
|
||||||
@@ -4251,6 +4254,7 @@ export interface CategoryCreateChannelOptions {
|
|||||||
videoQualityMode?: VideoQualityMode;
|
videoQualityMode?: VideoQualityMode;
|
||||||
availableTags?: GuildForumTagData[];
|
availableTags?: GuildForumTagData[];
|
||||||
defaultReactionEmoji?: DefaultReactionEmoji;
|
defaultReactionEmoji?: DefaultReactionEmoji;
|
||||||
|
defaultSortOrder?: SortOrderType;
|
||||||
reason?: string;
|
reason?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4932,6 +4936,7 @@ export interface GuildChannelEditOptions {
|
|||||||
defaultReactionEmoji?: DefaultReactionEmoji | null;
|
defaultReactionEmoji?: DefaultReactionEmoji | null;
|
||||||
defaultThreadRateLimitPerUser?: number;
|
defaultThreadRateLimitPerUser?: number;
|
||||||
flags?: ChannelFlagsResolvable;
|
flags?: ChannelFlagsResolvable;
|
||||||
|
defaultSortOrder?: SortOrderType | null;
|
||||||
reason?: string;
|
reason?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user