Files
discordeno/examples/beginner/src/commands.ts
T
Fleny 27c261fee2 formatter: Use semicolons (#4686)
I prefer semicolors, they also help avoiding certain pitfalls in JavaScript/TypeScript, such as the following code sample:
```js
const xyz = "test"
(something.else as string) = "another"
```
This results in a TypeError: "test" is not a function, this is because js thinks we are trying to call the string "test" as a function.
To fix this it requires a `;` somewhere before the `(`, such as `;(something ... ` which in my opinion is ugly and less clean overall.
2026-01-17 21:54:15 +01:00

28 lines
804 B
TypeScript

import { type ApplicationCommandOption, type ApplicationCommandTypes, Collection } from '@discordeno/bot';
import type { bot } from './bot.js';
export const commands = new Collection<string, Command>();
export function createCommand(command: Command): void {
commands.set(command.name, command);
}
export interface Command {
name: string;
description: string;
usage?: string[];
options?: ApplicationCommandOption[];
type: ApplicationCommandTypes;
/** Defaults to `Guild` */
scope?: 'Global' | 'Guild';
execute: (interaction: typeof bot.transformers.$inferredTypes.interaction) => unknown;
subcommands?: Array<SubCommandGroup | SubCommand>;
}
export type SubCommand = Omit<Command, 'subcommands'>;
export interface SubCommandGroup {
name: string;
subCommands: SubCommand[];
}