Commandes textuelles
avertissement
Une commande textuelle dépend du contenu du message mais, malheureusement, Discord prévoit de supprimer le contenu des messages pour les bots et applications vérifiés, ceux comptant 100 serveurs ou plus. Par conséquent, vous ne pouvez pas utiliser les commandes textuelles si votre bot ne peut pas accéder au contenu des messages.
Créez un gestionnaire de commande simple pour les messages en utilisant @TextCommand.
src/app.service.ts
import { Injectable } from '@nestjs/common';
import { Context, TextCommand, TextCommandContext, Arguments } from 'necord';
@Injectable()
export class AppService {
@TextCommand({
name: 'ping',
description: 'Ping command!',
})
public onPing(@Context() [message]: TextCommandContext) {
return message.reply('pong!');
}
}
Si tout se passe bien, vous devriez voir quelque chose comme ceci :

Arguments
Vous pouvez également utiliser des arguments avec les commandes textuelles. Les arguments sont les mots situés après le nom de la commande.
src/app.service.ts
import { Injectable } from '@nestjs/common';
import { Context, TextCommand, TextCommandContext, Arguments } from 'necord';
@Injectable()
export class AppService {
@TextCommand({
name: 'echo',
description: 'Echo command!',
})
public onEcho(@Context() [message]: TextCommandContext, @Arguments() args: string[]) {
return message.reply(args.join(' '));
}
}