mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 19:43:29 +01:00
feat(GuildChannelManager): allow editing flags (#8637)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
@@ -10,6 +10,7 @@ const GuildChannel = require('../structures/GuildChannel');
|
|||||||
const PermissionOverwrites = require('../structures/PermissionOverwrites');
|
const PermissionOverwrites = require('../structures/PermissionOverwrites');
|
||||||
const ThreadChannel = require('../structures/ThreadChannel');
|
const ThreadChannel = require('../structures/ThreadChannel');
|
||||||
const Webhook = require('../structures/Webhook');
|
const Webhook = require('../structures/Webhook');
|
||||||
|
const ChannelFlagsBitField = require('../util/ChannelFlagsBitField');
|
||||||
const { transformGuildForumTag, transformGuildDefaultReaction } = require('../util/Channels');
|
const { transformGuildForumTag, transformGuildDefaultReaction } = require('../util/Channels');
|
||||||
const { ThreadChannelTypes } = require('../util/Constants');
|
const { ThreadChannelTypes } = require('../util/Constants');
|
||||||
const DataResolver = require('../util/DataResolver');
|
const DataResolver = require('../util/DataResolver');
|
||||||
@@ -226,6 +227,7 @@ class GuildChannelManager extends CachedManager {
|
|||||||
* @property {GuildForumTagData[]} [availableTags] The tags to set as available in a forum channel
|
* @property {GuildForumTagData[]} [availableTags] The tags to set as available in a forum channel
|
||||||
* @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 {string} [reason] Reason for editing this channel
|
* @property {string} [reason] Reason for editing this channel
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -285,6 +287,7 @@ class GuildChannelManager extends CachedManager {
|
|||||||
available_tags: data.availableTags?.map(availableTag => transformGuildForumTag(availableTag)),
|
available_tags: data.availableTags?.map(availableTag => transformGuildForumTag(availableTag)),
|
||||||
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,
|
||||||
|
tags: 'flags' in data ? ChannelFlagsBitField.resolve(data.flags) : undefined,
|
||||||
},
|
},
|
||||||
reason: data.reason,
|
reason: data.reason,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -29,4 +29,13 @@ class ChannelFlagsBitField extends BitField {
|
|||||||
* @name ChannelFlagsBitField#bitfield
|
* @name ChannelFlagsBitField#bitfield
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Data that can be resolved to give a channel flag bitfield. This can be:
|
||||||
|
* * A string (see {@link ChannelFlagsBitField.Flags})
|
||||||
|
* * A channel flag
|
||||||
|
* * An instance of ChannelFlagsBitField
|
||||||
|
* * An Array of ChannelFlagsResolvable
|
||||||
|
* @typedef {string|number|ChannelFlagsBitField|ChannelFlagsResolvable[]} ChannelFlagsResolvable
|
||||||
|
*/
|
||||||
|
|
||||||
module.exports = ChannelFlagsBitField;
|
module.exports = ChannelFlagsBitField;
|
||||||
|
|||||||
3
packages/discord.js/typings/index.d.ts
vendored
3
packages/discord.js/typings/index.d.ts
vendored
@@ -729,6 +729,8 @@ export type CategoryChannelResolvable = Snowflake | CategoryChannel;
|
|||||||
|
|
||||||
export type ChannelFlagsString = keyof typeof ChannelFlags;
|
export type ChannelFlagsString = keyof typeof ChannelFlags;
|
||||||
|
|
||||||
|
export type ChannelFlagsResolvable = BitFieldResolvable<ChannelFlagsString, number>;
|
||||||
|
|
||||||
export class ChannelFlagsBitField extends BitField<ChannelFlagsString> {
|
export class ChannelFlagsBitField extends BitField<ChannelFlagsString> {
|
||||||
public static Flags: typeof ChannelFlags;
|
public static Flags: typeof ChannelFlags;
|
||||||
public static resolve(bit?: BitFieldResolvable<ChannelFlagsString, ChannelFlags>): number;
|
public static resolve(bit?: BitFieldResolvable<ChannelFlagsString, ChannelFlags>): number;
|
||||||
@@ -4902,6 +4904,7 @@ export interface GuildChannelEditOptions {
|
|||||||
availableTags?: GuildForumTagData[];
|
availableTags?: GuildForumTagData[];
|
||||||
defaultReactionEmoji?: DefaultReactionEmoji | null;
|
defaultReactionEmoji?: DefaultReactionEmoji | null;
|
||||||
defaultThreadRateLimitPerUser?: number;
|
defaultThreadRateLimitPerUser?: number;
|
||||||
|
tags?: ChannelFlagsResolvable;
|
||||||
reason?: string;
|
reason?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user