@warriorteam/redai-zalo-sdk
Version:
Comprehensive TypeScript/JavaScript SDK for Zalo APIs - Official Account v3.0, ZNS with Full Type Safety, Consultation Service, Broadcast Service, Group Messaging with List APIs, Social APIs, Enhanced Article Management, Promotion Service v3.0 with Multip
96 lines • 4.12 kB
TypeScript
/**
* Type guard utilities for Zalo SDK webhook events
*
* This file provides type-safe functions to check webhook event types
* and narrow down TypeScript types for better development experience.
*/
import { WebhookEvent, OAMessageWebhookEvent, UserMessageWebhookEvent, UserSendGroupTextEvent, UserSendGroupImageEvent, UserSendGroupVideoEvent, UserSendGroupAudioEvent, UserSendGroupFileEvent, OASendTextEvent, OASendImageEvent, OASendFileEvent, OASendStickerEvent, OASendGifEvent, OASendGroupTextEvent, OASendGroupImageEvent, OASendGroupFileEvent, OASendGroupStickerEvent, OASendGroupGifEvent } from '../types/webhook';
/**
* Type union for user message events in groups
*/
export type UserGroupMessageEvent = UserSendGroupTextEvent | UserSendGroupImageEvent | UserSendGroupVideoEvent | UserSendGroupAudioEvent | UserSendGroupFileEvent;
/**
* Check if event is a user sending text message to group
*/
export declare function isUserSendGroupTextEvent(event: WebhookEvent): event is UserSendGroupTextEvent;
/**
* Check if event is a user sending image message to group
*/
export declare function isUserSendGroupImageEvent(event: WebhookEvent): event is UserSendGroupImageEvent;
/**
* Check if event is a user sending video message to group
*/
export declare function isUserSendGroupVideoEvent(event: WebhookEvent): event is UserSendGroupVideoEvent;
/**
* Check if event is a user sending audio message to group
*/
export declare function isUserSendGroupAudioEvent(event: WebhookEvent): event is UserSendGroupAudioEvent;
/**
* Check if event is a user sending file to group
*/
export declare function isUserSendGroupFileEvent(event: WebhookEvent): event is UserSendGroupFileEvent;
/**
* Check if event is any user group message event
*/
export declare function isUserGroupMessageEvent(event: WebhookEvent): event is UserGroupMessageEvent;
/**
* Check if event is OA sending text message to user
*/
export declare function isOASendTextEvent(event: WebhookEvent): event is OASendTextEvent;
/**
* Check if event is OA sending image message to user
*/
export declare function isOASendImageEvent(event: WebhookEvent): event is OASendImageEvent;
/**
* Check if event is OA sending file to user
*/
export declare function isOASendFileEvent(event: WebhookEvent): event is OASendFileEvent;
/**
* Check if event is OA sending sticker to user
*/
export declare function isOASendStickerEvent(event: WebhookEvent): event is OASendStickerEvent;
/**
* Check if event is OA sending GIF to user
*/
export declare function isOASendGifEvent(event: WebhookEvent): event is OASendGifEvent;
/**
* Check if event is OA sending text message to group
*/
export declare function isOASendGroupTextEvent(event: WebhookEvent): event is OASendGroupTextEvent;
/**
* Check if event is OA sending image to group
*/
export declare function isOASendGroupImageEvent(event: WebhookEvent): event is OASendGroupImageEvent;
/**
* Check if event is OA sending file to group
*/
export declare function isOASendGroupFileEvent(event: WebhookEvent): event is OASendGroupFileEvent;
/**
* Check if event is OA sending sticker to group
*/
export declare function isOASendGroupStickerEvent(event: WebhookEvent): event is OASendGroupStickerEvent;
/**
* Check if event is OA sending GIF to group
*/
export declare function isOASendGroupGifEvent(event: WebhookEvent): event is OASendGroupGifEvent;
/**
* Check if event is any OA message event (personal or group)
*/
export declare function isOAMessageEvent(event: WebhookEvent): event is OAMessageWebhookEvent;
/**
* Check if event is any user message event (personal or group)
*/
export declare function isUserMessageEvent(event: WebhookEvent): event is UserMessageWebhookEvent;
/**
* Check if event has message attachments
*/
export declare function hasAttachments(event: WebhookEvent): boolean;
/**
* Check if event is from a group context
*/
export declare function isFromGroup(event: WebhookEvent): boolean;
/**
* Check if event is from a personal context
*/
export declare function isFromPersonal(event: WebhookEvent): boolean;
//# sourceMappingURL=type-guards.d.ts.map