skailan-conversations
Version:
Servicio de conversaciones y mensajería para Skailan
50 lines • 2.21 kB
TypeScript
import { IChannelService, ChannelMessage, ChannelContact, SendMessageRequest, ChannelConfig } from "./IChannelService";
import { TelegramService } from "./TelegramService";
import { IMessageRepository } from "../repositories/IMessageRepository";
import { IConversationRepository } from "../repositories/IConversationRepository";
import { IChannelRepository } from "../repositories/IChannelRepository";
import { Message } from "../entities/Message";
import { Conversation } from "../entities/Conversation";
export interface TelegramConfig extends ChannelConfig {
botToken: string;
webhookUrl?: string;
botUsername?: string;
autoResponse?: boolean;
welcomeMessage?: string;
}
export declare class TelegramChannelService implements IChannelService {
private telegramService;
private messageRepository;
private conversationRepository;
private channelRepository;
constructor(telegramService: TelegramService, messageRepository: IMessageRepository, conversationRepository: IConversationRepository, channelRepository: IChannelRepository);
processIncomingMessage(organizationId: string, channelId: string, message: ChannelMessage): Promise<{
conversation: Conversation;
message: Message;
}>;
sendMessage(request: SendMessageRequest): Promise<Message>;
validateConfig(config: ChannelConfig): Promise<boolean>;
getContactInfo(organizationId: string, channelId: string, contactId: string): Promise<ChannelContact>;
verifyWebhook(payload: any, signature: string, config: ChannelConfig): Promise<boolean>;
getChannelType(): string;
/**
* Procesa un update de Telegram
*/
processTelegramUpdate(organizationId: string, channelId: string, update: any): Promise<{
conversation: Conversation;
message: Message;
} | null>;
/**
* Extrae un mensaje del update de Telegram
*/
private extractMessageFromUpdate;
/**
* Extrae mensaje de un objeto message de Telegram
*/
private extractMessageFromMessage;
/**
* Extrae mensaje de un callback query de Telegram
*/
private extractMessageFromCallbackQuery;
}
//# sourceMappingURL=TelegramChannelService.d.ts.map