23
typings/enums.d.ts
vendored
23
typings/enums.d.ts
vendored
@@ -96,6 +96,29 @@ export const enum ApplicationCommandPermissionTypes {
|
||||
USER = 2,
|
||||
}
|
||||
|
||||
export const enum AutoModerationRuleTriggerTypes {
|
||||
KEYWORD = 1,
|
||||
SPAM = 2,
|
||||
KEYWORD_PRESET = 3,
|
||||
MENTION_SPAM = 4,
|
||||
}
|
||||
|
||||
export const enum AutoModerationRuleKeywordPresetTypes {
|
||||
PROFANITY = 1,
|
||||
SEXUAL_CONTENT = 2,
|
||||
SLURS = 3,
|
||||
}
|
||||
|
||||
export const enum AutoModerationActionTypes {
|
||||
BLOCK_MESSAGE = 1,
|
||||
SEND_ALERT_MESSAGE = 2,
|
||||
TIMEOUT = 3,
|
||||
}
|
||||
|
||||
export const enum AutoModerationRuleEventTypes {
|
||||
MESSAGE_SEND = 1,
|
||||
}
|
||||
|
||||
export const enum ChannelTypes {
|
||||
GUILD_TEXT = 0,
|
||||
DM = 1,
|
||||
|
181
typings/index.d.ts
vendored
181
typings/index.d.ts
vendored
@@ -66,6 +66,10 @@ import {
|
||||
ApplicationCommandOptionTypes,
|
||||
ApplicationCommandPermissionTypes,
|
||||
ApplicationCommandTypes,
|
||||
AutoModerationActionTypes,
|
||||
AutoModerationRuleEventTypes,
|
||||
AutoModerationRuleKeywordPresetTypes,
|
||||
AutoModerationRuleTriggerTypes,
|
||||
ChannelTypes,
|
||||
RelationshipTypes,
|
||||
localeSetting,
|
||||
@@ -103,6 +107,8 @@ import {
|
||||
SelectMenuComponentTypes,
|
||||
} from './enums';
|
||||
import {
|
||||
APIAutoModerationRule,
|
||||
GatewayAutoModerationActionExecutionDispatchData,
|
||||
RawActivityData,
|
||||
RawAnonymousGuildData,
|
||||
RawApplicationCommandData,
|
||||
@@ -523,6 +529,8 @@ export class ApplicationCommand<PermissionsFetchType = {}> extends Base {
|
||||
|
||||
export type ApplicationResolvable = Application | Activity | Snowflake;
|
||||
|
||||
export type AutoModerationRuleResolvable = AutoModerationRule | Snowflake;
|
||||
|
||||
export class ApplicationFlags extends BitField<ApplicationFlagsString> {
|
||||
public static FLAGS: Record<ApplicationFlagsString, number>;
|
||||
public static resolve(bit?: BitFieldResolvable<ApplicationFlagsString, number>): number;
|
||||
@@ -1259,6 +1267,7 @@ export class Guild extends AnonymousGuild {
|
||||
public applicationId: Snowflake | null;
|
||||
public approximateMemberCount: number | null;
|
||||
public approximatePresenceCount: number | null;
|
||||
public autoModerationRules: AutoModerationRuleManager;
|
||||
public available: boolean;
|
||||
public bans: GuildBanManager;
|
||||
public channels: GuildChannelManager;
|
||||
@@ -1372,6 +1381,7 @@ export class GuildAuditLogs<T extends GuildAuditLogsResolvable = 'ALL'> {
|
||||
private constructor(guild: Guild, data: RawGuildAuditLogData);
|
||||
private webhooks: Collection<Snowflake, Webhook>;
|
||||
private integrations: Collection<Snowflake | string, Integration>;
|
||||
private autoModerationRules: Collection<Snowflake, AutoModerationRule>;
|
||||
|
||||
public entries: Collection<Snowflake, GuildAuditLogsEntry<T>>;
|
||||
|
||||
@@ -3507,6 +3517,10 @@ export const Constants: {
|
||||
DefaultMessageNotificationLevels: EnumHolder<typeof DefaultMessageNotificationLevels>;
|
||||
VerificationLevels: EnumHolder<typeof VerificationLevels>;
|
||||
MembershipStates: EnumHolder<typeof MembershipStates>;
|
||||
AutoModerationRuleTriggerTypes: EnumHolder<typeof AutoModerationRuleTriggerTypes>;
|
||||
AutoModerationRuleKeywordPresetTypes: EnumHolder<typeof AutoModerationRuleKeywordPresetTypes>;
|
||||
AutoModerationActionTypes: EnumHolder<typeof AutoModerationActionTypes>;
|
||||
AutoModerationRuleEventTypes: EnumHolder<typeof AutoModerationRuleEventTypes>;
|
||||
ApplicationCommandOptionTypes: EnumHolder<typeof ApplicationCommandOptionTypes>;
|
||||
ApplicationCommandPermissionTypes: EnumHolder<typeof ApplicationCommandPermissionTypes>;
|
||||
InteractionTypes: EnumHolder<typeof InteractionTypes>;
|
||||
@@ -4440,6 +4454,13 @@ export interface ClientEvents extends BaseClientEvents {
|
||||
applicationCommandDelete: [command: ApplicationCommand];
|
||||
/** @deprecated See [this issue](https://github.com/discord/discord-api-docs/issues/3690) for more information. */
|
||||
applicationCommandUpdate: [oldCommand: ApplicationCommand | null, newCommand: ApplicationCommand];
|
||||
autoModerationActionExecution: [autoModerationActionExecution: AutoModerationActionExecution];
|
||||
autoModerationRuleCreate: [autoModerationRule: AutoModerationRule];
|
||||
autoModerationRuleDelete: [autoModerationRule: AutoModerationRule];
|
||||
autoModerationRuleUpdate: [
|
||||
oldAutoModerationRule: AutoModerationRule | null,
|
||||
newAutoModerationRule: AutoModerationRule,
|
||||
];
|
||||
cacheSweep: [message: string];
|
||||
channelCreate: [channel: NonThreadGuildBasedChannel];
|
||||
channelDelete: [channel: DMChannel | NonThreadGuildBasedChannel];
|
||||
@@ -4935,6 +4956,84 @@ export type ApplicationCommandType = keyof typeof ApplicationCommandTypes;
|
||||
|
||||
export type ApplicationCommandOptionType = keyof typeof ApplicationCommandOptionTypes;
|
||||
|
||||
export type AutoModerationRuleTriggerType = keyof typeof AutoModerationRuleTriggerTypes;
|
||||
|
||||
export type AutoModerationRuleKeywordPresetType = keyof typeof AutoModerationRuleKeywordPresetTypes;
|
||||
|
||||
export type AutoModerationActionType = keyof typeof AutoModerationActionTypes;
|
||||
|
||||
export type AutoModerationRuleEventType = keyof typeof AutoModerationRuleEventTypes;
|
||||
|
||||
export class AutoModerationActionExecution {
|
||||
private constructor(data: GatewayAutoModerationActionExecutionDispatchData, guild: Guild);
|
||||
public guild: Guild;
|
||||
public action: AutoModerationAction;
|
||||
public ruleId: Snowflake;
|
||||
public ruleTriggerType: AutoModerationRuleTriggerType;
|
||||
public userId: Snowflake;
|
||||
public channelId: Snowflake | null;
|
||||
public messageId: Snowflake | null;
|
||||
public alertSystemMessageId: Snowflake | null;
|
||||
public content: string;
|
||||
public matchedKeyword: string | null;
|
||||
public matchedContent: string | null;
|
||||
public get autoModerationRule(): AutoModerationRule | null;
|
||||
}
|
||||
|
||||
export class AutoModerationRule extends Base {
|
||||
private constructor(client: Client<true>, data: APIAutoModerationRule, guild: Guild);
|
||||
public id: Snowflake;
|
||||
public guild: Guild;
|
||||
public name: string;
|
||||
public creatorId: Snowflake;
|
||||
public eventType: AutoModerationRuleEventType;
|
||||
public triggerType: AutoModerationRuleTriggerType;
|
||||
public triggerMetadata: AutoModerationTriggerMetadata;
|
||||
public actions: AutoModerationAction[];
|
||||
public enabled: boolean;
|
||||
public exemptRoles: Collection<Snowflake, Role>;
|
||||
public exemptChannels: Collection<Snowflake, GuildBasedChannel>;
|
||||
public edit(options: AutoModerationRuleEditOptions): Promise<AutoModerationRule>;
|
||||
public delete(reason?: string): Promise<void>;
|
||||
public setName(name: string, reason?: string): Promise<AutoModerationRule>;
|
||||
public setEventType(
|
||||
eventType: AutoModerationRuleEventType | AutoModerationRuleEventTypes,
|
||||
reason?: string,
|
||||
): Promise<AutoModerationRule>;
|
||||
public setKeywordFilter(keywordFilter: string[], reason?: string): Promise<AutoModerationRule>;
|
||||
public setRegexPatterns(regexPatterns: string[], reason?: string): Promise<AutoModerationRule>;
|
||||
public setPresets(presets: AutoModerationRuleKeywordPresetType[], reason?: string): Promise<AutoModerationRule>;
|
||||
public setAllowList(allowList: string[], reason?: string): Promise<AutoModerationRule>;
|
||||
public setMentionTotalLimit(mentionTotalLimit: number, reason?: string): Promise<AutoModerationRule>;
|
||||
public setActions(actions: AutoModerationActionOptions, reason?: string): Promise<AutoModerationRule>;
|
||||
public setEnabled(enabled?: boolean, reason?: string): Promise<AutoModerationRule>;
|
||||
public setExemptRoles(
|
||||
roles: Collection<Snowflake, Role> | RoleResolvable[],
|
||||
reason?: string,
|
||||
): Promise<AutoModerationRule>;
|
||||
public setExemptChannels(
|
||||
channels: Collection<Snowflake, GuildBasedChannel> | GuildChannelResolvable[],
|
||||
reason?: string,
|
||||
): Promise<AutoModerationRule>;
|
||||
}
|
||||
|
||||
export class AutoModerationRuleManager extends CachedManager<
|
||||
Snowflake,
|
||||
AutoModerationRule,
|
||||
AutoModerationRuleResolvable
|
||||
> {
|
||||
private constructor(guild: Guild, iterable: unknown);
|
||||
public guild: Guild;
|
||||
public create(options: AutoModerationRuleCreateOptions): Promise<AutoModerationRule>;
|
||||
public edit(
|
||||
autoModerationRule: AutoModerationRuleResolvable,
|
||||
options: AutoModerationRuleEditOptions,
|
||||
): Promise<AutoModerationRule>;
|
||||
public fetch(options: AutoModerationRuleResolvable | FetchAutoModerationRuleOptions): Promise<AutoModerationRule>;
|
||||
public fetch(options?: FetchAutoModerationRulesOptions): Promise<Collection<Snowflake, AutoModerationRule>>;
|
||||
public delete(autoModerationRule: AutoModerationRuleResolvable, reason?: string): Promise<void>;
|
||||
}
|
||||
|
||||
export interface ApplicationCommandPermissionData {
|
||||
id: Snowflake;
|
||||
type: ApplicationCommandPermissionType | ApplicationCommandPermissionTypes;
|
||||
@@ -4961,6 +5060,57 @@ export type ApplicationFlagsString =
|
||||
| 'EMBEDDED_FIRST_PARTY'
|
||||
| 'APPLICATION_COMMAND_BADGE';
|
||||
|
||||
export interface AutoModerationAction {
|
||||
type: AutoModerationActionType | AutoModerationActionTypes;
|
||||
metadata: AutoModerationActionMetadata;
|
||||
}
|
||||
|
||||
export interface AutoModerationActionMetadata {
|
||||
channelId: Snowflake | null;
|
||||
durationSeconds: number | null;
|
||||
}
|
||||
|
||||
export interface AutoModerationTriggerMetadata {
|
||||
keywordFilter: string[];
|
||||
regexPatterns: string[];
|
||||
presets: (AutoModerationRuleKeywordPresetType | AutoModerationRuleKeywordPresetTypes)[];
|
||||
allowList: string[];
|
||||
mentionTotalLimit: number | null;
|
||||
}
|
||||
|
||||
export interface FetchAutoModerationRuleOptions extends BaseFetchOptions {
|
||||
autoModerationRule: AutoModerationRuleResolvable;
|
||||
}
|
||||
|
||||
export interface FetchAutoModerationRulesOptions {
|
||||
cache?: boolean;
|
||||
}
|
||||
|
||||
export interface AutoModerationRuleCreateOptions {
|
||||
name: string;
|
||||
eventType: AutoModerationRuleEventType | AutoModerationRuleEventTypes;
|
||||
triggerType: AutoModerationRuleTriggerType | AutoModerationRuleTriggerTypes;
|
||||
triggerMetadata?: AutoModerationTriggerMetadataOptions;
|
||||
actions: AutoModerationActionOptions;
|
||||
enabled?: boolean;
|
||||
exemptRoles?: Collection<Snowflake, Role> | RoleResolvable[];
|
||||
exemptChannels?: Collection<Snowflake, GuildBasedChannel> | GuildChannelResolvable[];
|
||||
reason?: string;
|
||||
}
|
||||
|
||||
export interface AutoModerationRuleEditOptions extends Partial<Omit<AutoModerationRuleCreateOptions, 'triggerType'>> {}
|
||||
|
||||
export interface AutoModerationTriggerMetadataOptions extends Partial<AutoModerationTriggerMetadata> {}
|
||||
|
||||
export interface AutoModerationActionOptions {
|
||||
type: AutoModerationActionType | AutoModerationActionTypes;
|
||||
metadata?: AutoModerationActionMetadataOptions;
|
||||
}
|
||||
|
||||
export interface AutoModerationActionMetadataOptions extends Partial<Omit<AutoModerationActionMetadata, 'channelId'>> {
|
||||
channel: GuildTextChannelResolvable | ThreadChannel;
|
||||
}
|
||||
|
||||
export interface AuditLogChange {
|
||||
key: APIAuditLogChange['key'];
|
||||
old?: APIAuditLogChange['old_value'];
|
||||
@@ -5020,6 +5170,7 @@ export type BufferResolvable = Buffer | string;
|
||||
|
||||
export interface Caches {
|
||||
ApplicationCommandManager: [manager: typeof ApplicationCommandManager, holds: typeof ApplicationCommand];
|
||||
AutoModerationRuleManager: [manager: typeof AutoModerationRuleManager, holds: typeof AutoModerationRule];
|
||||
BaseGuildEmojiManager: [manager: typeof BaseGuildEmojiManager, holds: typeof GuildEmoji];
|
||||
GuildEmojiManager: [manager: typeof GuildEmojiManager, holds: typeof GuildEmoji];
|
||||
// TODO: ChannelManager: [manager: typeof ChannelManager, holds: typeof Channel];
|
||||
@@ -5579,6 +5730,12 @@ interface GuildAuditLogsTypes {
|
||||
THREAD_CREATE: ['THREAD', 'CREATE'];
|
||||
THREAD_UPDATE: ['THREAD', 'UPDATE'];
|
||||
THREAD_DELETE: ['THREAD', 'DELETE'];
|
||||
AUTO_MODERATION_RULE_CREATE: ['AUTO_MODERATION', 'CREATE'];
|
||||
AUTO_MODERATION_RULE_UPDATE: ['AUTO_MODERATION', 'UPDATE'];
|
||||
AUTO_MODERATION_RULE_DELETE: ['AUTO_MODERATION', 'DELETE'];
|
||||
AUTO_MODERATION_BLOCK_MESSAGE: ['AUTO_MODERATION', 'CREATE'];
|
||||
AUTO_MODERATION_FLAG_TO_CHANNEL: ['AUTO_MODERATION', 'CREATE'];
|
||||
AUTO_MODERATION_USER_COMMUNICATION_DISABLED: ['AUTO_MODERATION', 'CREATE'];
|
||||
}
|
||||
|
||||
export interface GuildAuditLogsIds {
|
||||
@@ -5629,6 +5786,12 @@ export interface GuildAuditLogsIds {
|
||||
110: 'THREAD_CREATE';
|
||||
111: 'THREAD_UPDATE';
|
||||
112: 'THREAD_DELETE';
|
||||
140: 'AUTO_MODERATION_RULE_CREATE';
|
||||
141: 'AUTO_MODERATION_RULE_UPDATE';
|
||||
142: 'AUTO_MODERATION_RULE_DELETE';
|
||||
143: 'AUTO_MODERATION_BLOCK_MESSAGE';
|
||||
144: 'AUTO_MODERATION_FLAG_TO_CHANNEL';
|
||||
145: 'AUTO_MODERATION_USER_COMMUNICATION_DISABLED';
|
||||
}
|
||||
|
||||
export type GuildAuditLogsActions = { [Key in keyof GuildAuditLogsIds as GuildAuditLogsIds[Key]]: Key } & { ALL: null };
|
||||
@@ -5663,6 +5826,18 @@ export interface GuildAuditLogsEntryExtraField {
|
||||
STAGE_INSTANCE_CREATE: StageChannel | { id: Snowflake };
|
||||
STAGE_INSTANCE_DELETE: StageChannel | { id: Snowflake };
|
||||
STAGE_INSTANCE_UPDATE: StageChannel | { id: Snowflake };
|
||||
AUTO_MODERATION_BLOCK_MESSAGE: {
|
||||
autoModerationRuleName: string;
|
||||
autoModerationRuleTriggerType: AutoModerationRuleTriggerType;
|
||||
};
|
||||
AUTO_MODERATION_FLAG_TO_CHANNEL: {
|
||||
autoModerationRuleName: string;
|
||||
autoModerationRuleTriggerType: AutoModerationRuleTriggerType;
|
||||
};
|
||||
AUTO_MODERATION_USER_COMMUNICATIONDISABLED: {
|
||||
autoModerationRuleName: string;
|
||||
autoModerationRuleTriggerType: AutoModerationRuleTriggerType;
|
||||
};
|
||||
}
|
||||
|
||||
export interface GuildAuditLogsEntryTargetField<TActionType extends GuildAuditLogsActionType> {
|
||||
@@ -5677,6 +5852,7 @@ export interface GuildAuditLogsEntryTargetField<TActionType extends GuildAuditLo
|
||||
STAGE_INSTANCE: StageInstance;
|
||||
STICKER: Sticker;
|
||||
GUILD_SCHEDULED_EVENT: GuildScheduledEvent;
|
||||
AUTO_MODERATION: AutoModerationRule;
|
||||
}
|
||||
|
||||
export interface GuildAuditLogsFetchOptions<T extends GuildAuditLogsResolvable> {
|
||||
@@ -5994,7 +6170,9 @@ export type IntentsString =
|
||||
| 'DIRECT_MESSAGE_REACTIONS'
|
||||
| 'DIRECT_MESSAGE_TYPING'
|
||||
| 'MESSAGE_CONTENT'
|
||||
| 'GUILD_SCHEDULED_EVENTS';
|
||||
| 'GUILD_SCHEDULED_EVENTS'
|
||||
| 'AUTO_MODERATION_CONFIGURATION'
|
||||
| 'AUTO_MODERATION_EXECUTION';
|
||||
|
||||
export interface InviteGenerationOptions {
|
||||
permissions?: PermissionResolvable;
|
||||
@@ -6703,6 +6881,7 @@ export interface LifetimeSweepOptions {
|
||||
|
||||
export interface SweeperDefinitions {
|
||||
applicationCommands: [Snowflake, ApplicationCommand];
|
||||
autoModerationRules: [Snowflake, AutoModerationRule];
|
||||
bans: [Snowflake, GuildBan];
|
||||
emojis: [Snowflake, GuildEmoji];
|
||||
invites: [string, Invite, true];
|
||||
|
55
typings/rawDataTypes.d.ts
vendored
55
typings/rawDataTypes.d.ts
vendored
@@ -82,7 +82,15 @@ import {
|
||||
APIModalSubmitInteraction,
|
||||
} from 'discord-api-types/v9';
|
||||
import { GuildChannel, Guild, PermissionOverwrites, InteractionType } from '.';
|
||||
import type { InteractionTypes, MessageComponentTypes } from './enums';
|
||||
|
||||
import type {
|
||||
AutoModerationActionTypes,
|
||||
AutoModerationRuleEventTypes,
|
||||
AutoModerationRuleKeywordPresetTypes,
|
||||
AutoModerationRuleTriggerTypes,
|
||||
InteractionTypes,
|
||||
MessageComponentTypes,
|
||||
} from './enums';
|
||||
|
||||
export type RawActivityData = GatewayActivity;
|
||||
|
||||
@@ -216,3 +224,48 @@ export type RawWelcomeScreenData = APIGuildWelcomeScreen;
|
||||
export type RawWidgetData = APIGuildWidget;
|
||||
|
||||
export type RawWidgetMemberData = APIGuildWidgetMember;
|
||||
|
||||
export interface GatewayAutoModerationActionExecutionDispatchData {
|
||||
guild_id: Snowflake;
|
||||
action: APIAutoModerationAction;
|
||||
rule_id: Snowflake;
|
||||
rule_trigger_type: AutoModerationRuleTriggerTypes;
|
||||
user_id: Snowflake;
|
||||
channel_id?: Snowflake;
|
||||
message_id?: Snowflake;
|
||||
alert_system_message_id?: Snowflake;
|
||||
content: string;
|
||||
matched_keyword: string | null;
|
||||
matched_content: string | null;
|
||||
}
|
||||
|
||||
export interface APIAutoModerationAction {
|
||||
type: AutoModerationActionTypes;
|
||||
metadata?: APIAutoModerationActionMetadata;
|
||||
}
|
||||
export interface APIAutoModerationActionMetadata {
|
||||
channel_id?: Snowflake;
|
||||
duration_seconds?: number;
|
||||
}
|
||||
|
||||
export interface APIAutoModerationRule {
|
||||
id: Snowflake;
|
||||
guild_id: Snowflake;
|
||||
name: string;
|
||||
creator_id: Snowflake;
|
||||
event_type: AutoModerationRuleEventTypes;
|
||||
trigger_type: AutoModerationRuleTriggerTypes;
|
||||
trigger_metadata: APIAutoModerationRuleTriggerMetadata;
|
||||
actions: APIAutoModerationAction[];
|
||||
enabled: boolean;
|
||||
exempt_roles: Snowflake[];
|
||||
exempt_channels: Snowflake[];
|
||||
}
|
||||
|
||||
export interface APIAutoModerationRuleTriggerMetadata {
|
||||
keyword_filter?: string[];
|
||||
presets?: AutoModerationRuleKeywordPresetTypes[];
|
||||
allow_list?: string[];
|
||||
regex_patterns?: string[];
|
||||
mention_total_limit?: number;
|
||||
}
|
Reference in New Issue
Block a user