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
TypeScript
/**
* 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