class ApplicationCommandManager

extends

CachedManager<Snowflake, ApplicationCommandScope, ApplicationCommandResolvable>
export class ApplicationCommandManager< ApplicationCommandScope = ApplicationCommand<{ guild: GuildResolvable }>, PermissionsOptionsExtras = { guild: GuildResolvable }, PermissionsGuildType = null,> extends CachedManager<Snowflake, ApplicationCommandScope, ApplicationCommandResolvable>

Manages API methods for application commands and stores their cache.

Constructors

constructor(
client: Client<true>
iterable?: Iterable<unknown>
)

Constructs a new instance of the ApplicationCommandManager class

Type Parameters

optional
ApplicationCommandScope? = ApplicationCommand<{ guild: GuildResolvable }>

optional
PermissionsOptionsExtras? = { guild: GuildResolvable }

optional
PermissionsGuildType? = null

The cache of this manager

readonly
client : Client

The client that instantiated this Manager

readonly
holds : Constructable<Holds>

The data structure belonging to this manager.

Inherited from: DataManager

permissions : ApplicationCommandPermissionsManager< { command?: ApplicationCommandResolvable } & PermissionsOptionsExtras, { command: ApplicationCommandResolvable } & PermissionsOptionsExtras, PermissionsGuildType, null >

The manager for permissions of arbitrary commands on arbitrary guilds

create() : Promise<ApplicationCommandScope>

Creates an application command.

Examples:
// Create a new command
client.application.commands.create({
  name: 'test',
  description: 'A test command',
})
  .then(console.log)
  .catch(console.error);

delete() : Promise<ApplicationCommandScope | null>

Deletes an application command.

Examples:
// Delete a command
guild.commands.delete('123456789012345678')
  .then(console.log)
  .catch(console.error);

edit() : Promise<ApplicationCommandScope>

Edits an application command.

Examples:
// Edit an existing command
client.application.commands.edit('123456789012345678', {
  description: 'New description',
})
  .then(console.log)
  .catch(console.error);

Obtains one or multiple application commands from Discord, or the cache if it's already available.

Examples:
// Fetch a single command
client.application.commands.fetch('123456789012345678')
  .then(command => console.log(`Fetched command ${command.name}`))
  .catch(console.error);
// Fetch all commands
guild.commands.fetch()
  .then(commands => console.log(`Fetched ${commands.size} commands`))
  .catch(console.error);

resolve(
idOrInstance: Holds
) : Holds

Resolves a data entry to a data Object.

Returns: An instance from this Manager

resolveId(
idOrInstance: Key | Holds
) : Key

Resolves a data entry to an instance id.

set() : Promise<Collection<Snowflake, ApplicationCommandScope>>

Sets all the commands for this application or guild.

Examples:
// Set all commands to just this one
client.application.commands.set([
  {
    name: 'test',
    description: 'A test command',
  },
])
  .then(console.log)
  .catch(console.error);
// Remove all commands
guild.commands.set([])
  .then(console.log)
  .catch(console.error);

valueOf() : Collection<Key, Holds>

Inherited from: DataManager