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

253 lines 8.22 kB
"use strict"; /** * Zalo Personal Group Management Service * 100% khớp với automation-web/src/module/zalo-group/controllers/zalo-group.controller.ts * Đã thêm đầy đủ 19 methods để đồng bộ hoàn toàn với backend controller */ Object.defineProperty(exports, "__esModule", { value: true }); exports.GroupService = void 0; /** * Zalo Personal Group Management Service Class * 100% khớp với automation-web ZaloGroupController * Bao gồm đầy đủ 19 methods: 15 cơ bản + 4 advanced link/invite */ class GroupService { constructor(httpClient) { this.httpClient = httpClient; } /** * Lấy tất cả groups * POST /zalo-personal/groups/all */ async getAllGroups(request) { const response = await this.httpClient.post('/zalo-personal/groups/all', { sessionId: request.sessionId, }); return response; } /** * Lấy thông tin chi tiết của group * POST /zalo-personal/groups/info */ async getGroupInfo(request) { const response = await this.httpClient.post('/zalo-personal/groups/info', { sessionId: request.sessionId, groupId: request.groupId, }); return response; } /** * Tạo group mới * POST /zalo-personal/groups/create */ async createGroup(request) { const response = await this.httpClient.post('/zalo-personal/groups/create', request); return response; } /** * Thêm member vào group * POST /zalo-personal/groups/add-members */ async addMemberToGroup(request) { const response = await this.httpClient.post('/zalo-personal/groups/add-members', { sessionId: request.sessionId, groupId: request.groupId, memberIds: request.memberIds, }); return response; } /** * Remove member khỏi group * POST /zalo-personal/groups/remove-member */ async removeMemberFromGroup(request) { const response = await this.httpClient.post('/zalo-personal/groups/remove-member', { sessionId: request.sessionId, groupId: request.groupId, memberId: request.memberId, banDuration: request.banDuration || 0, }); return response; } /** * Đổi tên group * PUT /zalo-personal/groups/change-name */ async changeGroupName(request) { const response = await this.httpClient.put('/zalo-personal/groups/change-name', { sessionId: request.sessionId, groupId: request.groupId, newName: request.newName, }); return response; } /** * Lấy danh sách members của group * POST /zalo-personal/groups/members * Nếu không truyền page/limit thì sẽ lấy tất cả members * 100% khớp với automation-web controller */ async getGroupMembers(request) { const requestBody = { sessionId: request.sessionId, groupId: request.groupId, }; // Chỉ thêm các optional fields nếu user có truyền if (request.page !== undefined) { requestBody.page = request.page; } if (request.limit !== undefined) { requestBody.limit = request.limit; } if (request.batchSize !== undefined) { requestBody.batchSize = request.batchSize; } if (request.delayMs !== undefined) { requestBody.delayMs = request.delayMs; } const response = await this.httpClient.post('/zalo-personal/groups/members', requestBody); return response; } /** * Rời nhóm * POST /zalo-personal/groups/leave */ async leaveGroup(request) { const response = await this.httpClient.post('/zalo-personal/groups/leave', { sessionId: request.sessionId, groupId: request.groupId, }); return response; } /** * Giải tán nhóm * DELETE /zalo-personal/groups/disperse */ async disperseGroup(request) { const response = await this.httpClient.delete('/zalo-personal/groups/disperse', { sessionId: request.sessionId, groupId: request.groupId, }); return response; } /** * Tham gia nhóm qua link * POST /zalo-personal/groups/join * 100% khớp với automation-web controller */ async joinGroup(request) { const response = await this.httpClient.post('/zalo-personal/groups/join', { sessionId: request.sessionId, link: request.link, }); return response; } /** * Đổi avatar nhóm * PUT /zalo-personal/groups/change-avatar */ async changeGroupAvatar(request) { const response = await this.httpClient.put('/zalo-personal/groups/change-avatar', { sessionId: request.sessionId, groupId: request.groupId, avatarPath: request.avatarPath, }); return response; } /** * Cập nhật cài đặt nhóm * PUT /zalo-personal/groups/update-settings */ async updateGroupSettings(request) { const response = await this.httpClient.put('/zalo-personal/groups/update-settings', { sessionId: request.sessionId, groupId: request.groupId, settings: request.settings, }); return response; } /** * Chuyển quyền owner nhóm * POST /zalo-personal/groups/change-owner */ async changeGroupOwner(request) { const response = await this.httpClient.post('/zalo-personal/groups/change-owner', { sessionId: request.sessionId, groupId: request.groupId, newOwnerId: request.newOwnerId, }); return response; } /** * Thêm phó admin * POST /zalo-personal/groups/add-deputy */ async addGroupDeputy(request) { const response = await this.httpClient.post('/zalo-personal/groups/add-deputy', { sessionId: request.sessionId, groupId: request.groupId, memberIds: request.memberIds, }); return response; } /** * Xóa phó admin * POST /zalo-personal/groups/remove-deputy */ async removeGroupDeputy(request) { const response = await this.httpClient.post('/zalo-personal/groups/remove-deputy', { sessionId: request.sessionId, groupId: request.groupId, memberIds: request.memberIds, }); return response; } /** * Enable group link * POST /zalo-personal/groups/enable-link */ async enableGroupLink(request) { const response = await this.httpClient.post('/zalo-personal/groups/enable-link', { sessionId: request.sessionId, groupId: request.groupId, }); return response; } /** * Disable group link * POST /zalo-personal/groups/disable-link */ async disableGroupLink(request) { const response = await this.httpClient.post('/zalo-personal/groups/disable-link', { sessionId: request.sessionId, groupId: request.groupId, }); return response; } /** * Get group link info * POST /zalo-personal/groups/link-info * 100% khớp với automation-web controller */ async getGroupLinkInfo(request) { const response = await this.httpClient.post('/zalo-personal/groups/link-info', { sessionId: request.sessionId, link: request.link, }); return response; } /** * Invite user to multiple groups * POST /zalo-personal/groups/invite-to-groups */ async inviteUserToGroups(request) { const response = await this.httpClient.post('/zalo-personal/groups/invite-to-groups', { sessionId: request.sessionId, memberId: request.memberId, groupIds: request.groupIds, }); return response; } } exports.GroupService = GroupService; //# sourceMappingURL=groups.service.js.map