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
108 lines • 8.32 kB
TypeScript
/**
* Job Types Index
* Export tất cả job/queue types
* 100% khớp với automation-web job structure
*/
export * from './webhook-job.types';
export * from './message-job.types';
export * from './event-job.types';
export * from './friend-group-job.types';
export * from './system-job.types';
import { ZaloMessageEvent, MessageQueueJobUnion } from './message-job.types';
import { ZaloTypingEvent, ZaloSeenMessagesEvent, ZaloDeliveredMessagesEvent, ZaloReactionEvent, ZaloUndoEvent } from './event-job.types';
import { ZaloFriendEvent, ZaloGroupEvent, FriendEventQueueJob, GroupEventQueueJob } from './friend-group-job.types';
import { ZaloSystemEvent, SystemQueueJobUnion } from './system-job.types';
import { WebhookQueueJob, ZaloWebhookEventType } from './webhook-job.types';
/**
* Union type for ALL Zalo webhook events
*/
export type ZaloWebhookEvent = ZaloMessageEvent | ZaloTypingEvent | ZaloSeenMessagesEvent | ZaloDeliveredMessagesEvent | ZaloReactionEvent | ZaloUndoEvent | ZaloFriendEvent | ZaloGroupEvent | ZaloSystemEvent;
/**
* Union type for ALL queue jobs
*/
export type AllQueueJobs = WebhookQueueJob | MessageQueueJobUnion | FriendEventQueueJob | GroupEventQueueJob | SystemQueueJobUnion;
/**
* Type guard to check if event is a message event
*/
export declare function isMessageEvent(event: ZaloWebhookEvent): event is ZaloMessageEvent;
/**
* Type guard to check if event is a typing event
*/
export declare function isTypingEvent(event: ZaloWebhookEvent): event is ZaloTypingEvent;
/**
* Type guard to check if event is a reaction event
*/
export declare function isReactionEvent(event: ZaloWebhookEvent): event is ZaloReactionEvent;
/**
* Type guard to check if event is a friend event
*/
export declare function isFriendEvent(event: ZaloWebhookEvent): event is ZaloFriendEvent;
/**
* Type guard to check if event is a group event
*/
export declare function isGroupEvent(event: ZaloWebhookEvent): event is ZaloGroupEvent;
/**
* Type guard to check if event is a system event
*/
export declare function isSystemEvent(event: ZaloWebhookEvent): event is ZaloSystemEvent;
/**
* Type guard to check if event is sent by self
*/
export declare function isSelfEvent(event: ZaloWebhookEvent): boolean;
/**
* Type guard to check if event is from other users
*/
export declare function isOtherEvent(event: ZaloWebhookEvent): boolean;
/**
* Type guard to check if event is in user thread
*/
export declare function isUserThreadEvent(event: ZaloWebhookEvent): boolean;
/**
* Type guard to check if event is in group thread
*/
export declare function isGroupThreadEvent(event: ZaloWebhookEvent): boolean;
/**
* Get event category from event type
*/
export declare function getEventCategory(eventType: ZaloWebhookEventType): string;
/**
* Get thread type from event type
*/
export declare function getThreadTypeFromEvent(eventType: ZaloWebhookEventType): 'user' | 'group' | 'unknown';
/**
* Get actor type from event type (self or other)
*/
export declare function getActorTypeFromEvent(eventType: ZaloWebhookEventType): 'self' | 'other' | 'unknown';
/**
* Type guard to check if event is a message received from user to self
* Tin nhắn được gửi từ user tới mình
*/
export declare function isMessageReceivedFromUser(event: ZaloWebhookEvent): event is ZaloMessageEvent;
/**
* Type guard to check if event is a message received from group (sent by others)
* Tin nhắn được gửi từ người khác tới group
*/
export declare function isMessageReceivedFromGroup(event: ZaloWebhookEvent): event is ZaloMessageEvent;
/**
* Type guard to check if event is a message sent from self to group
* Tin nhắn được gửi từ mình tới group
*/
export declare function isMessageSentToGroup(event: ZaloWebhookEvent): event is ZaloMessageEvent;
/**
* Type guard to check if event is a message sent from self to user
* Tin nhắn được chính mình gửi tới người khác
*/
export declare function isMessageSentToUser(event: ZaloWebhookEvent): event is ZaloMessageEvent;
/**
* All message event types
*/
export declare const MESSAGE_EVENT_TYPES: readonly [ZaloWebhookEventType.TEXT_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.TEXT_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.TEXT_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.TEXT_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.IMAGE_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.IMAGE_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.IMAGE_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.IMAGE_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.VIDEO_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.VIDEO_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.VIDEO_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.VIDEO_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.VOICE_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.VOICE_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.VOICE_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.VOICE_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.FILE_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.FILE_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.FILE_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.FILE_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.STICKER_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.STICKER_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.STICKER_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.STICKER_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.LOCATION_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.LOCATION_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.LOCATION_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.LOCATION_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.GIF_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.GIF_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.GIF_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.GIF_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.LINK_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.LINK_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.LINK_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.LINK_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.DOODLE_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.DOODLE_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.DOODLE_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.DOODLE_MESSAGE_RECEIVED_FROM_GROUP, ZaloWebhookEventType.RECOMMENDED_MESSAGE_SENT_TO_USER, ZaloWebhookEventType.RECOMMENDED_MESSAGE_SENT_TO_GROUP, ZaloWebhookEventType.RECOMMENDED_MESSAGE_RECEIVED_FROM_USER, ZaloWebhookEventType.RECOMMENDED_MESSAGE_RECEIVED_FROM_GROUP];
/**
* All friend event types
*/
export declare const FRIEND_EVENT_TYPES: readonly [ZaloWebhookEventType.FRIEND_EVENT_ADD, ZaloWebhookEventType.FRIEND_EVENT_REMOVE, ZaloWebhookEventType.FRIEND_EVENT_REQUEST, ZaloWebhookEventType.FRIEND_EVENT_UNDO_REQUEST, ZaloWebhookEventType.FRIEND_EVENT_REJECT_REQUEST, ZaloWebhookEventType.FRIEND_EVENT_SEEN_REQUEST, ZaloWebhookEventType.FRIEND_EVENT_BLOCK, ZaloWebhookEventType.FRIEND_EVENT_UNBLOCK, ZaloWebhookEventType.FRIEND_EVENT_BLOCK_CALL, ZaloWebhookEventType.FRIEND_EVENT_UNBLOCK_CALL, ZaloWebhookEventType.FRIEND_EVENT_PIN_UNPIN, ZaloWebhookEventType.FRIEND_EVENT_PIN_CREATE, ZaloWebhookEventType.FRIEND_EVENT_UNKNOWN];
/**
* All group event types
*/
export declare const GROUP_EVENT_TYPES: readonly [ZaloWebhookEventType.GROUP_EVENT_JOIN_REQUEST, ZaloWebhookEventType.GROUP_EVENT_JOIN, ZaloWebhookEventType.GROUP_EVENT_LEAVE, ZaloWebhookEventType.GROUP_EVENT_REMOVE_MEMBER, ZaloWebhookEventType.GROUP_EVENT_BLOCK_MEMBER, ZaloWebhookEventType.GROUP_EVENT_UPDATE_SETTING, ZaloWebhookEventType.GROUP_EVENT_UPDATE, ZaloWebhookEventType.GROUP_EVENT_NEW_LINK, ZaloWebhookEventType.GROUP_EVENT_ADD_ADMIN, ZaloWebhookEventType.GROUP_EVENT_REMOVE_ADMIN, ZaloWebhookEventType.GROUP_EVENT_NEW_PIN_TOPIC, ZaloWebhookEventType.GROUP_EVENT_UPDATE_PIN_TOPIC, ZaloWebhookEventType.GROUP_EVENT_REORDER_PIN_TOPIC, ZaloWebhookEventType.GROUP_EVENT_UPDATE_BOARD, ZaloWebhookEventType.GROUP_EVENT_REMOVE_BOARD, ZaloWebhookEventType.GROUP_EVENT_UPDATE_TOPIC, ZaloWebhookEventType.GROUP_EVENT_UNPIN_TOPIC, ZaloWebhookEventType.GROUP_EVENT_REMOVE_TOPIC, ZaloWebhookEventType.GROUP_EVENT_ACCEPT_REMIND, ZaloWebhookEventType.GROUP_EVENT_REJECT_REMIND, ZaloWebhookEventType.GROUP_EVENT_REMIND_TOPIC, ZaloWebhookEventType.GROUP_EVENT_UPDATE_AVATAR, ZaloWebhookEventType.GROUP_EVENT_UNKNOWN];
//# sourceMappingURL=index.d.ts.map