UNPKG

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

239 lines 7.73 kB
"use strict"; /** * Zalo Personal Friend Management Service * 100% khớp với automation-web/src/module/zalo-friend * Đã hợp nhất DTOs và Service class trong 1 file duy nhất */ Object.defineProperty(exports, "__esModule", { value: true }); exports.FriendService = void 0; /** * Zalo Personal Friend Management Service Class * 100% khớp với automation-web ZaloFriendController */ class FriendService { constructor(httpClient) { this.httpClient = httpClient; } // ==================== BASIC FRIEND METHODS ==================== /** * Lấy tất cả friends * POST /zalo-personal/friends/all * @returns ZaloGetAllFriendsResponse - Array của ZaloFriendItem từ SDK (dữ liệu thô) */ async getAllFriends(request) { const response = await this.httpClient.post('/zalo-personal/friends/all', { sessionId: request.sessionId, }); return response; } /** * Tìm kiếm friends * POST /zalo-personal/friends/search */ async searchFriends(request) { const response = await this.httpClient.post('/zalo-personal/friends/search', { sessionId: request.sessionId, keyword: request.keyword, limit: request.limit, }); return response; } /** * Lấy thông tin chi tiết friends * POST /zalo-personal/friends/info */ async getFriendsInfo(request) { const response = await this.httpClient.post('/zalo-personal/friends/info', { sessionId: request.sessionId, friendIds: request.friendIds, }); return response; } /** * Lấy friends đang online * POST /zalo-personal/friends/online */ async getOnlineFriends(request) { const response = await this.httpClient.post('/zalo-personal/friends/online', { sessionId: request.sessionId, }); return response; } /** * Lấy thống kê friends * GET /zalo-personal/friends/stats */ async getFriendsStats(sessionId) { const response = await this.httpClient.get(`/zalo-personal/friends/stats?sessionId=${sessionId}`); return response; } // ==================== FRIEND REQUEST METHODS ==================== /** * Gửi lời mời kết bạn * POST /zalo-personal/friends/request/send */ async sendFriendRequest(request) { const response = await this.httpClient.post('/zalo-personal/friends/request/send', { sessionId: request.sessionId, userId: request.userId, message: request.message, }); return response; } /** * Chấp nhận lời mời kết bạn * POST /zalo-personal/friends/request/accept */ async acceptFriendRequest(request) { const response = await this.httpClient.post('/zalo-personal/friends/request/accept', { sessionId: request.sessionId, userId: request.userId, }); return response; } /** * Lấy danh sách lời mời nhận được * POST /zalo-personal/friends/request/received */ async getReceivedFriendRequests(request) { const response = await this.httpClient.post('/zalo-personal/friends/request/received', { sessionId: request.sessionId, }); return response; } /** * Lấy danh sách lời mời đã gửi * POST /zalo-personal/friends/request/sent */ async getSentFriendRequests(request) { const response = await this.httpClient.post('/zalo-personal/friends/request/sent', { sessionId: request.sessionId, }); return response; } /** * Hủy lời mời đã gửi * POST /zalo-personal/friends/request/undo */ async undoFriendRequest(request) { const response = await this.httpClient.post('/zalo-personal/friends/request/undo', { sessionId: request.sessionId, userId: request.userId, }); return response; } // ==================== FRIEND MANAGEMENT METHODS ==================== /** * Xóa bạn bè * POST /zalo-personal/friends/remove */ async removeFriend(request) { const response = await this.httpClient.post('/zalo-personal/friends/remove', { sessionId: request.sessionId, friendId: request.friendId, }); return response; } /** * Chặn user * POST /zalo-personal/friends/block */ async blockUser(request) { const response = await this.httpClient.post('/zalo-personal/friends/block', { sessionId: request.sessionId, userId: request.userId, }); return response; } /** * Bỏ chặn user * POST /zalo-personal/friends/unblock */ async unblockUser(request) { const response = await this.httpClient.post('/zalo-personal/friends/unblock', { sessionId: request.sessionId, userId: request.userId, }); return response; } /** * Thay đổi biệt danh friend * POST /zalo-personal/friends/alias/change */ async changeFriendAlias(request) { const response = await this.httpClient.post('/zalo-personal/friends/alias/change', { sessionId: request.sessionId, friendId: request.friendId, alias: request.alias, }); return response; } /** * Xóa biệt danh friend * POST /zalo-personal/friends/alias/remove */ async removeFriendAlias(request) { const response = await this.httpClient.post('/zalo-personal/friends/alias/remove', { sessionId: request.sessionId, friendId: request.friendId, }); return response; } /** * Lấy danh sách biệt danh * POST /zalo-personal/friends/alias/list */ async getAliasList(request) { const response = await this.httpClient.post('/zalo-personal/friends/alias/list', { sessionId: request.sessionId, count: request.count, page: request.page, }); return response; } // ==================== USER SEARCH & ACCOUNT METHODS ==================== /** * Tìm kiếm user theo số điện thoại * POST /zalo-personal/friends/find-user */ async findUser(request) { const response = await this.httpClient.post('/zalo-personal/friends/find-user', { sessionId: request.sessionId, phoneNumbers: request.phoneNumbers, }); return response; } /** * Lấy thời gian last online * POST /zalo-personal/friends/last-online */ async getLastOnline(request) { const response = await this.httpClient.post('/zalo-personal/friends/last-online', { sessionId: request.sessionId, userId: request.userId, }); return response; } /** * Lấy own ID * POST /zalo-personal/friends/own-id */ async getOwnId(request) { const response = await this.httpClient.post('/zalo-personal/friends/own-id', { sessionId: request.sessionId, }); return response; } /** * Lấy thông tin tài khoản * POST /zalo-personal/friends/account-info */ async fetchAccountInfo(request) { const response = await this.httpClient.post('/zalo-personal/friends/account-info', { sessionId: request.sessionId, }); return response; } } exports.FriendService = FriendService; //# sourceMappingURL=friends.service.js.map