plazbot-cli
Version:
CLI para Plazbot SDK
46 lines (39 loc) • 1.72 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';
export const sendMessageCommand = new Command('send-message')
.description('Envía un mensaje de WhatsApp')
.requiredOption('-t, --to <phone>', 'Número de teléfono del destinatario (con código de país, ej: 51912345678)')
.requiredOption('-m, --message <text>', 'Mensaje a enviar')
.option('--dev', 'Usar ambiente de desarrollo', false)
.action(async (options: DirectMessageCommandOptions) => {
try {
// Obtener credenciales guardadas
const credentials = await getStoredCredentials();
const messageClient = new Message({
workspaceId: credentials.workspace,
apiKey: credentials.apiKey,
zone: credentials.zone,
...(options.dev && { customUrl: "http://localhost:5090" })
});
logger.info('\n📱 Enviando mensaje de WhatsApp...');
logger.info(`A: ${options.to}`);
logger.info(`Mensaje: ${options.message}`);
const response = await messageClient.onWhatsappMessage({
message: options.message,
to: options.to
});
logger.success('Mensaje enviado exitosamente');
logger.info('\n📋 Detalles:');
logger.info(JSON.stringify(response, null, 2));
if (options.dev) {
logger.warning('\nAmbiente: desarrollo');
}
} catch (error: unknown) {
const message = (error as Error)?.message || 'Error desconocido al enviar el mensaje';
logger.error(message);
process.exit(1);
}
});