UNPKG

skailan-conversations

Version:

Servicio de conversaciones y mensajería para Skailan

64 lines 2.48 kB
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