Ce projet est un handler Discord développé en TypeScript qui utilise Reflect pour gérer les annotations sur les commandes et les événements. Il permet une organisation efficace des commandes et des événements grâce à une utilisation innovante des métadonnées TypeScript.
- Gestion des commandes interactives avec annotations
- Gestion des événements Discord avec annotations
- Utilisation de
Reflectpour les métadonnées et les annotations
git clone https://github.com/C1ach0/DiscordReflect.git
cd DiscordReflect
npm installL'interface InteractionCommandAnnotation est utilisée pour annoter les commandes.
interface InteractionCommandAnnotation {
name: string;
description: string;
member_permission?: bigint | PermissionResolvable;
options?: Options[];
enabled?: boolean;
}Utilisez l'annotation _InteractionCommand pour définir une nouvelle commande d'interaction.
@_InteractionCommand({
name: "test",
description: "Test command",
options: [
{
name: "text",
description: "un text à envoyer",
type: 3,
required: true
}
]
})
export default class Test implements CommandExecutor {
execute(client: ExtendsClient, ctx: InteractionCommandContext) {
// Le code de votre commande ici
}
}L'interface EventAnnotation est utilisée pour annoter les événements Discord.
interface EventAnnotation {
event: string | Events;
}Utilisez l'annotation _Event pour définir un nouvel événement.
@_Event({event: Events.ClientReady})
export default class Ready implements EventExecutor {
execute(client: ExtendsClient): void {
console.log(`Bot lancé : ${client.user.username}`);
}
}Ce projet est sous licence MIT.