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
183 lines • 8.48 kB
TypeScript
/**
* Friend & Group Event Job Types
* 100% khớp với automation-web friend/group event jobs
*/
import { BaseZaloWebhookEvent, ZaloWebhookEventType, BaseQueueJob } from './webhook-job.types';
import { FriendEvent, GroupEvent } from '../webhook';
/**
* Friend Event Data - sử dụng trực tiếp FriendEvent từ zalo-personal-sdk
* Automation-web sử dụng trực tiếp: data: friendEvent
*/
export type ZaloFriendEventData = FriendEvent;
/**
* Union type for all friend events
*/
export type ZaloFriendEvent = ZaloFriendEventAddEvent | ZaloFriendEventRemoveEvent | ZaloFriendEventRequestEvent | ZaloFriendEventUndoRequestEvent | ZaloFriendEventRejectRequestEvent | ZaloFriendEventSeenRequestEvent | ZaloFriendEventBlockEvent | ZaloFriendEventUnblockEvent | ZaloFriendEventBlockCallEvent | ZaloFriendEventUnblockCallEvent | ZaloFriendEventPinUnpinEvent | ZaloFriendEventPinCreateEvent | ZaloFriendEventUnknownEvent;
export interface ZaloFriendEventAddEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_ADD;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventRemoveEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_REMOVE;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventRequestEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_REQUEST;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventUndoRequestEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_UNDO_REQUEST;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventRejectRequestEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_REJECT_REQUEST;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventSeenRequestEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_SEEN_REQUEST;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventBlockEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_BLOCK;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventUnblockEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_UNBLOCK;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventBlockCallEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_BLOCK_CALL;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventUnblockCallEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_UNBLOCK_CALL;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventPinUnpinEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_PIN_UNPIN;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventPinCreateEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_PIN_CREATE;
data: ZaloFriendEventData;
}
export interface ZaloFriendEventUnknownEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.FRIEND_EVENT_UNKNOWN;
data: ZaloFriendEventData;
}
/**
* Group Event Data - sử dụng trực tiếp GroupEvent từ zalo-personal-sdk
* Automation-web sử dụng trực tiếp: data: groupEvent
*/
export type ZaloGroupEventData = GroupEvent;
/**
* Union type for all group events
*/
export type ZaloGroupEvent = ZaloGroupEventJoinRequestEvent | ZaloGroupEventJoinEvent | ZaloGroupEventLeaveEvent | ZaloGroupEventRemoveMemberEvent | ZaloGroupEventBlockMemberEvent | ZaloGroupEventUpdateSettingEvent | ZaloGroupEventUpdateEvent | ZaloGroupEventNewLinkEvent | ZaloGroupEventAddAdminEvent | ZaloGroupEventRemoveAdminEvent | ZaloGroupEventNewPinTopicEvent | ZaloGroupEventUpdatePinTopicEvent | ZaloGroupEventReorderPinTopicEvent | ZaloGroupEventUpdateBoardEvent | ZaloGroupEventRemoveBoardEvent | ZaloGroupEventUpdateTopicEvent | ZaloGroupEventUnpinTopicEvent | ZaloGroupEventRemoveTopicEvent | ZaloGroupEventAcceptRemindEvent | ZaloGroupEventRejectRemindEvent | ZaloGroupEventRemindTopicEvent | ZaloGroupEventUpdateAvatarEvent | ZaloGroupEventUnknownEvent;
export interface ZaloGroupEventJoinRequestEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_JOIN_REQUEST;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventJoinEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_JOIN;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventLeaveEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_LEAVE;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventRemoveMemberEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_REMOVE_MEMBER;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventBlockMemberEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_BLOCK_MEMBER;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventUpdateSettingEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_UPDATE_SETTING;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventUpdateEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_UPDATE;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventNewLinkEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_NEW_LINK;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventAddAdminEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_ADD_ADMIN;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventRemoveAdminEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_REMOVE_ADMIN;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventNewPinTopicEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_NEW_PIN_TOPIC;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventUpdatePinTopicEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_UPDATE_PIN_TOPIC;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventReorderPinTopicEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_REORDER_PIN_TOPIC;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventUpdateBoardEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_UPDATE_BOARD;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventRemoveBoardEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_REMOVE_BOARD;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventUpdateTopicEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_UPDATE_TOPIC;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventUnpinTopicEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_UNPIN_TOPIC;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventRemoveTopicEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_REMOVE_TOPIC;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventAcceptRemindEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_ACCEPT_REMIND;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventRejectRemindEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_REJECT_REMIND;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventRemindTopicEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_REMIND_TOPIC;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventUpdateAvatarEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_UPDATE_AVATAR;
data: ZaloGroupEventData;
}
export interface ZaloGroupEventUnknownEvent extends BaseZaloWebhookEvent {
eventType: ZaloWebhookEventType.GROUP_EVENT_UNKNOWN;
data: ZaloGroupEventData;
}
/**
* Friend Event Queue Job
*/
export interface FriendEventQueueJob extends BaseQueueJob<ZaloFriendEvent> {
name: 'friend-event';
data: ZaloFriendEvent;
}
/**
* Group Event Queue Job
*/
export interface GroupEventQueueJob extends BaseQueueJob<ZaloGroupEvent> {
name: 'group-event';
data: ZaloGroupEvent;
}
//# sourceMappingURL=friend-group-job.types.d.ts.map