Skip to main content

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.

Lire le message de Discord ici

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 :

Text Command

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(' '));
}
}