waha.js
Version:
TypeScript SDK for WAHA (WhatsApp HTTP API)
143 lines (142 loc) • 4.67 kB
TypeScript
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>;
}