Skip to main content
Version: 1.x

after Function

UNSTABLE

The after() function is currently marked as unstable and may change in the future.

The after() function allows you to execute a callback after a command has been executed. This is useful for performing actions that should occur after the command has completed, such as logging or cleanup tasks.

Usage

src/app/commands/ping.ts
import {
type CommandData,
type ChatInputCommand,
unstable_after as after,
} from 'commandkit';

export const command: CommandData = {};

export const chatInput: ChatInputCommand = async (ctx) => {
after(() => {
// This code will be executed after the command has been executed
// Perform any cleanup here
console.log('Command has been executed');
});

await ctx.interaction.reply({
content: 'Hello World',
ephemeral: true,
});
};
info

The after() function will always be called, regardless of whether the command execution was successful or not.

Cancelling the after function

You can cancel the after function by calling the cancelAfter function with the ID of the after function.

src/app/commands/ping.ts
import {
unstable_after as after,
unstable_cancelAfter as cancelAfter,
} from 'commandkit';

export const chatInput: ChatInputCommand = async (ctx) => {
const id = after(() => {
console.log('This will run after the command has finished executing.');
});

if (something) {
cancelAfter(id);
}
};