plazbot-cli
Version:
CLI para Plazbot SDK
44 lines (38 loc) • 1.71 kB
text/typescript
import { Command } from 'commander';
import { Message } from 'plazbot';
import { getStoredCredentials } from '../../utils/credentials';
import { logger } from '../../utils/logger';
import { TemplateCommandOptions } from '../../types/message';
export const sendTemplateCommand = new Command('send-template')
.description('Envía una plantilla de WhatsApp')
.requiredOption('-p, --phone <number>', 'Número de teléfono del destinatario (con código de país, ej: 51912345678)')
.requiredOption('-t, --template <name>', 'Nombre de la plantilla a enviar')
.option('--dev', 'Usar ambiente de desarrollo', false)
.action(async (options: TemplateCommandOptions) => {
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.info('\n📱 Enviando plantilla de WhatsApp...');
logger.info(`A: ${options.phone}`);
logger.info(`Plantilla: ${options.template}`);
const response = await messageClient.onConversation({
to: options.phone,
template: options.template
});
logger.success('Plantilla enviada 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 instanceof Error ? error.message : 'Error desconocido al enviar la plantilla';
logger.error(message);
process.exit(1);
}
});