fix: edit() data can be partial and defaultMemberPermissions can be null (#8163)

This commit is contained in:
Almeida
2022-06-24 09:42:20 +01:00
committed by GitHub
parent 5d3dd55a26
commit 0ffbef506a
4 changed files with 13 additions and 8 deletions

View File

@@ -173,7 +173,7 @@ class ApplicationCommandManager extends CachedManager {
/**
* Edits an application command.
* @param {ApplicationCommandResolvable} command The command to edit
* @param {ApplicationCommandData|APIApplicationCommand} data The data to update the command with
* @param {Partial<ApplicationCommandData|APIApplicationCommand>} data The data to update the command with
* @param {Snowflake} [guildId] The guild's id where the command registered,
* ignored when using a {@link GuildApplicationCommandManager}
* @returns {Promise<ApplicationCommand>}

View File

@@ -232,7 +232,7 @@ class ApplicationCommand extends Base {
/**
* Edits this application command.
* @param {ApplicationCommandData} data The data to update the command with
* @param {Partial<ApplicationCommandData>} data The data to update the command with
* @returns {Promise<ApplicationCommand>}
* @example
* // Edit the description of this command
@@ -300,7 +300,7 @@ class ApplicationCommand extends Base {
/**
* Edits the default member permissions of this ApplicationCommand
* @param {PermissionResolvable} defaultMemberPermissions The default member permissions required to run this command
* @param {?PermissionResolvable} defaultMemberPermissions The default member permissions required to run this command
* @returns {Promise<ApplicationCommand>}
*/
setDefaultMemberPermissions(defaultMemberPermissions) {

View File

@@ -328,7 +328,7 @@ export class ApplicationCommand<PermissionsFetchType = {}> extends Base {
public type: ApplicationCommandType;
public version: Snowflake;
public delete(): Promise<ApplicationCommand<PermissionsFetchType>>;
public edit(data: ApplicationCommandData): Promise<ApplicationCommand<PermissionsFetchType>>;
public edit(data: Partial<ApplicationCommandData>): Promise<ApplicationCommand<PermissionsFetchType>>;
public setName(name: string): Promise<ApplicationCommand<PermissionsFetchType>>;
public setNameLocalizations(nameLocalizations: LocalizationMap): Promise<ApplicationCommand<PermissionsFetchType>>;
public setDescription(description: string): Promise<ApplicationCommand<PermissionsFetchType>>;
@@ -336,7 +336,7 @@ export class ApplicationCommand<PermissionsFetchType = {}> extends Base {
descriptionLocalizations: LocalizationMap,
): Promise<ApplicationCommand<PermissionsFetchType>>;
public setDefaultMemberPermissions(
defaultMemberPermissions: PermissionResolvable,
defaultMemberPermissions: PermissionResolvable | null,
): Promise<ApplicationCommand<PermissionsFetchType>>;
public setDMPermission(dmPermission?: boolean): Promise<ApplicationCommand<PermissionsFetchType>>;
public setOptions(options: ApplicationCommandOptionData[]): Promise<ApplicationCommand<PermissionsFetchType>>;
@@ -3188,11 +3188,11 @@ export class ApplicationCommandManager<
public delete(command: ApplicationCommandResolvable, guildId?: Snowflake): Promise<ApplicationCommandScope | null>;
public edit(
command: ApplicationCommandResolvable,
data: ApplicationCommandDataResolvable,
data: Partial<ApplicationCommandDataResolvable>,
): Promise<ApplicationCommandScope>;
public edit(
command: ApplicationCommandResolvable,
data: ApplicationCommandDataResolvable,
data: Partial<ApplicationCommandDataResolvable>,
guildId: Snowflake,
): Promise<ApplicationCommand>;
public fetch(
@@ -3690,7 +3690,7 @@ export interface BaseApplicationCommandData {
name: string;
nameLocalizations?: LocalizationMap;
dmPermission?: boolean;
defaultMemberPermissions?: PermissionResolvable;
defaultMemberPermissions?: PermissionResolvable | null;
}
export interface AttachmentData {

View File

@@ -169,6 +169,11 @@ client.on('ready', async () => {
const guildCommandFromGlobal = await client.application?.commands.fetch(guildCommandId, { guildId: testGuildId });
const guildCommandFromGuild = await client.guilds.cache.get(testGuildId)?.commands.fetch(guildCommandId);
await client.application?.commands.edit(globalCommandId, { defaultMemberPermissions: null });
await globalCommand?.edit({ defaultMemberPermissions: null });
await globalCommand?.setDefaultMemberPermissions(null);
await guildCommandFromGlobal?.edit({ dmPermission: false });
// @ts-expect-error
await client.guilds.cache.get(testGuildId)?.commands.fetch(guildCommandId, { guildId: testGuildId });