UNPKG

waha.js

Version:

TypeScript SDK for WAHA (WhatsApp HTTP API)

143 lines (142 loc) 4.67 kB
import { WahaBaseClient } from '../client'; import { ChatPictureResponse, ChatSummary, EditMessageRequest, PinMessageRequest, ReadChatMessagesResponse } from '../types'; /** * Chats module for WAHA API */ export declare class ChatsModule { private client; /** * Create a new Chats module * @param client Base client */ constructor(client: WahaBaseClient); /** * Get chats * @param session Session name * @param options Query options * @returns List of chats */ getChats(session?: string, options?: { sortBy?: 'conversationTimestamp' | 'id' | 'name'; sortOrder?: 'desc' | 'asc'; limit?: number; offset?: number; }): Promise<any[]>; /** * Get chats overview * @param session Session name * @param options Query options * @returns List of chat summaries */ getChatsOverview(session?: string, options?: { limit?: number; offset?: number; }): Promise<ChatSummary[]>; /** * Delete a chat * @param session Session name * @param chatId Chat ID */ deleteChat(session: string | undefined, chatId: string): Promise<void>; /** * Get chat picture * @param session Session name * @param chatId Chat ID * @param refresh Refresh the picture from the server * @returns Chat picture URL */ getChatPicture(session: string | undefined, chatId: string, refresh?: boolean): Promise<ChatPictureResponse>; /** * Get messages in a chat * @param session Session name * @param chatId Chat ID * @param options Query options * @returns List of messages */ getChatMessages(session: string | undefined, chatId: string, options?: { downloadMedia?: boolean; limit?: number; offset?: number; 'filter.timestamp.lte'?: number; 'filter.timestamp.gte'?: number; 'filter.fromMe'?: boolean; 'filter.ack'?: 'ERROR' | 'PENDING' | 'SERVER' | 'DEVICE' | 'READ' | 'PLAYED'; }): Promise<any[]>; /** * Clear all messages from a chat * @param session Session name * @param chatId Chat ID */ clearMessages(session: string | undefined, chatId: string): Promise<void>; /** * Read unread messages in a chat * @param session Session name * @param chatId Chat ID * @param options Query options * @returns Result */ readChatMessages(session: string | undefined, chatId: string, options?: { messages?: number; days?: number; }): Promise<ReadChatMessagesResponse>; /** * Get a specific message by ID * @param session Session name * @param chatId Chat ID * @param messageId Message ID * @param downloadMedia Download media for the message * @returns Message */ getChatMessage(session: string | undefined, chatId: string, messageId: string, downloadMedia?: boolean): Promise<any>; /** * Delete a message from a chat * @param session Session name * @param chatId Chat ID * @param messageId Message ID */ deleteMessage(session: string | undefined, chatId: string, messageId: string): Promise<void>; /** * Edit a message in a chat * @param session Session name * @param chatId Chat ID * @param messageId Message ID * @param data Edit data */ editMessage(session: string | undefined, chatId: string, messageId: string, data: EditMessageRequest): Promise<void>; /** * Pin a message in a chat * @param session Session name * @param chatId Chat ID * @param messageId Message ID * @param data Pin data */ pinMessage(session: string | undefined, chatId: string, messageId: string, data: PinMessageRequest): Promise<void>; /** * Unpin a message in a chat * @param session Session name * @param chatId Chat ID * @param messageId Message ID */ unpinMessage(session: string | undefined, chatId: string, messageId: string): Promise<void>; /** * Archive a chat * @param session Session name * @param chatId Chat ID * @returns Result */ archiveChat(session: string | undefined, chatId: string): Promise<any>; /** * Unarchive a chat * @param session Session name * @param chatId Chat ID * @returns Result */ unarchiveChat(session: string | undefined, chatId: string): Promise<any>; /** * Mark a chat as unread * @param session Session name * @param chatId Chat ID * @returns Result */ markChatUnread(session: string | undefined, chatId: string): Promise<any>; }