skailan-conversations
Version:
Servicio de conversaciones y mensajería para Skailan
64 lines • 2.48 kB
TypeScript
import { TelegramService } from "./TelegramService";
import { IMessageRepository } from "../repositories/IMessageRepository";
import { IConversationRepository } from "../repositories/IConversationRepository";
import { Message } from "../entities/Message";
export interface SendTelegramMessageRequest {
organizationId: string;
conversationId: string;
chatId: number;
text: string;
options?: {
parse_mode?: "HTML" | "Markdown";
reply_markup?: any;
reply_to_message_id?: number;
};
}
export interface SendTelegramInteractiveMessageRequest extends SendTelegramMessageRequest {
buttons: Array<Array<{
text: string;
callback_data: string;
}>>;
}
export declare class TelegramSenderService {
private telegramService;
private messageRepository;
private conversationRepository;
constructor(telegramService: TelegramService, messageRepository: IMessageRepository, conversationRepository: IConversationRepository);
/**
* Envía un mensaje de texto a Telegram y lo guarda en la base de datos
*/
sendMessage(request: SendTelegramMessageRequest): Promise<Message>;
/**
* Envía un mensaje interactivo con botones a Telegram
*/
sendInteractiveMessage(request: SendTelegramInteractiveMessageRequest): Promise<Message>;
/**
* Responde a un callback query de Telegram
*/
answerCallbackQuery(callbackQueryId: string, text?: string): Promise<void>;
/**
* Envía una respuesta automática basada en el contenido del mensaje
*/
sendAutoResponse(organizationId: string, conversationId: string, chatId: number, userMessage: string): Promise<Message>;
/**
* Envía un mensaje de bienvenida
*/
sendWelcomeMessage(organizationId: string, conversationId: string, chatId: number, userName: string): Promise<Message>;
/**
* Envía un mensaje de despedida
*/
sendGoodbyeMessage(organizationId: string, conversationId: string, chatId: number): Promise<Message>;
/**
* Envía un mensaje de error
*/
sendErrorMessage(organizationId: string, conversationId: string, chatId: number, errorMessage: string): Promise<Message>;
/**
* Genera una respuesta básica basada en palabras clave
*/
private generateBasicResponse;
/**
* Actualiza el lastMessageAt de la conversación
*/
private updateConversationLastMessage;
}
//# sourceMappingURL=TelegramSenderService.d.ts.map