mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat: support default_thread_rate_limit_per_user in channel creation (#9339)
* feat: support default_thread_rate_limit_per_user in channel creation * feat: add rawDataTypes * fix: remove other rawTypes * chore: missing comma * types: undo all raw data changes --------- Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
This commit is contained in:
@@ -150,6 +150,7 @@ class GuildChannelManager extends CachedManager {
|
||||
defaultReactionEmoji,
|
||||
defaultSortOrder,
|
||||
defaultForumLayout,
|
||||
defaultThreadRateLimitPerUser,
|
||||
reason,
|
||||
} = {},
|
||||
) {
|
||||
@@ -191,6 +192,7 @@ class GuildChannelManager extends CachedManager {
|
||||
default_reaction_emoji: defaultReactionEmoji && transformGuildDefaultReaction(defaultReactionEmoji),
|
||||
default_sort_order: sortMode,
|
||||
default_forum_layout: layoutMode,
|
||||
default_thread_rate_limit_per_user: defaultThreadRateLimitPerUser,
|
||||
},
|
||||
reason,
|
||||
});
|
||||
|
||||
@@ -74,6 +74,16 @@ class BaseGuildTextChannel extends GuildChannel {
|
||||
this.defaultAutoArchiveDuration = data.default_auto_archive_duration;
|
||||
}
|
||||
|
||||
if ('default_thread_rate_limit_per_user' in data) {
|
||||
/**
|
||||
* The initial rate limit per user (slowmode) to set on newly created threads in a channel.
|
||||
* @type {?number}
|
||||
*/
|
||||
this.defaultThreadRateLimitPerUser = data.default_thread_rate_limit_per_user;
|
||||
} else {
|
||||
this.defaultThreadRateLimitPerUser ??= null;
|
||||
}
|
||||
|
||||
if ('messages' in data) {
|
||||
for (const message of data.messages) this.messages._add(message);
|
||||
}
|
||||
|
||||
@@ -62,6 +62,8 @@ class CategoryChannel extends GuildChannel {
|
||||
* @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 {?SortOrderType} [defaultSortOrder] The default sort order mode to set on the new channel
|
||||
* @property {number} [defaultThreadRateLimitPerUser] The initial rate limit per user (slowmode)
|
||||
* to set on newly created threads in a channel.
|
||||
* @property {string} [reason] Reason for creating the new channel
|
||||
*/
|
||||
|
||||
|
||||
2
typings/index.d.ts
vendored
2
typings/index.d.ts
vendored
@@ -463,6 +463,7 @@ export class BaseGuildEmoji extends Emoji {
|
||||
export class BaseGuildTextChannel extends TextBasedChannelMixin(GuildChannel) {
|
||||
protected constructor(guild: Guild, data?: RawGuildChannelData, client?: Client, immediatePatch?: boolean);
|
||||
public defaultAutoArchiveDuration?: ThreadAutoArchiveDuration;
|
||||
public defaultThreadRateLimitPerUser: number | null;
|
||||
public rateLimitPerUser: number | null;
|
||||
public nsfw: boolean;
|
||||
public threads: GuildTextThreadManager<AllowedThreadTypeForTextChannel | AllowedThreadTypeForNewsChannel>;
|
||||
@@ -4488,6 +4489,7 @@ export interface CategoryCreateChannelOptions {
|
||||
defaultReactionEmoji?: DefaultReactionEmoji;
|
||||
defaultSortOrder?: SortOrderType;
|
||||
defaultForumLayout?: ForumLayoutType;
|
||||
defaultThreadRateLimitPerUser?: number;
|
||||
reason?: string;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user