mirror of
https://github.com/discordjs/discord.js.git
synced 2026-05-28 06:20:10 +00:00
Compare commits
6 Commits
@discordjs
...
14.19.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3fff7b8be | ||
|
|
8cdbe23766 | ||
|
|
d920933dc5 | ||
|
|
2d817df3b5 | ||
|
|
1605a2c289 | ||
|
|
464ea2ab30 |
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
# [@discordjs/core@2.1.0](https://github.com/discordjs/discord.js/compare/@discordjs/core@2.0.1...@discordjs/core@2.1.0) - (2025-04-25)
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **website:** Include reexported members in docs (#10518) ([aa61c20](https://github.com/discordjs/discord.js/commit/aa61c20ffdac3f3a0dca224f9e48e614309ecb2e))
|
||||||
|
|
||||||
# [@discordjs/core@2.0.0](https://github.com/discordjs/discord.js/compare/@discordjs/core@1.2.0...@discordjs/core@2.0.0) - (2024-09-01)
|
# [@discordjs/core@2.0.0](https://github.com/discordjs/discord.js/compare/@discordjs/core@1.2.0...@discordjs/core@2.0.0) - (2024-09-01)
|
||||||
|
|
||||||
## Bug Fixes
|
## Bug Fixes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json.schemastore.org/package.json",
|
"$schema": "https://json.schemastore.org/package.json",
|
||||||
"name": "@discordjs/core",
|
"name": "@discordjs/core",
|
||||||
"version": "2.0.1",
|
"version": "2.1.0",
|
||||||
"description": "A thinly abstracted wrapper around the rest API, and gateway.",
|
"description": "A thinly abstracted wrapper around the rest API, and gateway.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "vitest run",
|
"test": "vitest run",
|
||||||
|
|||||||
@@ -2,6 +2,26 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
# [14.19.0](https://github.com/discordjs/discord.js/compare/14.18.0...14.19.0) - (2025-04-26)
|
||||||
|
|
||||||
|
## Bug Fixes
|
||||||
|
|
||||||
|
- Set `with_components` when sending components through webhooks ([8cdbe23](https://github.com/discordjs/discord.js/commit/8cdbe23766c6e5fe1e0acc040120e839511fea2c))
|
||||||
|
- **GuildAuditLogEntry:** Fix some incorrect types and runtime logic (#10849) ([d920933](https://github.com/discordjs/discord.js/commit/d920933dc5b3c518754f526a9864582fc2c92a43))
|
||||||
|
- Spread out section components next to accessory ([1605a2c](https://github.com/discordjs/discord.js/commit/1605a2c2894c4bb834c604f13a5a91cdbffac3a8))
|
||||||
|
- Correctly extend CachedManager in GuildSoundboardSoundManager ([532c384](https://github.com/discordjs/discord.js/commit/532c3842bc293c965dd9fee846257c9e0bbb450a))
|
||||||
|
- **MessagePayload:** Preserve existing flags when editing (#10766) ([ebfd526](https://github.com/discordjs/discord.js/commit/ebfd52695e205bccda3ae6f4ec39d4e5e8891ab0))
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Soundboard missing things (#10850) ([2d817df](https://github.com/discordjs/discord.js/commit/2d817df3b5894da84a1990cb4e0cfded8a925e75))
|
||||||
|
- Components v2 in v14 (#10781) ([edace17](https://github.com/discordjs/discord.js/commit/edace17a131f857547163a3acf4bb6fec0c1e415))
|
||||||
|
- Add soundboard in v14 (#10843) ([d3154cf](https://github.com/discordjs/discord.js/commit/d3154cf8f1eb027b5b4921d4048a32f464a3cd85))
|
||||||
|
|
||||||
|
## Typings
|
||||||
|
|
||||||
|
- Make `Client.on()` compatible with esnext.disposable in TS5.6+ (#10773) ([45552fa](https://github.com/discordjs/discord.js/commit/45552faf02c67b5079f34567c0214203cd927d2e))
|
||||||
|
|
||||||
# [14.18.0](https://github.com/discordjs/discord.js/compare/14.17.3...14.18.0) - (2025-02-10)
|
# [14.18.0](https://github.com/discordjs/discord.js/compare/14.17.3...14.18.0) - (2025-02-10)
|
||||||
|
|
||||||
## Bug Fixes
|
## Bug Fixes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json.schemastore.org/package.json",
|
"$schema": "https://json.schemastore.org/package.json",
|
||||||
"name": "discord.js",
|
"name": "discord.js",
|
||||||
"version": "14.18.0",
|
"version": "14.19.0",
|
||||||
"description": "A powerful library for interacting with the Discord API",
|
"description": "A powerful library for interacting with the Discord API",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "pnpm run docs:test && pnpm run test:typescript",
|
"test": "pnpm run docs:test && pnpm run test:typescript",
|
||||||
|
|||||||
@@ -157,35 +157,57 @@ class GuildSoundboardSoundManager extends CachedManager {
|
|||||||
await this.client.rest.delete(Routes.guildSoundboardSound(this.guild.id, soundId), { reason });
|
await this.client.rest.delete(Routes.guildSoundboardSound(this.guild.id, soundId), { reason });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Options used to fetch a soundboard sound.
|
||||||
|
* @typedef {BaseFetchOptions} FetchSoundboardSoundOptions
|
||||||
|
* @property {SoundboardSoundResolvable} soundboardSound The soundboard sound to fetch
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Options used to fetch soundboard sounds from Discord
|
||||||
|
* @typedef {Object} FetchGuildSoundboardSoundsOptions
|
||||||
|
* @property {boolean} [cache] Whether to cache the fetched soundboard sounds
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* eslint-disable max-len */
|
||||||
/**
|
/**
|
||||||
* Obtains one or more soundboard sounds from Discord, or the soundboard sound cache if they're already available.
|
* Obtains one or more soundboard sounds from Discord, or the soundboard sound cache if they're already available.
|
||||||
* @param {Snowflake} [id] The soundboard sound's id
|
* @param {SoundboardSoundResolvable|FetchSoundboardSoundOptions|FetchGuildSoundboardSoundsOptions} [options] Options for fetching soundboard sound(s)
|
||||||
* @param {BaseFetchOptions} [options] Additional options for this fetch
|
|
||||||
* @returns {Promise<SoundboardSound|Collection<Snowflake, SoundboardSound>>}
|
* @returns {Promise<SoundboardSound|Collection<Snowflake, SoundboardSound>>}
|
||||||
* @example
|
* @example
|
||||||
* // Fetch all soundboard sounds from the guild
|
|
||||||
* guild.soundboardSounds.fetch()
|
|
||||||
* .then(sounds => console.log(`There are ${sounds.size} soundboard sounds.`))
|
|
||||||
* .catch(console.error);
|
|
||||||
* @example
|
|
||||||
* // Fetch a single soundboard sound
|
* // Fetch a single soundboard sound
|
||||||
* guild.soundboardSounds.fetch('222078108977594368')
|
* guild.soundboardSounds.fetch('222078108977594368')
|
||||||
* .then(sound => console.log(`The soundboard sound name is: ${sound.name}`))
|
* .then(sound => console.log(`The soundboard sound name is: ${sound.name}`))
|
||||||
* .catch(console.error);
|
* .catch(console.error);
|
||||||
|
* @example
|
||||||
|
* // Fetch all soundboard sounds from the guild
|
||||||
|
* guild.soundboardSounds.fetch()
|
||||||
|
* .then(sounds => console.log(`There are ${sounds.size} soundboard sounds.`))
|
||||||
|
* .catch(console.error);
|
||||||
*/
|
*/
|
||||||
async fetch(id, { cache = true, force = false } = {}) {
|
/* eslint-enable max-len */
|
||||||
if (id) {
|
async fetch(options) {
|
||||||
if (!force) {
|
if (!options) return this._fetchMany();
|
||||||
const existing = this.cache.get(id);
|
const { cache, force, soundboardSound } = options;
|
||||||
if (existing) return existing;
|
const resolvedSoundboardSound = this.resolveId(soundboardSound ?? options);
|
||||||
}
|
if (resolvedSoundboardSound) return this._fetchSingle({ cache, force, soundboardSound });
|
||||||
|
return this._fetchMany({ cache });
|
||||||
|
}
|
||||||
|
|
||||||
const sound = await this.client.rest.get(Routes.guildSoundboardSound(this.guild.id, id));
|
async _fetchSingle({ cache, force, soundboardSound } = {}) {
|
||||||
return this._add(sound, cache);
|
if (!force) {
|
||||||
|
const existing = this.cache.get(soundboardSound);
|
||||||
|
if (existing) return existing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const data = await this.client.rest.get(Routes.guildSoundboardSound(this.guild.id, soundboardSound));
|
||||||
|
return this._add(data, cache);
|
||||||
|
}
|
||||||
|
|
||||||
|
async _fetchMany({ cache } = {}) {
|
||||||
const data = await this.client.rest.get(Routes.guildSoundboardSounds(this.guild.id));
|
const data = await this.client.rest.get(Routes.guildSoundboardSounds(this.guild.id));
|
||||||
return new Collection(data.map(sound => [sound.sound_id, this._add(sound, cache)]));
|
|
||||||
|
return data.items.reduce((coll, sound) => coll.set(sound.sound_id, this._add(sound, cache)), new Collection());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ const Targets = {
|
|||||||
AutoModeration: 'AutoModeration',
|
AutoModeration: 'AutoModeration',
|
||||||
GuildOnboarding: 'GuildOnboarding',
|
GuildOnboarding: 'GuildOnboarding',
|
||||||
GuildOnboardingPrompt: 'GuildOnboardingPrompt',
|
GuildOnboardingPrompt: 'GuildOnboardingPrompt',
|
||||||
|
SoundboardSound: 'SoundboardSound',
|
||||||
Unknown: 'Unknown',
|
Unknown: 'Unknown',
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -87,6 +88,8 @@ const Targets = {
|
|||||||
* * ApplicationCommandPermission
|
* * ApplicationCommandPermission
|
||||||
* * GuildOnboarding
|
* * GuildOnboarding
|
||||||
* * GuildOnboardingPrompt
|
* * GuildOnboardingPrompt
|
||||||
|
* * SoundboardSound
|
||||||
|
* * AutoModeration
|
||||||
* * Unknown
|
* * Unknown
|
||||||
* @typedef {string} AuditLogTargetType
|
* @typedef {string} AuditLogTargetType
|
||||||
*/
|
*/
|
||||||
@@ -200,7 +203,6 @@ class GuildAuditLogsEntry {
|
|||||||
|
|
||||||
case AuditLogEvent.MemberMove:
|
case AuditLogEvent.MemberMove:
|
||||||
case AuditLogEvent.MessageDelete:
|
case AuditLogEvent.MessageDelete:
|
||||||
case AuditLogEvent.MessageBulkDelete:
|
|
||||||
this.extra = {
|
this.extra = {
|
||||||
channel: guild.channels.cache.get(data.options.channel_id) ?? { id: data.options.channel_id },
|
channel: guild.channels.cache.get(data.options.channel_id) ?? { id: data.options.channel_id },
|
||||||
count: Number(data.options.count),
|
count: Number(data.options.count),
|
||||||
@@ -215,6 +217,7 @@ class GuildAuditLogsEntry {
|
|||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case AuditLogEvent.MessageBulkDelete:
|
||||||
case AuditLogEvent.MemberDisconnect:
|
case AuditLogEvent.MemberDisconnect:
|
||||||
this.extra = {
|
this.extra = {
|
||||||
count: Number(data.options.count),
|
count: Number(data.options.count),
|
||||||
@@ -366,12 +369,14 @@ class GuildAuditLogsEntry {
|
|||||||
data.action_type === AuditLogEvent.OnboardingPromptCreate
|
data.action_type === AuditLogEvent.OnboardingPromptCreate
|
||||||
? new GuildOnboardingPrompt(guild.client, changesReduce(this.changes, { id: data.target_id }), guild.id)
|
? new GuildOnboardingPrompt(guild.client, changesReduce(this.changes, { id: data.target_id }), guild.id)
|
||||||
: changesReduce(this.changes, { id: data.target_id });
|
: changesReduce(this.changes, { id: data.target_id });
|
||||||
} else if (targetType === Targets.GuildOnboarding) {
|
} else if (targetType === Targets.Role) {
|
||||||
this.target = changesReduce(this.changes, { id: data.target_id });
|
this.target = guild.roles.cache.get(data.target_id) ?? { id: data.target_id };
|
||||||
|
} else if (targetType === Targets.Emoji) {
|
||||||
|
this.target = guild.emojis.cache.get(data.target_id) ?? { id: data.target_id };
|
||||||
} else if (targetType === Targets.SoundboardSound) {
|
} else if (targetType === Targets.SoundboardSound) {
|
||||||
this.target = guild.soundboardSounds.cache.get(data.target_id) ?? { id: data.target_id };
|
this.target = guild.soundboardSounds.cache.get(data.target_id) ?? { id: data.target_id };
|
||||||
} else if (data.target_id) {
|
} else if (data.target_id) {
|
||||||
this.target = guild[`${targetType.toLowerCase()}s`]?.cache.get(data.target_id) ?? { id: data.target_id };
|
this.target = { id: data.target_id };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -395,7 +400,9 @@ class GuildAuditLogsEntry {
|
|||||||
if (target < 110) return Targets.GuildScheduledEvent;
|
if (target < 110) return Targets.GuildScheduledEvent;
|
||||||
if (target < 120) return Targets.Thread;
|
if (target < 120) return Targets.Thread;
|
||||||
if (target < 130) return Targets.ApplicationCommand;
|
if (target < 130) return Targets.ApplicationCommand;
|
||||||
if (target >= 140 && target < 150) return Targets.AutoModeration;
|
if (target < 140) return Targets.SoundboardSound;
|
||||||
|
if (target < 143) return Targets.AutoModeration;
|
||||||
|
if (target < 146) return Targets.User;
|
||||||
if (target >= 163 && target <= 165) return Targets.GuildOnboardingPrompt;
|
if (target >= 163 && target <= 165) return Targets.GuildOnboardingPrompt;
|
||||||
if (target >= 160 && target < 170) return Targets.GuildOnboarding;
|
if (target >= 160 && target < 170) return Targets.GuildOnboarding;
|
||||||
return Targets.Unknown;
|
return Targets.Unknown;
|
||||||
@@ -423,6 +430,7 @@ class GuildAuditLogsEntry {
|
|||||||
AuditLogEvent.StickerCreate,
|
AuditLogEvent.StickerCreate,
|
||||||
AuditLogEvent.GuildScheduledEventCreate,
|
AuditLogEvent.GuildScheduledEventCreate,
|
||||||
AuditLogEvent.ThreadCreate,
|
AuditLogEvent.ThreadCreate,
|
||||||
|
AuditLogEvent.SoundboardSoundCreate,
|
||||||
AuditLogEvent.AutoModerationRuleCreate,
|
AuditLogEvent.AutoModerationRuleCreate,
|
||||||
AuditLogEvent.AutoModerationBlockMessage,
|
AuditLogEvent.AutoModerationBlockMessage,
|
||||||
AuditLogEvent.OnboardingPromptCreate,
|
AuditLogEvent.OnboardingPromptCreate,
|
||||||
@@ -452,6 +460,7 @@ class GuildAuditLogsEntry {
|
|||||||
AuditLogEvent.StickerDelete,
|
AuditLogEvent.StickerDelete,
|
||||||
AuditLogEvent.GuildScheduledEventDelete,
|
AuditLogEvent.GuildScheduledEventDelete,
|
||||||
AuditLogEvent.ThreadDelete,
|
AuditLogEvent.ThreadDelete,
|
||||||
|
AuditLogEvent.SoundboardSoundDelete,
|
||||||
AuditLogEvent.AutoModerationRuleDelete,
|
AuditLogEvent.AutoModerationRuleDelete,
|
||||||
AuditLogEvent.OnboardingPromptDelete,
|
AuditLogEvent.OnboardingPromptDelete,
|
||||||
].includes(action)
|
].includes(action)
|
||||||
@@ -476,8 +485,13 @@ class GuildAuditLogsEntry {
|
|||||||
AuditLogEvent.StickerUpdate,
|
AuditLogEvent.StickerUpdate,
|
||||||
AuditLogEvent.GuildScheduledEventUpdate,
|
AuditLogEvent.GuildScheduledEventUpdate,
|
||||||
AuditLogEvent.ThreadUpdate,
|
AuditLogEvent.ThreadUpdate,
|
||||||
|
AuditLogEvent.SoundboardSoundUpdate,
|
||||||
AuditLogEvent.ApplicationCommandPermissionUpdate,
|
AuditLogEvent.ApplicationCommandPermissionUpdate,
|
||||||
|
AuditLogEvent.SoundboardSoundUpdate,
|
||||||
AuditLogEvent.AutoModerationRuleUpdate,
|
AuditLogEvent.AutoModerationRuleUpdate,
|
||||||
|
AuditLogEvent.AutoModerationBlockMessage,
|
||||||
|
AuditLogEvent.AutoModerationFlagToChannel,
|
||||||
|
AuditLogEvent.AutoModerationUserCommunicationDisabled,
|
||||||
AuditLogEvent.OnboardingPromptUpdate,
|
AuditLogEvent.OnboardingPromptUpdate,
|
||||||
AuditLogEvent.OnboardingUpdate,
|
AuditLogEvent.OnboardingUpdate,
|
||||||
].includes(action)
|
].includes(action)
|
||||||
|
|||||||
@@ -214,12 +214,14 @@ class Webhook {
|
|||||||
messagePayload = MessagePayload.create(this, options).resolveBody();
|
messagePayload = MessagePayload.create(this, options).resolveBody();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const { body, files } = await messagePayload.resolveFiles();
|
||||||
|
|
||||||
const query = makeURLSearchParams({
|
const query = makeURLSearchParams({
|
||||||
wait: true,
|
wait: true,
|
||||||
thread_id: messagePayload.options.threadId,
|
thread_id: messagePayload.options.threadId,
|
||||||
|
with_components: body?.components?.length > 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
const { body, files } = await messagePayload.resolveFiles();
|
|
||||||
const d = await this.client.rest.post(Routes.webhook(this.id, this.token), {
|
const d = await this.client.rest.post(Routes.webhook(this.id, this.token), {
|
||||||
body,
|
body,
|
||||||
files,
|
files,
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ function findComponentByCustomId(components, customId) {
|
|||||||
case ComponentType.ActionRow:
|
case ComponentType.ActionRow:
|
||||||
return component.components;
|
return component.components;
|
||||||
case ComponentType.Section:
|
case ComponentType.Section:
|
||||||
return [component.accessory];
|
return [...component.components, component.accessory];
|
||||||
default:
|
default:
|
||||||
return [component];
|
return [component];
|
||||||
}
|
}
|
||||||
|
|||||||
63
packages/discord.js/typings/index.d.ts
vendored
63
packages/discord.js/typings/index.d.ts
vendored
@@ -1607,9 +1607,9 @@ export class Guild extends AnonymousGuild {
|
|||||||
public editOnboarding(options: GuildOnboardingEditOptions): Promise<GuildOnboarding>;
|
public editOnboarding(options: GuildOnboardingEditOptions): Promise<GuildOnboarding>;
|
||||||
public editWelcomeScreen(options: WelcomeScreenEditOptions): Promise<WelcomeScreen>;
|
public editWelcomeScreen(options: WelcomeScreenEditOptions): Promise<WelcomeScreen>;
|
||||||
public equals(guild: Guild): boolean;
|
public equals(guild: Guild): boolean;
|
||||||
public fetchAuditLogs<Event extends GuildAuditLogsResolvable = null>(
|
public fetchAuditLogs<Event extends GuildAuditLogsResolvable = AuditLogEvent>(
|
||||||
options?: GuildAuditLogsFetchOptions<Event>,
|
options?: GuildAuditLogsFetchOptions<Event>,
|
||||||
): Promise<GuildAuditLogs<Event>>;
|
): Promise<GuildAuditLogs<Event extends null ? AuditLogEvent : Event>>;
|
||||||
public fetchIntegrations(): Promise<Collection<Snowflake | string, Integration>>;
|
public fetchIntegrations(): Promise<Collection<Snowflake | string, Integration>>;
|
||||||
public fetchOnboarding(): Promise<GuildOnboarding>;
|
public fetchOnboarding(): Promise<GuildOnboarding>;
|
||||||
public fetchOwner(options?: BaseFetchOptions): Promise<GuildMember>;
|
public fetchOwner(options?: BaseFetchOptions): Promise<GuildMember>;
|
||||||
@@ -1666,7 +1666,7 @@ export class FileComponent extends Component<APIFileComponent> {
|
|||||||
public get spoiler(): boolean;
|
public get spoiler(): boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class GuildAuditLogs<Event extends GuildAuditLogsResolvable = AuditLogEvent> {
|
export class GuildAuditLogs<Event extends AuditLogEvent = AuditLogEvent> {
|
||||||
private constructor(guild: Guild, data: RawGuildAuditLogData);
|
private constructor(guild: Guild, data: RawGuildAuditLogData);
|
||||||
private applicationCommands: Collection<Snowflake, ApplicationCommand>;
|
private applicationCommands: Collection<Snowflake, ApplicationCommand>;
|
||||||
private webhooks: Collection<Snowflake, Webhook<WebhookType.ChannelFollower | WebhookType.Incoming>>;
|
private webhooks: Collection<Snowflake, Webhook<WebhookType.ChannelFollower | WebhookType.Incoming>>;
|
||||||
@@ -1678,33 +1678,30 @@ export class GuildAuditLogs<Event extends GuildAuditLogsResolvable = AuditLogEve
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class GuildAuditLogsEntry<
|
export class GuildAuditLogsEntry<
|
||||||
TAction extends GuildAuditLogsResolvable = AuditLogEvent,
|
TAction extends AuditLogEvent = AuditLogEvent,
|
||||||
TActionType extends GuildAuditLogsActionType = TAction extends keyof GuildAuditLogsTypes
|
TActionType extends GuildAuditLogsActionType = TAction extends keyof GuildAuditLogsTypes
|
||||||
? GuildAuditLogsTypes[TAction][1]
|
? GuildAuditLogsTypes[TAction][1]
|
||||||
: GuildAuditLogsActionType,
|
: 'All',
|
||||||
TTargetType extends GuildAuditLogsTargetType = TAction extends keyof GuildAuditLogsTypes
|
TTargetType extends GuildAuditLogsTargetType = TAction extends keyof GuildAuditLogsTypes
|
||||||
? GuildAuditLogsTypes[TAction][0]
|
? GuildAuditLogsTypes[TAction][0]
|
||||||
: GuildAuditLogsTargetType,
|
: 'Unknown',
|
||||||
TResolvedType = TAction extends null ? AuditLogEvent : TAction,
|
|
||||||
> {
|
> {
|
||||||
private constructor(guild: Guild, data: RawGuildAuditLogEntryData, logs?: GuildAuditLogs);
|
private constructor(guild: Guild, data: RawGuildAuditLogEntryData, logs?: GuildAuditLogs);
|
||||||
public static Targets: GuildAuditLogsTargets;
|
public static Targets: GuildAuditLogsTargets;
|
||||||
public action: TResolvedType;
|
public action: TAction;
|
||||||
public actionType: TActionType;
|
public actionType: TActionType;
|
||||||
public changes: AuditLogChange[];
|
public changes: AuditLogChange[];
|
||||||
public get createdAt(): Date;
|
public get createdAt(): Date;
|
||||||
public get createdTimestamp(): number;
|
public get createdTimestamp(): number;
|
||||||
public executorId: Snowflake | null;
|
public executorId: Snowflake | null;
|
||||||
public executor: User | null;
|
public executor: User | PartialUser | null;
|
||||||
public extra: TResolvedType extends keyof GuildAuditLogsEntryExtraField
|
public extra: TAction extends keyof GuildAuditLogsEntryExtraField ? GuildAuditLogsEntryExtraField[TAction] : null;
|
||||||
? GuildAuditLogsEntryExtraField[TResolvedType]
|
|
||||||
: null;
|
|
||||||
public id: Snowflake;
|
public id: Snowflake;
|
||||||
public reason: string | null;
|
public reason: string | null;
|
||||||
public targetId: Snowflake | null;
|
public targetId: Snowflake | null;
|
||||||
public target: TTargetType extends keyof GuildAuditLogsEntryTargetField<TActionType>
|
public target: TTargetType extends keyof GuildAuditLogsEntryTargetField<TAction>
|
||||||
? GuildAuditLogsEntryTargetField<TActionType>[TTargetType]
|
? GuildAuditLogsEntryTargetField<TAction>[TTargetType]
|
||||||
: Role | GuildEmoji | { id: Snowflake } | null;
|
: { id: Snowflake | undefined; [x: string]: unknown } | null;
|
||||||
public targetType: TTargetType;
|
public targetType: TTargetType;
|
||||||
public static actionType(action: AuditLogEvent): GuildAuditLogsActionType;
|
public static actionType(action: AuditLogEvent): GuildAuditLogsActionType;
|
||||||
public static targetType(target: AuditLogEvent): GuildAuditLogsTargetType;
|
public static targetType(target: AuditLogEvent): GuildAuditLogsTargetType;
|
||||||
@@ -4862,6 +4859,12 @@ export interface GuildSoundboardSoundEditOptions {
|
|||||||
emojiName?: string | null;
|
emojiName?: string | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface FetchGuildSoundboardSoundOptions extends BaseFetchOptions {
|
||||||
|
soundboardSound: SoundboardSoundResolvable;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FetchGuildSoundboardSoundsOptions extends Pick<BaseFetchOptions, 'cache'> {}
|
||||||
|
|
||||||
export class GuildSoundboardSoundManager extends CachedManager<Snowflake, SoundboardSound, SoundboardSoundResolvable> {
|
export class GuildSoundboardSoundManager extends CachedManager<Snowflake, SoundboardSound, SoundboardSoundResolvable> {
|
||||||
private constructor(guild: Guild, iterable?: Iterable<APISoundboardSound>);
|
private constructor(guild: Guild, iterable?: Iterable<APISoundboardSound>);
|
||||||
public guild: Guild;
|
public guild: Guild;
|
||||||
@@ -4871,8 +4874,8 @@ export class GuildSoundboardSoundManager extends CachedManager<Snowflake, Soundb
|
|||||||
options: GuildSoundboardSoundEditOptions,
|
options: GuildSoundboardSoundEditOptions,
|
||||||
): Promise<GuildSoundboardSound>;
|
): Promise<GuildSoundboardSound>;
|
||||||
public delete(soundboardSound: SoundboardSoundResolvable): Promise<void>;
|
public delete(soundboardSound: SoundboardSoundResolvable): Promise<void>;
|
||||||
public fetch(id: Snowflake, options?: BaseFetchOptions): Promise<GuildSoundboardSound>;
|
public fetch(options: SoundboardSoundResolvable | FetchGuildSoundboardSoundOptions): Promise<GuildSoundboardSound>;
|
||||||
public fetch(options?: BaseFetchOptions): Promise<Collection<Snowflake, GuildSoundboardSound>>;
|
public fetch(options?: FetchGuildSoundboardSoundsOptions): Promise<Collection<Snowflake, GuildSoundboardSound>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class GuildStickerManager extends CachedManager<Snowflake, Sticker, StickerResolvable> {
|
export class GuildStickerManager extends CachedManager<Snowflake, Sticker, StickerResolvable> {
|
||||||
@@ -6334,12 +6337,15 @@ interface GuildAuditLogsTypes {
|
|||||||
[AuditLogEvent.ThreadUpdate]: ['Thread', 'Update'];
|
[AuditLogEvent.ThreadUpdate]: ['Thread', 'Update'];
|
||||||
[AuditLogEvent.ThreadDelete]: ['Thread', 'Delete'];
|
[AuditLogEvent.ThreadDelete]: ['Thread', 'Delete'];
|
||||||
[AuditLogEvent.ApplicationCommandPermissionUpdate]: ['ApplicationCommand', 'Update'];
|
[AuditLogEvent.ApplicationCommandPermissionUpdate]: ['ApplicationCommand', 'Update'];
|
||||||
|
[AuditLogEvent.SoundboardSoundCreate]: ['SoundboardSound', 'Create'];
|
||||||
|
[AuditLogEvent.SoundboardSoundUpdate]: ['SoundboardSound', 'Update'];
|
||||||
|
[AuditLogEvent.SoundboardSoundDelete]: ['SoundboardSound', 'Delete'];
|
||||||
[AuditLogEvent.AutoModerationRuleCreate]: ['AutoModeration', 'Create'];
|
[AuditLogEvent.AutoModerationRuleCreate]: ['AutoModeration', 'Create'];
|
||||||
[AuditLogEvent.AutoModerationRuleUpdate]: ['AutoModeration', 'Update'];
|
[AuditLogEvent.AutoModerationRuleUpdate]: ['AutoModeration', 'Update'];
|
||||||
[AuditLogEvent.AutoModerationRuleDelete]: ['AutoModeration', 'Delete'];
|
[AuditLogEvent.AutoModerationRuleDelete]: ['AutoModeration', 'Delete'];
|
||||||
[AuditLogEvent.AutoModerationBlockMessage]: ['AutoModeration', 'Create'];
|
[AuditLogEvent.AutoModerationBlockMessage]: ['User', 'Update'];
|
||||||
[AuditLogEvent.AutoModerationFlagToChannel]: ['AutoModeration', 'Create'];
|
[AuditLogEvent.AutoModerationFlagToChannel]: ['User', 'Update'];
|
||||||
[AuditLogEvent.AutoModerationUserCommunicationDisabled]: ['AutoModeration', 'Create'];
|
[AuditLogEvent.AutoModerationUserCommunicationDisabled]: ['User', 'Update'];
|
||||||
[AuditLogEvent.OnboardingPromptCreate]: ['GuildOnboardingPrompt', 'Create'];
|
[AuditLogEvent.OnboardingPromptCreate]: ['GuildOnboardingPrompt', 'Create'];
|
||||||
[AuditLogEvent.OnboardingPromptUpdate]: ['GuildOnboardingPrompt', 'Update'];
|
[AuditLogEvent.OnboardingPromptUpdate]: ['GuildOnboardingPrompt', 'Update'];
|
||||||
[AuditLogEvent.OnboardingPromptDelete]: ['GuildOnboardingPrompt', 'Delete'];
|
[AuditLogEvent.OnboardingPromptDelete]: ['GuildOnboardingPrompt', 'Delete'];
|
||||||
@@ -6355,7 +6361,7 @@ export interface GuildAuditLogsEntryExtraField {
|
|||||||
[AuditLogEvent.MemberPrune]: { removed: number; days: number };
|
[AuditLogEvent.MemberPrune]: { removed: number; days: number };
|
||||||
[AuditLogEvent.MemberMove]: { channel: VoiceBasedChannel | { id: Snowflake }; count: number };
|
[AuditLogEvent.MemberMove]: { channel: VoiceBasedChannel | { id: Snowflake }; count: number };
|
||||||
[AuditLogEvent.MessageDelete]: { channel: GuildTextBasedChannel | { id: Snowflake }; count: number };
|
[AuditLogEvent.MessageDelete]: { channel: GuildTextBasedChannel | { id: Snowflake }; count: number };
|
||||||
[AuditLogEvent.MessageBulkDelete]: { channel: GuildTextBasedChannel | { id: Snowflake }; count: number };
|
[AuditLogEvent.MessageBulkDelete]: { count: number };
|
||||||
[AuditLogEvent.MessagePin]: { channel: GuildTextBasedChannel | { id: Snowflake }; messageId: Snowflake };
|
[AuditLogEvent.MessagePin]: { channel: GuildTextBasedChannel | { id: Snowflake }; messageId: Snowflake };
|
||||||
[AuditLogEvent.MessageUnpin]: { channel: GuildTextBasedChannel | { id: Snowflake }; messageId: Snowflake };
|
[AuditLogEvent.MessageUnpin]: { channel: GuildTextBasedChannel | { id: Snowflake }; messageId: Snowflake };
|
||||||
[AuditLogEvent.MemberDisconnect]: { count: number };
|
[AuditLogEvent.MemberDisconnect]: { count: number };
|
||||||
@@ -6395,12 +6401,14 @@ export interface GuildAuditLogsEntryExtraField {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface GuildAuditLogsEntryTargetField<TActionType extends GuildAuditLogsActionType> {
|
export interface GuildAuditLogsEntryTargetField<TAction extends AuditLogEvent> {
|
||||||
User: User | null;
|
User: User | PartialUser | null;
|
||||||
Guild: Guild;
|
Guild: Guild;
|
||||||
Webhook: Webhook<WebhookType.ChannelFollower | WebhookType.Incoming>;
|
Webhook: Webhook<WebhookType.ChannelFollower | WebhookType.Incoming>;
|
||||||
Invite: Invite;
|
Invite: Invite;
|
||||||
Message: TActionType extends AuditLogEvent.MessageBulkDelete ? Guild | { id: Snowflake } : User;
|
Emoji: GuildEmoji | { id: Snowflake };
|
||||||
|
Role: Role | { id: Snowflake };
|
||||||
|
Message: TAction extends AuditLogEvent.MessageBulkDelete ? GuildTextBasedChannel | { id: Snowflake } : User | null;
|
||||||
Integration: Integration;
|
Integration: Integration;
|
||||||
Channel: NonThreadGuildBasedChannel | { id: Snowflake; [x: string]: unknown };
|
Channel: NonThreadGuildBasedChannel | { id: Snowflake; [x: string]: unknown };
|
||||||
Thread: AnyThreadChannel | { id: Snowflake; [x: string]: unknown };
|
Thread: AnyThreadChannel | { id: Snowflake; [x: string]: unknown };
|
||||||
@@ -6409,7 +6417,8 @@ export interface GuildAuditLogsEntryTargetField<TActionType extends GuildAuditLo
|
|||||||
GuildScheduledEvent: GuildScheduledEvent;
|
GuildScheduledEvent: GuildScheduledEvent;
|
||||||
ApplicationCommand: ApplicationCommand | { id: Snowflake };
|
ApplicationCommand: ApplicationCommand | { id: Snowflake };
|
||||||
AutoModerationRule: AutoModerationRule;
|
AutoModerationRule: AutoModerationRule;
|
||||||
GuildOnboardingPrompt: GuildOnboardingPrompt;
|
GuildOnboardingPrompt: GuildOnboardingPrompt | { id: Snowflake; [x: string]: unknown };
|
||||||
|
SoundboardSound: SoundboardSound | { id: Snowflake };
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface GuildAuditLogsFetchOptions<Event extends GuildAuditLogsResolvable> {
|
export interface GuildAuditLogsFetchOptions<Event extends GuildAuditLogsResolvable> {
|
||||||
@@ -6422,10 +6431,10 @@ export interface GuildAuditLogsFetchOptions<Event extends GuildAuditLogsResolvab
|
|||||||
|
|
||||||
export type GuildAuditLogsResolvable = AuditLogEvent | null;
|
export type GuildAuditLogsResolvable = AuditLogEvent | null;
|
||||||
|
|
||||||
export type GuildAuditLogsTargetType = GuildAuditLogsTypes[keyof GuildAuditLogsTypes][0] | 'All' | 'Unknown';
|
export type GuildAuditLogsTargetType = GuildAuditLogsTypes[keyof GuildAuditLogsTypes][0] | 'Unknown';
|
||||||
|
|
||||||
export type GuildAuditLogsTargets = {
|
export type GuildAuditLogsTargets = {
|
||||||
[Key in GuildAuditLogsTargetType]: GuildAuditLogsTargetType;
|
[Key in GuildAuditLogsTargetType]: Key;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type GuildBanResolvable = GuildBan | UserResolvable;
|
export type GuildBanResolvable = GuildBan | UserResolvable;
|
||||||
|
|||||||
@@ -2272,7 +2272,7 @@ expectType<Promise<GuildAuditLogs<AuditLogEvent.IntegrationUpdate>>>(
|
|||||||
guild.fetchAuditLogs({ type: AuditLogEvent.IntegrationUpdate }),
|
guild.fetchAuditLogs({ type: AuditLogEvent.IntegrationUpdate }),
|
||||||
);
|
);
|
||||||
|
|
||||||
expectType<Promise<GuildAuditLogs<null>>>(guild.fetchAuditLogs({ type: null }));
|
expectType<Promise<GuildAuditLogs<AuditLogEvent>>>(guild.fetchAuditLogs({ type: null }));
|
||||||
expectType<Promise<GuildAuditLogs<AuditLogEvent>>>(guild.fetchAuditLogs());
|
expectType<Promise<GuildAuditLogs<AuditLogEvent>>>(guild.fetchAuditLogs());
|
||||||
|
|
||||||
expectType<Promise<GuildAuditLogsEntry<AuditLogEvent.MemberKick, 'Delete', 'User'> | undefined>>(
|
expectType<Promise<GuildAuditLogsEntry<AuditLogEvent.MemberKick, 'Delete', 'User'> | undefined>>(
|
||||||
@@ -2282,10 +2282,10 @@ expectAssignable<Promise<GuildAuditLogsEntry<AuditLogEvent.MemberKick, 'Delete',
|
|||||||
guild.fetchAuditLogs({ type: AuditLogEvent.MemberKick }).then(al => al.entries.first()),
|
guild.fetchAuditLogs({ type: AuditLogEvent.MemberKick }).then(al => al.entries.first()),
|
||||||
);
|
);
|
||||||
|
|
||||||
expectType<Promise<GuildAuditLogsEntry<null, GuildAuditLogsActionType, GuildAuditLogsTargetType> | undefined>>(
|
expectType<Promise<GuildAuditLogsEntry<AuditLogEvent, GuildAuditLogsActionType, GuildAuditLogsTargetType> | undefined>>(
|
||||||
guild.fetchAuditLogs({ type: null }).then(al => al.entries.first()),
|
guild.fetchAuditLogs({ type: null }).then(al => al.entries.first()),
|
||||||
);
|
);
|
||||||
expectType<Promise<GuildAuditLogsEntry<null, GuildAuditLogsActionType, GuildAuditLogsTargetType> | undefined>>(
|
expectType<Promise<GuildAuditLogsEntry<AuditLogEvent, GuildAuditLogsActionType, GuildAuditLogsTargetType> | undefined>>(
|
||||||
guild.fetchAuditLogs().then(al => al.entries.first()),
|
guild.fetchAuditLogs().then(al => al.entries.first()),
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -2304,15 +2304,18 @@ expectType<Promise<{ channel: GuildTextBasedChannel | { id: Snowflake }; count:
|
|||||||
guild.fetchAuditLogs({ type: AuditLogEvent.MessageDelete }).then(al => al.entries.first()?.extra),
|
guild.fetchAuditLogs({ type: AuditLogEvent.MessageDelete }).then(al => al.entries.first()?.extra),
|
||||||
);
|
);
|
||||||
|
|
||||||
expectType<Promise<User | null | undefined>>(
|
expectType<Promise<User | PartialUser | null | undefined>>(
|
||||||
guild.fetchAuditLogs({ type: AuditLogEvent.MemberKick }).then(al => al.entries.first()?.target),
|
guild.fetchAuditLogs({ type: AuditLogEvent.MemberKick }).then(al => al.entries.first()?.target),
|
||||||
);
|
);
|
||||||
expectType<Promise<StageInstance | undefined>>(
|
expectType<Promise<StageInstance | undefined>>(
|
||||||
guild.fetchAuditLogs({ type: AuditLogEvent.StageInstanceCreate }).then(al => al.entries.first()?.target),
|
guild.fetchAuditLogs({ type: AuditLogEvent.StageInstanceCreate }).then(al => al.entries.first()?.target),
|
||||||
);
|
);
|
||||||
expectType<Promise<User | undefined>>(
|
expectType<Promise<User | null | undefined>>(
|
||||||
guild.fetchAuditLogs({ type: AuditLogEvent.MessageDelete }).then(al => al.entries.first()?.target),
|
guild.fetchAuditLogs({ type: AuditLogEvent.MessageDelete }).then(al => al.entries.first()?.target),
|
||||||
);
|
);
|
||||||
|
expectType<Promise<GuildTextBasedChannel | { id: string } | undefined>>(
|
||||||
|
guild.fetchAuditLogs({ type: AuditLogEvent.MessageBulkDelete }).then(al => al.entries.first()?.target),
|
||||||
|
);
|
||||||
|
|
||||||
declare const AuditLogChange: AuditLogChange;
|
declare const AuditLogChange: AuditLogChange;
|
||||||
// @ts-expect-error
|
// @ts-expect-error
|
||||||
|
|||||||
Reference in New Issue
Block a user