On this page
JavaScript API

interaction

Slash command and component interaction object in BDJS scripts.

The interaction global is available when a command runs from a slash command or component interaction.

Properties

Property Type Description
commandName string Name of the slash command
customId string Component custom ID (buttons, selects, modals)
user object User who triggered the interaction
member object Guild member (in servers)
guild object Guild object
channel object Channel object

Methods

await interaction.reply(content)

Reply to the interaction. content can be a string or { content, ephemeral?, embeds?, components? }.

await interaction.reply('Hello!');
await interaction.reply({ content: 'Only you see this', ephemeral: true });

await interaction.editReply(content)

Edit the initial reply (after deferReply or first reply).

await interaction.deferReply(options?)

Acknowledge the interaction; follow up with editReply or followUp.

await interaction.deferReply();
await interaction.editReply('Done!');

await interaction.followUp(content)

Send an additional message in the interaction thread.

await interaction.deleteReply()

Delete the initial reply.

await interaction.fetchReply()

Fetch the reply message object.

interaction.options

Method Description
getString(name, required?) String option
getInteger(name, required?) Integer option
getNumber(name, required?) Number option
getBoolean(name, required?) Boolean option
getUser(name) User option
getMember(name) Guild member option
getChannel(name) Channel option
getRole(name) Role option
getAttachment(name) Attachment option
getMentionable(name) User or role option
getSubcommand(required?) Active subcommand name
getSubcommandGroup(required?) Active subcommand group
getFocused(required?) Autocomplete typed value
const name = interaction.options.getString('name', true);
const target = interaction.options.getUser('target');
await interaction.reply(`Hello, ${name}!`);