plazbot-cli
Version:
CLI para Plazbot SDK
48 lines (39 loc) • 1.66 kB
text/typescript
import { Command } from 'commander';
import { Message } from 'plazbot';
import { getStoredCredentials } from '../../utils/credentials';
import { logger } from '../../utils/logger';
import { DirectMessageCommandOptions } from '../../types/message';
import { createSpinner } from '../../utils/ui';
export const sendMessageCommand = new Command('send-message')
.description('Envia un mensaje directo de WhatsApp')
.requiredOption('-t, --to <phone>', 'Numero de telefono (con codigo de pais, ej: 51912345678)')
.requiredOption('-m, --message <text>', 'Mensaje a enviar')
.option('--dev', 'Usar ambiente de desarrollo', false)
.action(async (options: DirectMessageCommandOptions) => {
try {
const credentials = await getStoredCredentials();
const messageClient = new Message({
workspaceId: credentials.workspace,
apiKey: credentials.apiKey,
zone: credentials.zone,
...(options.dev && { customUrl: "http://localhost:5090" })
});
logger.title('Enviando mensaje WhatsApp');
logger.label('Destino', options.to);
logger.label('Mensaje', options.message);
const spinner = createSpinner('Enviando...');
spinner.start();
const response = await messageClient.onWhatsappMessage({
message: options.message,
to: options.to
});
spinner.succeed('Mensaje enviado exitosamente');
if (options.dev) {
logger.warning('Ambiente: desarrollo');
}
} catch (error: unknown) {
const message = (error as Error)?.message || 'Error desconocido al enviar el mensaje';
logger.error(message);
process.exit(1);
}
});