UNPKG

redai-automation-web-sdk

Version:

TypeScript SDK for RedAI Automation Web API - Zalo Personal automation, messaging, advanced sticker search, and bulk operations. 100% compatible with automation-web backend. v1.8.1: Updated GroupInfo interface to match backend controller with complete gro

181 lines 7.47 kB
/** * Message Job Types * 100% khớp với automation-web message event jobs */ import { BaseZaloWebhookEvent, ZaloWebhookEventType, BaseQueueJob } from './webhook-job.types'; import { Message } from '../webhook/message'; /** * Message Event Data - sử dụng trực tiếp Message từ zalo-personal-sdk * Không cần wrapper, automation-web sử dụng trực tiếp: data: message */ export type ZaloMessageData = Message; /** * TEXT message events */ export interface ZaloTextMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.TEXT_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.TEXT_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.TEXT_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.TEXT_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * IMAGE message events */ export interface ZaloImageMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.IMAGE_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.IMAGE_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.IMAGE_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.IMAGE_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * VIDEO message events */ export interface ZaloVideoMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.VIDEO_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.VIDEO_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.VIDEO_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.VIDEO_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * VOICE message events */ export interface ZaloVoiceMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.VOICE_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.VOICE_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.VOICE_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.VOICE_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * FILE message events */ export interface ZaloFileMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.FILE_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.FILE_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.FILE_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.FILE_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * STICKER message events */ export interface ZaloStickerMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.STICKER_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.STICKER_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.STICKER_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.STICKER_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * LOCATION message events */ export interface ZaloLocationMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.LOCATION_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.LOCATION_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.LOCATION_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.LOCATION_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * GIF message events */ export interface ZaloGifMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.GIF_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.GIF_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.GIF_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.GIF_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * LINK message events */ export interface ZaloLinkMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.LINK_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.LINK_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.LINK_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.LINK_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * DOODLE message events */ export interface ZaloDoodleMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.DOODLE_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.DOODLE_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.DOODLE_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.DOODLE_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * RECOMMENDED message events */ export interface ZaloRecommendedMessageEvent extends BaseZaloWebhookEvent { eventType: ZaloWebhookEventType.RECOMMENDED_MESSAGE_SENT_TO_USER | ZaloWebhookEventType.RECOMMENDED_MESSAGE_SENT_TO_GROUP | ZaloWebhookEventType.RECOMMENDED_MESSAGE_RECEIVED_FROM_USER | ZaloWebhookEventType.RECOMMENDED_MESSAGE_RECEIVED_FROM_GROUP; data: ZaloMessageData; } /** * Union type for all message events */ export type ZaloMessageEvent = ZaloTextMessageEvent | ZaloImageMessageEvent | ZaloVideoMessageEvent | ZaloVoiceMessageEvent | ZaloFileMessageEvent | ZaloStickerMessageEvent | ZaloLocationMessageEvent | ZaloGifMessageEvent | ZaloLinkMessageEvent | ZaloDoodleMessageEvent | ZaloRecommendedMessageEvent; /** * Message Queue Job - Job cụ thể cho message events */ export interface MessageQueueJob extends BaseQueueJob<ZaloMessageEvent> { name: 'message-event'; data: ZaloMessageEvent; } /** * Text Message Queue Job */ export interface TextMessageQueueJob extends BaseQueueJob<ZaloTextMessageEvent> { name: 'text-message-event'; data: ZaloTextMessageEvent; } /** * Image Message Queue Job */ export interface ImageMessageQueueJob extends BaseQueueJob<ZaloImageMessageEvent> { name: 'image-message-event'; data: ZaloImageMessageEvent; } /** * Video Message Queue Job */ export interface VideoMessageQueueJob extends BaseQueueJob<ZaloVideoMessageEvent> { name: 'video-message-event'; data: ZaloVideoMessageEvent; } /** * Voice Message Queue Job */ export interface VoiceMessageQueueJob extends BaseQueueJob<ZaloVoiceMessageEvent> { name: 'voice-message-event'; data: ZaloVoiceMessageEvent; } /** * File Message Queue Job */ export interface FileMessageQueueJob extends BaseQueueJob<ZaloFileMessageEvent> { name: 'file-message-event'; data: ZaloFileMessageEvent; } /** * Sticker Message Queue Job */ export interface StickerMessageQueueJob extends BaseQueueJob<ZaloStickerMessageEvent> { name: 'sticker-message-event'; data: ZaloStickerMessageEvent; } /** * Location Message Queue Job */ export interface LocationMessageQueueJob extends BaseQueueJob<ZaloLocationMessageEvent> { name: 'location-message-event'; data: ZaloLocationMessageEvent; } /** * GIF Message Queue Job */ export interface GifMessageQueueJob extends BaseQueueJob<ZaloGifMessageEvent> { name: 'gif-message-event'; data: ZaloGifMessageEvent; } /** * Link Message Queue Job */ export interface LinkMessageQueueJob extends BaseQueueJob<ZaloLinkMessageEvent> { name: 'link-message-event'; data: ZaloLinkMessageEvent; } /** * Doodle Message Queue Job */ export interface DoodleMessageQueueJob extends BaseQueueJob<ZaloDoodleMessageEvent> { name: 'doodle-message-event'; data: ZaloDoodleMessageEvent; } /** * Recommended Message Queue Job */ export interface RecommendedMessageQueueJob extends BaseQueueJob<ZaloRecommendedMessageEvent> { name: 'recommended-message-event'; data: ZaloRecommendedMessageEvent; } /** * Union type for all message queue jobs */ export type MessageQueueJobUnion = MessageQueueJob | TextMessageQueueJob | ImageMessageQueueJob | VideoMessageQueueJob | VoiceMessageQueueJob | FileMessageQueueJob | StickerMessageQueueJob | LocationMessageQueueJob | GifMessageQueueJob | LinkMessageQueueJob | DoodleMessageQueueJob | RecommendedMessageQueueJob; //# sourceMappingURL=message-job.types.d.ts.map