@ohos-ports/zca-js 2.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +225 -0
- package/dist/Errors/ZaloApiError.d.ts +4 -0
- package/dist/Errors/ZaloApiError.js +7 -0
- package/dist/Errors/ZaloApiLoginQRAborted.d.ts +4 -0
- package/dist/Errors/ZaloApiLoginQRAborted.js +7 -0
- package/dist/Errors/ZaloApiLoginQRDeclined.d.ts +4 -0
- package/dist/Errors/ZaloApiLoginQRDeclined.js +7 -0
- package/dist/Errors/ZaloApiMissingImageMetadataGetter.d.ts +4 -0
- package/dist/Errors/ZaloApiMissingImageMetadataGetter.js +7 -0
- package/dist/Errors/index.d.ts +4 -0
- package/dist/Errors/index.js +4 -0
- package/dist/apis/acceptFriendRequest.d.ts +2 -0
- package/dist/apis/acceptFriendRequest.js +28 -0
- package/dist/apis/addGroupBlockedMember.d.ts +2 -0
- package/dist/apis/addGroupBlockedMember.js +28 -0
- package/dist/apis/addGroupDeputy.d.ts +2 -0
- package/dist/apis/addGroupDeputy.js +30 -0
- package/dist/apis/addPollOptions.d.ts +14 -0
- package/dist/apis/addPollOptions.js +26 -0
- package/dist/apis/addQuickMessage.d.ts +11 -0
- package/dist/apis/addQuickMessage.js +60 -0
- package/dist/apis/addReaction.d.ts +18 -0
- package/dist/apis/addReaction.js +294 -0
- package/dist/apis/addUnreadMark.d.ts +8 -0
- package/dist/apis/addUnreadMark.js +52 -0
- package/dist/apis/addUserToGroup.d.ts +5 -0
- package/dist/apis/addUserToGroup.js +34 -0
- package/dist/apis/blockUser.d.ts +2 -0
- package/dist/apis/blockUser.js +28 -0
- package/dist/apis/blockViewFeed.d.ts +2 -0
- package/dist/apis/blockViewFeed.js +30 -0
- package/dist/apis/changeAccountAvatar.d.ts +3 -0
- package/dist/apis/changeAccountAvatar.js +52 -0
- package/dist/apis/changeFriendAlias.d.ts +2 -0
- package/dist/apis/changeFriendAlias.js +27 -0
- package/dist/apis/changeGroupAvatar.d.ts +3 -0
- package/dist/apis/changeGroupAvatar.js +44 -0
- package/dist/apis/changeGroupName.d.ts +4 -0
- package/dist/apis/changeGroupName.js +32 -0
- package/dist/apis/changeGroupOwner.d.ts +4 -0
- package/dist/apis/changeGroupOwner.js +30 -0
- package/dist/apis/createAutoReply.d.ts +14 -0
- package/dist/apis/createAutoReply.js +37 -0
- package/dist/apis/createBankAccount.d.ts +8 -0
- package/dist/apis/createBankAccount.js +32 -0
- package/dist/apis/createCatalog.d.ts +7 -0
- package/dist/apis/createCatalog.js +29 -0
- package/dist/apis/createGroup.d.ts +28 -0
- package/dist/apis/createGroup.js +43 -0
- package/dist/apis/createNote.d.ts +7 -0
- package/dist/apis/createNote.js +47 -0
- package/dist/apis/createPoll.d.ts +36 -0
- package/dist/apis/createPoll.js +40 -0
- package/dist/apis/createProductCatalog.d.ts +23 -0
- package/dist/apis/createProductCatalog.js +50 -0
- package/dist/apis/createReminder.d.ts +12 -0
- package/dist/apis/createReminder.js +63 -0
- package/dist/apis/custom.d.ts +9 -0
- package/dist/apis/custom.js +15 -0
- package/dist/apis/deleteAutoReply.d.ts +5 -0
- package/dist/apis/deleteAutoReply.js +29 -0
- package/dist/apis/deleteAvatar.d.ts +9 -0
- package/dist/apis/deleteAvatar.js +27 -0
- package/dist/apis/deleteBankAccount.d.ts +11 -0
- package/dist/apis/deleteBankAccount.js +32 -0
- package/dist/apis/deleteCatalog.d.ts +2 -0
- package/dist/apis/deleteCatalog.js +28 -0
- package/dist/apis/deleteChat.d.ts +19 -0
- package/dist/apis/deleteChat.js +50 -0
- package/dist/apis/deleteGroupInviteBox.d.ts +9 -0
- package/dist/apis/deleteGroupInviteBox.js +27 -0
- package/dist/apis/deleteMessage.d.ts +14 -0
- package/dist/apis/deleteMessage.js +52 -0
- package/dist/apis/deleteProductCatalog.d.ts +10 -0
- package/dist/apis/deleteProductCatalog.js +31 -0
- package/dist/apis/disableGroupLink.d.ts +2 -0
- package/dist/apis/disableGroupLink.js +24 -0
- package/dist/apis/disperseGroup.d.ts +2 -0
- package/dist/apis/disperseGroup.js +28 -0
- package/dist/apis/editNote.d.ts +17 -0
- package/dist/apis/editNote.js +46 -0
- package/dist/apis/editReminder.d.ts +13 -0
- package/dist/apis/editReminder.js +61 -0
- package/dist/apis/enableGroupLink.d.ts +6 -0
- package/dist/apis/enableGroupLink.js +25 -0
- package/dist/apis/fetchAccountInfo.d.ts +5 -0
- package/dist/apis/fetchAccountInfo.js +10 -0
- package/dist/apis/findUser.d.ts +3 -0
- package/dist/apis/findUser.js +42 -0
- package/dist/apis/findUserByUsername.d.ts +3 -0
- package/dist/apis/findUserByUsername.js +27 -0
- package/dist/apis/forwardMessage.d.ts +24 -0
- package/dist/apis/forwardMessage.js +99 -0
- package/dist/apis/getAliasList.d.ts +8 -0
- package/dist/apis/getAliasList.js +27 -0
- package/dist/apis/getAllFriends.d.ts +3 -0
- package/dist/apis/getAllFriends.js +34 -0
- package/dist/apis/getAllGroups.d.ts +7 -0
- package/dist/apis/getAllGroups.js +10 -0
- package/dist/apis/getArchivedChatList.d.ts +5 -0
- package/dist/apis/getArchivedChatList.js +23 -0
- package/dist/apis/getAutoDeleteChat.d.ts +9 -0
- package/dist/apis/getAutoDeleteChat.js +21 -0
- package/dist/apis/getAutoReplyList.d.ts +6 -0
- package/dist/apis/getAutoReplyList.js +24 -0
- package/dist/apis/getAvatarList.d.ts +12 -0
- package/dist/apis/getAvatarList.js +28 -0
- package/dist/apis/getAvatarUrlProfile.d.ts +7 -0
- package/dist/apis/getAvatarUrlProfile.js +30 -0
- package/dist/apis/getBizAccount.d.ts +24 -0
- package/dist/apis/getBizAccount.js +27 -0
- package/dist/apis/getCatalogList.d.ts +18 -0
- package/dist/apis/getCatalogList.js +32 -0
- package/dist/apis/getCloseFriends.d.ts +3 -0
- package/dist/apis/getCloseFriends.js +20 -0
- package/dist/apis/getContext.d.ts +1 -0
- package/dist/apis/getContext.js +4 -0
- package/dist/apis/getCookie.d.ts +1 -0
- package/dist/apis/getCookie.js +9 -0
- package/dist/apis/getFriendBoardList.d.ts +5 -0
- package/dist/apis/getFriendBoardList.js +26 -0
- package/dist/apis/getFriendOnlines.d.ts +10 -0
- package/dist/apis/getFriendOnlines.js +35 -0
- package/dist/apis/getFriendRecommendations.d.ts +42 -0
- package/dist/apis/getFriendRecommendations.js +27 -0
- package/dist/apis/getFriendRequestStatus.d.ts +8 -0
- package/dist/apis/getFriendRequestStatus.js +25 -0
- package/dist/apis/getFullAvatar.d.ts +5 -0
- package/dist/apis/getFullAvatar.js +25 -0
- package/dist/apis/getGroupBlockedMember.d.ts +23 -0
- package/dist/apis/getGroupBlockedMember.js +29 -0
- package/dist/apis/getGroupChatHistory.d.ts +8 -0
- package/dist/apis/getGroupChatHistory.js +36 -0
- package/dist/apis/getGroupInfo.d.ts +16 -0
- package/dist/apis/getGroupInfo.js +32 -0
- package/dist/apis/getGroupInviteBoxInfo.d.ts +32 -0
- package/dist/apis/getGroupInviteBoxInfo.js +38 -0
- package/dist/apis/getGroupInviteBoxList.d.ts +38 -0
- package/dist/apis/getGroupInviteBoxList.js +31 -0
- package/dist/apis/getGroupLinkDetail.d.ts +9 -0
- package/dist/apis/getGroupLinkDetail.js +25 -0
- package/dist/apis/getGroupLinkInfo.d.ts +34 -0
- package/dist/apis/getGroupLinkInfo.js +28 -0
- package/dist/apis/getGroupMembersInfo.d.ts +17 -0
- package/dist/apis/getGroupMembersInfo.js +24 -0
- package/dist/apis/getHiddenConversations.d.ts +11 -0
- package/dist/apis/getHiddenConversations.js +23 -0
- package/dist/apis/getLabels.d.ts +7 -0
- package/dist/apis/getLabels.js +28 -0
- package/dist/apis/getListBank.d.ts +5 -0
- package/dist/apis/getListBank.js +20 -0
- package/dist/apis/getListBankAccount.d.ts +7 -0
- package/dist/apis/getListBankAccount.js +27 -0
- package/dist/apis/getListBoard.d.ts +21 -0
- package/dist/apis/getListBoard.js +45 -0
- package/dist/apis/getListDevice.d.ts +10 -0
- package/dist/apis/getListDevice.js +22 -0
- package/dist/apis/getListReminder.d.ts +28 -0
- package/dist/apis/getListReminder.js +47 -0
- package/dist/apis/getMultiUsersByPhones.d.ts +5 -0
- package/dist/apis/getMultiUsersByPhones.js +39 -0
- package/dist/apis/getMute.d.ts +13 -0
- package/dist/apis/getMute.js +22 -0
- package/dist/apis/getOwnId.d.ts +1 -0
- package/dist/apis/getOwnId.js +4 -0
- package/dist/apis/getPendingGroupMembers.d.ts +11 -0
- package/dist/apis/getPendingGroupMembers.js +27 -0
- package/dist/apis/getPinConversations.d.ts +5 -0
- package/dist/apis/getPinConversations.js +22 -0
- package/dist/apis/getPollDetail.d.ts +3 -0
- package/dist/apis/getPollDetail.js +30 -0
- package/dist/apis/getProductCatalogList.d.ts +20 -0
- package/dist/apis/getProductCatalogList.js +33 -0
- package/dist/apis/getQR.d.ts +4 -0
- package/dist/apis/getQR.js +29 -0
- package/dist/apis/getQuickMessageList.d.ts +7 -0
- package/dist/apis/getQuickMessageList.js +24 -0
- package/dist/apis/getRelatedFriendGroup.d.ts +6 -0
- package/dist/apis/getRelatedFriendGroup.js +30 -0
- package/dist/apis/getReminder.d.ts +3 -0
- package/dist/apis/getReminder.js +25 -0
- package/dist/apis/getReminderResponses.d.ts +5 -0
- package/dist/apis/getReminderResponses.js +24 -0
- package/dist/apis/getSentFriendRequest.d.ts +18 -0
- package/dist/apis/getSentFriendRequest.js +24 -0
- package/dist/apis/getSettings.d.ts +3 -0
- package/dist/apis/getSettings.js +20 -0
- package/dist/apis/getStickerCategoryDetail.d.ts +3 -0
- package/dist/apis/getStickerCategoryDetail.js +24 -0
- package/dist/apis/getStickers.d.ts +1 -0
- package/dist/apis/getStickers.js +40 -0
- package/dist/apis/getStickersDetail.d.ts +3 -0
- package/dist/apis/getStickersDetail.js +40 -0
- package/dist/apis/getUnreadMark.d.ts +14 -0
- package/dist/apis/getUnreadMark.js +30 -0
- package/dist/apis/getUserInfo.d.ts +8 -0
- package/dist/apis/getUserInfo.js +44 -0
- package/dist/apis/inviteUserToGroups.d.ts +10 -0
- package/dist/apis/inviteUserToGroups.js +30 -0
- package/dist/apis/joinGroupInviteBox.d.ts +2 -0
- package/dist/apis/joinGroupInviteBox.js +25 -0
- package/dist/apis/joinGroupLink.d.ts +2 -0
- package/dist/apis/joinGroupLink.js +27 -0
- package/dist/apis/keepAlive.d.ts +4 -0
- package/dist/apis/keepAlive.js +22 -0
- package/dist/apis/lastOnline.d.ts +7 -0
- package/dist/apis/lastOnline.js +26 -0
- package/dist/apis/leaveGroup.d.ts +4 -0
- package/dist/apis/leaveGroup.js +33 -0
- package/dist/apis/listen.d.ts +102 -0
- package/dist/apis/listen.js +425 -0
- package/dist/apis/lockPoll.d.ts +2 -0
- package/dist/apis/lockPoll.js +28 -0
- package/dist/apis/login.d.ts +3 -0
- package/dist/apis/login.js +96 -0
- package/dist/apis/loginQR.d.ts +71 -0
- package/dist/apis/loginQR.js +365 -0
- package/dist/apis/lostFocus.d.ts +4 -0
- package/dist/apis/lostFocus.js +23 -0
- package/dist/apis/parseLink.d.ts +21 -0
- package/dist/apis/parseLink.js +27 -0
- package/dist/apis/registerCatalog.d.ts +2 -0
- package/dist/apis/registerCatalog.js +27 -0
- package/dist/apis/rejectFriendRequest.d.ts +2 -0
- package/dist/apis/rejectFriendRequest.js +27 -0
- package/dist/apis/removeFriend.d.ts +2 -0
- package/dist/apis/removeFriend.js +28 -0
- package/dist/apis/removeFriendAlias.d.ts +2 -0
- package/dist/apis/removeFriendAlias.js +24 -0
- package/dist/apis/removeGroupBlockedMember.d.ts +2 -0
- package/dist/apis/removeGroupBlockedMember.js +28 -0
- package/dist/apis/removeGroupDeputy.d.ts +2 -0
- package/dist/apis/removeGroupDeputy.js +30 -0
- package/dist/apis/removeQuickMessage.d.ts +5 -0
- package/dist/apis/removeQuickMessage.js +27 -0
- package/dist/apis/removeReminder.d.ts +3 -0
- package/dist/apis/removeReminder.js +40 -0
- package/dist/apis/removeUnreadMark.d.ts +8 -0
- package/dist/apis/removeUnreadMark.js +50 -0
- package/dist/apis/removeUserFromGroup.d.ts +4 -0
- package/dist/apis/removeUserFromGroup.js +34 -0
- package/dist/apis/resetHiddenConversPin.d.ts +2 -0
- package/dist/apis/resetHiddenConversPin.js +20 -0
- package/dist/apis/reuseAvatar.d.ts +2 -0
- package/dist/apis/reuseAvatar.js +26 -0
- package/dist/apis/reviewPendingMemberRequest.d.ts +14 -0
- package/dist/apis/reviewPendingMemberRequest.js +38 -0
- package/dist/apis/scanURL.d.ts +4 -0
- package/dist/apis/scanURL.js +28 -0
- package/dist/apis/searchSticker.d.ts +3 -0
- package/dist/apis/searchSticker.js +28 -0
- package/dist/apis/sendBankCard.d.ts +9 -0
- package/dist/apis/sendBankCard.js +37 -0
- package/dist/apis/sendCard.d.ts +10 -0
- package/dist/apis/sendCard.js +59 -0
- package/dist/apis/sendDeliveredEvent.d.ts +16 -0
- package/dist/apis/sendDeliveredEvent.js +55 -0
- package/dist/apis/sendFriendRequest.d.ts +2 -0
- package/dist/apis/sendFriendRequest.js +39 -0
- package/dist/apis/sendLink.d.ts +10 -0
- package/dist/apis/sendLink.js +61 -0
- package/dist/apis/sendMessage.d.ts +99 -0
- package/dist/apis/sendMessage.js +452 -0
- package/dist/apis/sendReport.d.ts +17 -0
- package/dist/apis/sendReport.js +53 -0
- package/dist/apis/sendSeenEvent.d.ts +16 -0
- package/dist/apis/sendSeenEvent.js +63 -0
- package/dist/apis/sendSticker.d.ts +10 -0
- package/dist/apis/sendSticker.js +57 -0
- package/dist/apis/sendTypingEvent.d.ts +5 -0
- package/dist/apis/sendTypingEvent.js +33 -0
- package/dist/apis/sendVideo.d.ts +35 -0
- package/dist/apis/sendVideo.js +118 -0
- package/dist/apis/sendVoice.d.ts +12 -0
- package/dist/apis/sendVoice.js +73 -0
- package/dist/apis/setHiddenConversations.d.ts +3 -0
- package/dist/apis/setHiddenConversations.js +39 -0
- package/dist/apis/setMute.d.ts +20 -0
- package/dist/apis/setMute.js +67 -0
- package/dist/apis/setPinnedConversations.d.ts +3 -0
- package/dist/apis/setPinnedConversations.js +34 -0
- package/dist/apis/sharePoll.d.ts +2 -0
- package/dist/apis/sharePoll.js +28 -0
- package/dist/apis/unblockUser.d.ts +2 -0
- package/dist/apis/unblockUser.js +28 -0
- package/dist/apis/undo.d.ts +9 -0
- package/dist/apis/undo.js +42 -0
- package/dist/apis/undoFriendRequest.d.ts +2 -0
- package/dist/apis/undoFriendRequest.js +27 -0
- package/dist/apis/updateActiveStatus.d.ts +4 -0
- package/dist/apis/updateActiveStatus.js +27 -0
- package/dist/apis/updateArchivedChatList.d.ts +10 -0
- package/dist/apis/updateArchivedChatList.js +34 -0
- package/dist/apis/updateAutoDeleteChat.d.ts +9 -0
- package/dist/apis/updateAutoDeleteChat.js +40 -0
- package/dist/apis/updateAutoReply.d.ts +15 -0
- package/dist/apis/updateAutoReply.js +38 -0
- package/dist/apis/updateBankAccount.d.ts +9 -0
- package/dist/apis/updateBankAccount.js +31 -0
- package/dist/apis/updateCatalog.d.ts +11 -0
- package/dist/apis/updateCatalog.js +30 -0
- package/dist/apis/updateGroupSettings.d.ts +40 -0
- package/dist/apis/updateGroupSettings.js +43 -0
- package/dist/apis/updateHiddenConversPin.d.ts +2 -0
- package/dist/apis/updateHiddenConversPin.js +30 -0
- package/dist/apis/updateLabels.d.ts +15 -0
- package/dist/apis/updateLabels.js +34 -0
- package/dist/apis/updateLang.d.ts +6 -0
- package/dist/apis/updateLang.js +30 -0
- package/dist/apis/updateProductCatalog.d.ts +25 -0
- package/dist/apis/updateProductCatalog.js +51 -0
- package/dist/apis/updateProfile.d.ts +20 -0
- package/dist/apis/updateProfile.js +43 -0
- package/dist/apis/updateProfileBio.d.ts +2 -0
- package/dist/apis/updateProfileBio.js +27 -0
- package/dist/apis/updateQuickMessage.d.ts +11 -0
- package/dist/apis/updateQuickMessage.js +61 -0
- package/dist/apis/updateSettings.d.ts +16 -0
- package/dist/apis/updateSettings.js +90 -0
- package/dist/apis/upgradeGroupToCommunity.d.ts +2 -0
- package/dist/apis/upgradeGroupToCommunity.js +27 -0
- package/dist/apis/uploadAttachment.d.ts +50 -0
- package/dist/apis/uploadAttachment.js +197 -0
- package/dist/apis/uploadProductPhoto.d.ts +14 -0
- package/dist/apis/uploadProductPhoto.js +50 -0
- package/dist/apis/votePoll.d.ts +5 -0
- package/dist/apis/votePoll.js +29 -0
- package/dist/apis.d.ts +317 -0
- package/dist/apis.js +317 -0
- package/dist/cjs/Errors/ZaloApiError.cjs +11 -0
- package/dist/cjs/Errors/ZaloApiLoginQRAborted.cjs +12 -0
- package/dist/cjs/Errors/ZaloApiLoginQRDeclined.cjs +12 -0
- package/dist/cjs/Errors/ZaloApiMissingImageMetadataGetter.cjs +12 -0
- package/dist/cjs/apis/acceptFriendRequest.cjs +33 -0
- package/dist/cjs/apis/addGroupBlockedMember.cjs +33 -0
- package/dist/cjs/apis/addGroupDeputy.cjs +35 -0
- package/dist/cjs/apis/addPollOptions.cjs +31 -0
- package/dist/cjs/apis/addQuickMessage.cjs +65 -0
- package/dist/cjs/apis/addReaction.cjs +308 -0
- package/dist/cjs/apis/addUnreadMark.cjs +66 -0
- package/dist/cjs/apis/addUserToGroup.cjs +39 -0
- package/dist/cjs/apis/blockUser.cjs +33 -0
- package/dist/cjs/apis/blockViewFeed.cjs +35 -0
- package/dist/cjs/apis/changeAccountAvatar.cjs +57 -0
- package/dist/cjs/apis/changeFriendAlias.cjs +32 -0
- package/dist/cjs/apis/changeGroupAvatar.cjs +49 -0
- package/dist/cjs/apis/changeGroupName.cjs +37 -0
- package/dist/cjs/apis/changeGroupOwner.cjs +35 -0
- package/dist/cjs/apis/createAutoReply.cjs +42 -0
- package/dist/cjs/apis/createBankAccount.cjs +37 -0
- package/dist/cjs/apis/createCatalog.cjs +34 -0
- package/dist/cjs/apis/createGroup.cjs +48 -0
- package/dist/cjs/apis/createNote.cjs +52 -0
- package/dist/cjs/apis/createPoll.cjs +45 -0
- package/dist/cjs/apis/createProductCatalog.cjs +55 -0
- package/dist/cjs/apis/createReminder.cjs +77 -0
- package/dist/cjs/apis/custom.cjs +19 -0
- package/dist/cjs/apis/deleteAutoReply.cjs +34 -0
- package/dist/cjs/apis/deleteAvatar.cjs +32 -0
- package/dist/cjs/apis/deleteBankAccount.cjs +37 -0
- package/dist/cjs/apis/deleteCatalog.cjs +33 -0
- package/dist/cjs/apis/deleteChat.cjs +64 -0
- package/dist/cjs/apis/deleteGroupInviteBox.cjs +32 -0
- package/dist/cjs/apis/deleteMessage.cjs +66 -0
- package/dist/cjs/apis/deleteProductCatalog.cjs +36 -0
- package/dist/cjs/apis/disableGroupLink.cjs +29 -0
- package/dist/cjs/apis/disperseGroup.cjs +33 -0
- package/dist/cjs/apis/editNote.cjs +51 -0
- package/dist/cjs/apis/editReminder.cjs +75 -0
- package/dist/cjs/apis/enableGroupLink.cjs +30 -0
- package/dist/cjs/apis/fetchAccountInfo.cjs +15 -0
- package/dist/cjs/apis/findUser.cjs +56 -0
- package/dist/cjs/apis/findUserByUsername.cjs +41 -0
- package/dist/cjs/apis/forwardMessage.cjs +113 -0
- package/dist/cjs/apis/getAliasList.cjs +32 -0
- package/dist/cjs/apis/getAllFriends.cjs +48 -0
- package/dist/cjs/apis/getAllGroups.cjs +15 -0
- package/dist/cjs/apis/getArchivedChatList.cjs +28 -0
- package/dist/cjs/apis/getAutoDeleteChat.cjs +26 -0
- package/dist/cjs/apis/getAutoReplyList.cjs +29 -0
- package/dist/cjs/apis/getAvatarList.cjs +33 -0
- package/dist/cjs/apis/getAvatarUrlProfile.cjs +44 -0
- package/dist/cjs/apis/getBizAccount.cjs +32 -0
- package/dist/cjs/apis/getCatalogList.cjs +37 -0
- package/dist/cjs/apis/getCloseFriends.cjs +25 -0
- package/dist/cjs/apis/getContext.cjs +9 -0
- package/dist/cjs/apis/getCookie.cjs +14 -0
- package/dist/cjs/apis/getFriendBoardList.cjs +31 -0
- package/dist/cjs/apis/getFriendOnlines.cjs +40 -0
- package/dist/cjs/apis/getFriendRecommendations.cjs +32 -0
- package/dist/cjs/apis/getFriendRequestStatus.cjs +30 -0
- package/dist/cjs/apis/getFullAvatar.cjs +30 -0
- package/dist/cjs/apis/getGroupBlockedMember.cjs +34 -0
- package/dist/cjs/apis/getGroupChatHistory.cjs +51 -0
- package/dist/cjs/apis/getGroupInfo.cjs +37 -0
- package/dist/cjs/apis/getGroupInviteBoxInfo.cjs +43 -0
- package/dist/cjs/apis/getGroupInviteBoxList.cjs +36 -0
- package/dist/cjs/apis/getGroupLinkDetail.cjs +30 -0
- package/dist/cjs/apis/getGroupLinkInfo.cjs +33 -0
- package/dist/cjs/apis/getGroupMembersInfo.cjs +29 -0
- package/dist/cjs/apis/getHiddenConversations.cjs +28 -0
- package/dist/cjs/apis/getLabels.cjs +33 -0
- package/dist/cjs/apis/getListBank.cjs +25 -0
- package/dist/cjs/apis/getListBankAccount.cjs +32 -0
- package/dist/cjs/apis/getListBoard.cjs +59 -0
- package/dist/cjs/apis/getListDevice.cjs +27 -0
- package/dist/cjs/apis/getListReminder.cjs +61 -0
- package/dist/cjs/apis/getMultiUsersByPhones.cjs +53 -0
- package/dist/cjs/apis/getMute.cjs +27 -0
- package/dist/cjs/apis/getOwnId.cjs +9 -0
- package/dist/cjs/apis/getPendingGroupMembers.cjs +32 -0
- package/dist/cjs/apis/getPinConversations.cjs +27 -0
- package/dist/cjs/apis/getPollDetail.cjs +35 -0
- package/dist/cjs/apis/getProductCatalogList.cjs +38 -0
- package/dist/cjs/apis/getQR.cjs +34 -0
- package/dist/cjs/apis/getQuickMessageList.cjs +29 -0
- package/dist/cjs/apis/getRelatedFriendGroup.cjs +35 -0
- package/dist/cjs/apis/getReminder.cjs +30 -0
- package/dist/cjs/apis/getReminderResponses.cjs +29 -0
- package/dist/cjs/apis/getSentFriendRequest.cjs +29 -0
- package/dist/cjs/apis/getSettings.cjs +25 -0
- package/dist/cjs/apis/getStickerCategoryDetail.cjs +29 -0
- package/dist/cjs/apis/getStickers.cjs +45 -0
- package/dist/cjs/apis/getStickersDetail.cjs +45 -0
- package/dist/cjs/apis/getUnreadMark.cjs +35 -0
- package/dist/cjs/apis/getUserInfo.cjs +58 -0
- package/dist/cjs/apis/inviteUserToGroups.cjs +35 -0
- package/dist/cjs/apis/joinGroupInviteBox.cjs +30 -0
- package/dist/cjs/apis/joinGroupLink.cjs +32 -0
- package/dist/cjs/apis/keepAlive.cjs +27 -0
- package/dist/cjs/apis/lastOnline.cjs +31 -0
- package/dist/cjs/apis/leaveGroup.cjs +38 -0
- package/dist/cjs/apis/listen.cjs +440 -0
- package/dist/cjs/apis/lockPoll.cjs +33 -0
- package/dist/cjs/apis/login.cjs +102 -0
- package/dist/cjs/apis/loginQR.cjs +370 -0
- package/dist/cjs/apis/lostFocus.cjs +28 -0
- package/dist/cjs/apis/parseLink.cjs +32 -0
- package/dist/cjs/apis/registerCatalog.cjs +32 -0
- package/dist/cjs/apis/rejectFriendRequest.cjs +32 -0
- package/dist/cjs/apis/removeFriend.cjs +33 -0
- package/dist/cjs/apis/removeFriendAlias.cjs +29 -0
- package/dist/cjs/apis/removeGroupBlockedMember.cjs +33 -0
- package/dist/cjs/apis/removeGroupDeputy.cjs +35 -0
- package/dist/cjs/apis/removeQuickMessage.cjs +32 -0
- package/dist/cjs/apis/removeReminder.cjs +54 -0
- package/dist/cjs/apis/removeUnreadMark.cjs +64 -0
- package/dist/cjs/apis/removeUserFromGroup.cjs +39 -0
- package/dist/cjs/apis/resetHiddenConversPin.cjs +25 -0
- package/dist/cjs/apis/reuseAvatar.cjs +31 -0
- package/dist/cjs/apis/reviewPendingMemberRequest.cjs +43 -0
- package/dist/cjs/apis/scanURL.cjs +33 -0
- package/dist/cjs/apis/searchSticker.cjs +33 -0
- package/dist/cjs/apis/sendBankCard.cjs +51 -0
- package/dist/cjs/apis/sendCard.cjs +73 -0
- package/dist/cjs/apis/sendDeliveredEvent.cjs +69 -0
- package/dist/cjs/apis/sendFriendRequest.cjs +44 -0
- package/dist/cjs/apis/sendLink.cjs +75 -0
- package/dist/cjs/apis/sendMessage.cjs +466 -0
- package/dist/cjs/apis/sendReport.cjs +67 -0
- package/dist/cjs/apis/sendSeenEvent.cjs +77 -0
- package/dist/cjs/apis/sendSticker.cjs +71 -0
- package/dist/cjs/apis/sendTypingEvent.cjs +47 -0
- package/dist/cjs/apis/sendVideo.cjs +132 -0
- package/dist/cjs/apis/sendVoice.cjs +87 -0
- package/dist/cjs/apis/setHiddenConversations.cjs +53 -0
- package/dist/cjs/apis/setMute.cjs +81 -0
- package/dist/cjs/apis/setPinnedConversations.cjs +48 -0
- package/dist/cjs/apis/sharePoll.cjs +33 -0
- package/dist/cjs/apis/unblockUser.cjs +33 -0
- package/dist/cjs/apis/undo.cjs +56 -0
- package/dist/cjs/apis/undoFriendRequest.cjs +32 -0
- package/dist/cjs/apis/updateActiveStatus.cjs +32 -0
- package/dist/cjs/apis/updateArchivedChatList.cjs +39 -0
- package/dist/cjs/apis/updateAutoDeleteChat.cjs +54 -0
- package/dist/cjs/apis/updateAutoReply.cjs +43 -0
- package/dist/cjs/apis/updateBankAccount.cjs +36 -0
- package/dist/cjs/apis/updateCatalog.cjs +35 -0
- package/dist/cjs/apis/updateGroupSettings.cjs +48 -0
- package/dist/cjs/apis/updateHiddenConversPin.cjs +35 -0
- package/dist/cjs/apis/updateLabels.cjs +39 -0
- package/dist/cjs/apis/updateLang.cjs +35 -0
- package/dist/cjs/apis/updateProductCatalog.cjs +56 -0
- package/dist/cjs/apis/updateProfile.cjs +48 -0
- package/dist/cjs/apis/updateProfileBio.cjs +32 -0
- package/dist/cjs/apis/updateQuickMessage.cjs +66 -0
- package/dist/cjs/apis/updateSettings.cjs +95 -0
- package/dist/cjs/apis/upgradeGroupToCommunity.cjs +32 -0
- package/dist/cjs/apis/uploadAttachment.cjs +211 -0
- package/dist/cjs/apis/uploadProductPhoto.cjs +55 -0
- package/dist/cjs/apis/votePoll.cjs +34 -0
- package/dist/cjs/apis.cjs +322 -0
- package/dist/cjs/context.cjs +34 -0
- package/dist/cjs/index.cjs +159 -0
- package/dist/cjs/models/AutoReply.cjs +9 -0
- package/dist/cjs/models/Bank.cjs +263 -0
- package/dist/cjs/models/Board.cjs +8 -0
- package/dist/cjs/models/DeliveredMessage.cjs +23 -0
- package/dist/cjs/models/Enum.cjs +27 -0
- package/dist/cjs/models/FriendEvent.cjs +87 -0
- package/dist/cjs/models/Group.cjs +13 -0
- package/dist/cjs/models/GroupEvent.cjs +94 -0
- package/dist/cjs/models/Message.cjs +35 -0
- package/dist/cjs/models/Reaction.cjs +74 -0
- package/dist/cjs/models/Reminder.cjs +9 -0
- package/dist/cjs/models/SeenMessage.cjs +23 -0
- package/dist/cjs/models/Typing.cjs +23 -0
- package/dist/cjs/models/Undo.cjs +16 -0
- package/dist/cjs/models/ZBusiness.cjs +39 -0
- package/dist/cjs/update.cjs +34 -0
- package/dist/cjs/utils.cjs +703 -0
- package/dist/cjs/zalo.cjs +112 -0
- package/dist/context.d.ts +179 -0
- package/dist/context.js +28 -0
- package/dist/index.d.ts +166 -0
- package/dist/index.js +14 -0
- package/dist/models/Attachment.d.ts +9 -0
- package/dist/models/Attachment.js +1 -0
- package/dist/models/AutoReply.d.ts +20 -0
- package/dist/models/AutoReply.js +7 -0
- package/dist/models/Bank.d.ts +291 -0
- package/dist/models/Bank.js +262 -0
- package/dist/models/Board.d.ts +60 -0
- package/dist/models/Board.js +6 -0
- package/dist/models/Catalog.d.ts +16 -0
- package/dist/models/Catalog.js +1 -0
- package/dist/models/DeliveredMessage.d.ts +27 -0
- package/dist/models/DeliveredMessage.js +17 -0
- package/dist/models/Enum.d.ts +21 -0
- package/dist/models/Enum.js +25 -0
- package/dist/models/FriendEvent.d.ts +107 -0
- package/dist/models/FriendEvent.js +83 -0
- package/dist/models/Group.d.ts +125 -0
- package/dist/models/Group.js +11 -0
- package/dist/models/GroupEvent.d.ts +178 -0
- package/dist/models/GroupEvent.js +90 -0
- package/dist/models/Label.d.ts +10 -0
- package/dist/models/Label.js +1 -0
- package/dist/models/Message.d.ts +91 -0
- package/dist/models/Message.js +29 -0
- package/dist/models/ProductCatalog.d.ts +17 -0
- package/dist/models/ProductCatalog.js +1 -0
- package/dist/models/QuickMessage.d.ts +25 -0
- package/dist/models/QuickMessage.js +1 -0
- package/dist/models/Reaction.d.ts +85 -0
- package/dist/models/Reaction.js +70 -0
- package/dist/models/Reminder.d.ts +51 -0
- package/dist/models/Reminder.js +7 -0
- package/dist/models/SeenMessage.d.ts +26 -0
- package/dist/models/SeenMessage.js +17 -0
- package/dist/models/Sticker.d.ts +27 -0
- package/dist/models/Sticker.js +1 -0
- package/dist/models/Typing.d.ts +24 -0
- package/dist/models/Typing.js +17 -0
- package/dist/models/Undo.d.ts +34 -0
- package/dist/models/Undo.js +12 -0
- package/dist/models/User.d.ts +70 -0
- package/dist/models/User.js +1 -0
- package/dist/models/ZBusiness.d.ts +22 -0
- package/dist/models/ZBusiness.js +35 -0
- package/dist/models/index.d.ts +22 -0
- package/dist/models/index.js +22 -0
- package/dist/update.d.ts +2 -0
- package/dist/update.js +29 -0
- package/dist/utils.d.ts +167 -0
- package/dist/utils.js +719 -0
- package/dist/zalo.d.ts +41 -0
- package/dist/zalo.js +107 -0
- package/index.d.ts +2 -0
- package/package.json +85 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const getSentFriendRequestFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.friend[0]}/api/friend/requested/list`);
|
|
5
|
+
/**
|
|
6
|
+
* Get friend requested
|
|
7
|
+
*
|
|
8
|
+
* @note Zalo might throw an error with code 112 if you have no friend requests.
|
|
9
|
+
*
|
|
10
|
+
* @throws {ZaloApiError}
|
|
11
|
+
*/
|
|
12
|
+
return async function getSentFriendRequest() {
|
|
13
|
+
const params = {
|
|
14
|
+
imei: ctx.imei,
|
|
15
|
+
};
|
|
16
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
17
|
+
if (!encryptedParams)
|
|
18
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
19
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
20
|
+
method: "GET",
|
|
21
|
+
});
|
|
22
|
+
return utils.resolve(response);
|
|
23
|
+
};
|
|
24
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const getSettingsFactory = apiFactory()((_api, _ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`https://wpa.chat.zalo.me/api/setting/me`);
|
|
5
|
+
/**
|
|
6
|
+
* Get my account settings
|
|
7
|
+
*
|
|
8
|
+
* @throws {ZaloApiError}
|
|
9
|
+
*/
|
|
10
|
+
return async function getSettings() {
|
|
11
|
+
const params = {};
|
|
12
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
13
|
+
if (!encryptedParams)
|
|
14
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
15
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
16
|
+
method: "GET",
|
|
17
|
+
});
|
|
18
|
+
return utils.resolve(response);
|
|
19
|
+
};
|
|
20
|
+
});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { StickerDetail } from "../models/index.js";
|
|
2
|
+
export type GetStickerCategoryDetailResponse = StickerDetail[];
|
|
3
|
+
export declare const getStickerCategoryDetailFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (cateId: number) => Promise<GetStickerCategoryDetailResponse>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const getStickerCategoryDetailFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.sticker[0]}/api/message/sticker/category/sticker_detail`);
|
|
5
|
+
/**
|
|
6
|
+
* Get sticker category detail
|
|
7
|
+
*
|
|
8
|
+
* @param cateId Sticker category ID
|
|
9
|
+
*
|
|
10
|
+
* @throws {ZaloApiError}
|
|
11
|
+
*/
|
|
12
|
+
return async function getStickerCategoryDetail(cateId) {
|
|
13
|
+
const params = {
|
|
14
|
+
cid: cateId,
|
|
15
|
+
};
|
|
16
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
17
|
+
if (!encryptedParams)
|
|
18
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
19
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
20
|
+
method: "GET",
|
|
21
|
+
});
|
|
22
|
+
return utils.resolve(response);
|
|
23
|
+
};
|
|
24
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getStickersFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (keyword: string) => Promise<number[]>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const getStickersFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.sticker}/api/message/sticker`);
|
|
5
|
+
/**
|
|
6
|
+
* Get stickers by keyword
|
|
7
|
+
*
|
|
8
|
+
* @param keyword Keyword to search for
|
|
9
|
+
* @returns Sticker IDs
|
|
10
|
+
*
|
|
11
|
+
* @throws {ZaloApiError}
|
|
12
|
+
*/
|
|
13
|
+
return async function getStickers(keyword) {
|
|
14
|
+
if (!keyword)
|
|
15
|
+
throw new ZaloApiError("Missing keyword");
|
|
16
|
+
const params = {
|
|
17
|
+
keyword: keyword,
|
|
18
|
+
gif: 1,
|
|
19
|
+
guggy: 0,
|
|
20
|
+
imei: ctx.imei,
|
|
21
|
+
};
|
|
22
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
23
|
+
if (!encryptedParams)
|
|
24
|
+
throw new ZaloApiError("Failed to encrypt message");
|
|
25
|
+
const finalServiceUrl = new URL(serviceURL);
|
|
26
|
+
finalServiceUrl.pathname = finalServiceUrl.pathname + "/suggest/stickers";
|
|
27
|
+
const response = await utils.request(utils.makeURL(finalServiceUrl.toString(), {
|
|
28
|
+
params: encryptedParams,
|
|
29
|
+
}));
|
|
30
|
+
return utils.resolve(response, (result) => {
|
|
31
|
+
const suggestions = result.data;
|
|
32
|
+
const stickerIds = [];
|
|
33
|
+
// @TODO: Implement these
|
|
34
|
+
// suggestions.sugg_guggy, suggestions.sugg_gif
|
|
35
|
+
if (suggestions.sugg_sticker)
|
|
36
|
+
suggestions.sugg_sticker.forEach((sticker) => stickerIds.push(sticker.sticker_id));
|
|
37
|
+
return stickerIds;
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { StickerDetail } from "../models/index.js";
|
|
2
|
+
export type StickerDetailResponse = StickerDetail[];
|
|
3
|
+
export declare const getStickersDetailFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (stickerIds: number | number[]) => Promise<StickerDetailResponse>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory, resolveResponse } from "../utils.js";
|
|
3
|
+
export const getStickersDetailFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.sticker}/api/message/sticker/sticker_detail`);
|
|
5
|
+
/**
|
|
6
|
+
* Get stickers detail by sticker IDs
|
|
7
|
+
*
|
|
8
|
+
* @param stickerIds Sticker IDs to search for
|
|
9
|
+
*
|
|
10
|
+
* @throws {ZaloApiError}
|
|
11
|
+
*/
|
|
12
|
+
return async function getStickersDetail(stickerIds) {
|
|
13
|
+
if (!stickerIds)
|
|
14
|
+
throw new ZaloApiError("Missing sticker id");
|
|
15
|
+
if (!Array.isArray(stickerIds))
|
|
16
|
+
stickerIds = [stickerIds];
|
|
17
|
+
if (stickerIds.length == 0)
|
|
18
|
+
throw new ZaloApiError("Missing sticker id");
|
|
19
|
+
const stickers = [];
|
|
20
|
+
const tasks = stickerIds.map((stickerId) => getStickerDetail(stickerId));
|
|
21
|
+
const tasksResult = await Promise.allSettled(tasks);
|
|
22
|
+
tasksResult.forEach((result) => {
|
|
23
|
+
if (result.status === "fulfilled")
|
|
24
|
+
stickers.push(result.value);
|
|
25
|
+
});
|
|
26
|
+
return stickers;
|
|
27
|
+
};
|
|
28
|
+
async function getStickerDetail(stickerId) {
|
|
29
|
+
const params = {
|
|
30
|
+
sid: stickerId,
|
|
31
|
+
};
|
|
32
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
33
|
+
if (!encryptedParams)
|
|
34
|
+
throw new ZaloApiError("Failed to encrypt message");
|
|
35
|
+
const response = await utils.request(utils.makeURL(serviceURL, {
|
|
36
|
+
params: encryptedParams,
|
|
37
|
+
}));
|
|
38
|
+
return resolveResponse(ctx, response);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type UnreadMark = {
|
|
2
|
+
id: number;
|
|
3
|
+
cliMsgId: number;
|
|
4
|
+
fromUid: number;
|
|
5
|
+
ts: number;
|
|
6
|
+
};
|
|
7
|
+
export type GetUnreadMarkResponse = {
|
|
8
|
+
data: {
|
|
9
|
+
convsGroup: UnreadMark[];
|
|
10
|
+
convsUser: UnreadMark[];
|
|
11
|
+
};
|
|
12
|
+
status: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const getUnreadMarkFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => () => Promise<GetUnreadMarkResponse>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const getUnreadMarkFactory = apiFactory()((api, _, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.conversation[0]}/api/conv/getUnreadMark`);
|
|
5
|
+
/**
|
|
6
|
+
* Get unread mark
|
|
7
|
+
*
|
|
8
|
+
* @throws {ZaloApiError}
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
return async function getUnreadMark() {
|
|
12
|
+
const params = {};
|
|
13
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
14
|
+
if (!encryptedParams)
|
|
15
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
16
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
17
|
+
method: "GET",
|
|
18
|
+
});
|
|
19
|
+
return utils.resolve(response, (result) => {
|
|
20
|
+
const data = result.data;
|
|
21
|
+
if (typeof data.data === "string") {
|
|
22
|
+
return {
|
|
23
|
+
data: JSON.parse(data.data),
|
|
24
|
+
status: data.status,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return data;
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AvatarSize, type UnchangedProfileInfo, type User } from "../models/index.js";
|
|
2
|
+
export type ProfileInfo = User;
|
|
3
|
+
export type UserInfoResponse = {
|
|
4
|
+
unchanged_profiles: Record<string, Partial<UnchangedProfileInfo>>;
|
|
5
|
+
phonebook_version: number;
|
|
6
|
+
changed_profiles: Record<string, ProfileInfo>;
|
|
7
|
+
};
|
|
8
|
+
export declare const getUserInfoFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (userId: string | string[], avatarSize?: AvatarSize) => Promise<UserInfoResponse>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
import { AvatarSize } from "../models/index.js";
|
|
4
|
+
export const getUserInfoFactory = apiFactory()((api, ctx, utils) => {
|
|
5
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/friend/getprofiles/v2`);
|
|
6
|
+
/**
|
|
7
|
+
* Get user info using user id
|
|
8
|
+
*
|
|
9
|
+
* @param userId User id(s)
|
|
10
|
+
* @param avatarSize Avatar size (default: AvatarSize.Small)
|
|
11
|
+
*
|
|
12
|
+
* @throws {ZaloApiError}
|
|
13
|
+
*/
|
|
14
|
+
return async function getUserInfo(userId, avatarSize = AvatarSize.Small) {
|
|
15
|
+
if (!userId)
|
|
16
|
+
throw new ZaloApiError("Missing user id");
|
|
17
|
+
if (!Array.isArray(userId))
|
|
18
|
+
userId = [userId];
|
|
19
|
+
userId = userId.map((id) => {
|
|
20
|
+
if (id.split("_").length > 1) {
|
|
21
|
+
return id;
|
|
22
|
+
}
|
|
23
|
+
return `${id}_0`;
|
|
24
|
+
});
|
|
25
|
+
const params = {
|
|
26
|
+
phonebook_version: ctx.extraVer.phonebook,
|
|
27
|
+
friend_pversion_map: userId,
|
|
28
|
+
avatar_size: avatarSize,
|
|
29
|
+
language: ctx.language,
|
|
30
|
+
show_online_status: 1,
|
|
31
|
+
imei: ctx.imei,
|
|
32
|
+
};
|
|
33
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
34
|
+
if (!encryptedParams)
|
|
35
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
36
|
+
const response = await utils.request(serviceURL, {
|
|
37
|
+
method: "POST",
|
|
38
|
+
body: new URLSearchParams({
|
|
39
|
+
params: encryptedParams,
|
|
40
|
+
}),
|
|
41
|
+
});
|
|
42
|
+
return utils.resolve(response);
|
|
43
|
+
};
|
|
44
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type InviteUserToGroupsResponse = {
|
|
2
|
+
grid_message_map: {
|
|
3
|
+
[groupId: string]: {
|
|
4
|
+
error_code: number;
|
|
5
|
+
error_message: string;
|
|
6
|
+
data: string | null;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export declare const inviteUserToGroupsFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (userId: string, groupId: string | string[]) => Promise<InviteUserToGroupsResponse>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const inviteUserToGroupsFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/invite/multi`);
|
|
5
|
+
/**
|
|
6
|
+
* Invite user to group
|
|
7
|
+
*
|
|
8
|
+
* @param groupId group ID(s)
|
|
9
|
+
* @param memberId member ID
|
|
10
|
+
*
|
|
11
|
+
* @throws {ZaloApiError}
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
return async function inviteUserToGroups(userId, groupId) {
|
|
15
|
+
const params = {
|
|
16
|
+
grids: Array.isArray(groupId) ? groupId : [groupId],
|
|
17
|
+
member: userId,
|
|
18
|
+
memberType: -1,
|
|
19
|
+
srcInteraction: 2,
|
|
20
|
+
clientLang: ctx.language,
|
|
21
|
+
};
|
|
22
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
23
|
+
if (!encryptedParams)
|
|
24
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
25
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
26
|
+
method: "GET",
|
|
27
|
+
});
|
|
28
|
+
return utils.resolve(response);
|
|
29
|
+
};
|
|
30
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const joinGroupInviteBoxFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/inv-box/join`);
|
|
5
|
+
/**
|
|
6
|
+
* Join group invite box
|
|
7
|
+
*
|
|
8
|
+
* @param groupId - The group id
|
|
9
|
+
*
|
|
10
|
+
* @throws {ZaloApiError}
|
|
11
|
+
*/
|
|
12
|
+
return async function joinGroupInviteBox(groupId) {
|
|
13
|
+
const params = {
|
|
14
|
+
grid: groupId,
|
|
15
|
+
lang: ctx.language,
|
|
16
|
+
};
|
|
17
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
18
|
+
if (!encryptedParams)
|
|
19
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
20
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
21
|
+
method: "GET",
|
|
22
|
+
});
|
|
23
|
+
return utils.resolve(response);
|
|
24
|
+
};
|
|
25
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const joinGroupLinkFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/link/join`);
|
|
5
|
+
/**
|
|
6
|
+
* Join group via invite link
|
|
7
|
+
*
|
|
8
|
+
* @note Zalo might throw an error with code 240 if the group enabled membership approval, 178 if you are already a member.
|
|
9
|
+
*
|
|
10
|
+
* @param link - The link join group
|
|
11
|
+
*
|
|
12
|
+
* @throws {ZaloApiError}
|
|
13
|
+
*/
|
|
14
|
+
return async function joinGroupLink(link) {
|
|
15
|
+
const params = {
|
|
16
|
+
link: link,
|
|
17
|
+
clientLang: ctx.language,
|
|
18
|
+
};
|
|
19
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
20
|
+
if (!encryptedParams)
|
|
21
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
22
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
23
|
+
method: "GET",
|
|
24
|
+
});
|
|
25
|
+
return utils.resolve(response);
|
|
26
|
+
};
|
|
27
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const keepAliveFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.chat[0]}/keepalive`);
|
|
5
|
+
/**
|
|
6
|
+
* Keep Alive?
|
|
7
|
+
*
|
|
8
|
+
* @throws {ZaloApiError}
|
|
9
|
+
*/
|
|
10
|
+
return async function keepAlive() {
|
|
11
|
+
const params = {
|
|
12
|
+
imei: ctx.imei,
|
|
13
|
+
};
|
|
14
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
15
|
+
if (!encryptedParams)
|
|
16
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
17
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
18
|
+
method: "GET",
|
|
19
|
+
});
|
|
20
|
+
return utils.resolve(response, undefined, false);
|
|
21
|
+
};
|
|
22
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type LastOnlineResponse = {
|
|
2
|
+
settings: {
|
|
3
|
+
show_online_status: boolean;
|
|
4
|
+
};
|
|
5
|
+
lastOnline: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const lastOnlineFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (uid: string) => Promise<LastOnlineResponse>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const lastOnlineFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.profile[0]}/api/social/profile/lastOnline`);
|
|
5
|
+
/**
|
|
6
|
+
* Get last online
|
|
7
|
+
*
|
|
8
|
+
* @param uid User ID
|
|
9
|
+
*
|
|
10
|
+
* @throws {ZaloApiError}
|
|
11
|
+
*/
|
|
12
|
+
return async function lastOnline(uid) {
|
|
13
|
+
const params = {
|
|
14
|
+
uid: uid,
|
|
15
|
+
conv_type: 1,
|
|
16
|
+
imei: ctx.imei,
|
|
17
|
+
};
|
|
18
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(params));
|
|
19
|
+
if (!encryptedParams)
|
|
20
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
21
|
+
const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
|
|
22
|
+
method: "GET",
|
|
23
|
+
});
|
|
24
|
+
return utils.resolve(response);
|
|
25
|
+
};
|
|
26
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ZaloApiError } from "../Errors/ZaloApiError.js";
|
|
2
|
+
import { apiFactory } from "../utils.js";
|
|
3
|
+
export const leaveGroupFactory = apiFactory()((api, ctx, utils) => {
|
|
4
|
+
const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/leave`);
|
|
5
|
+
/**
|
|
6
|
+
* Leave group
|
|
7
|
+
*
|
|
8
|
+
* @param groupId - groupId to leave
|
|
9
|
+
* @param silent - Turn on/off silent leave group
|
|
10
|
+
*
|
|
11
|
+
* @note Zalo might throw an error with code 166 if you are not a member of the group
|
|
12
|
+
*
|
|
13
|
+
* @throws {ZaloApiError}
|
|
14
|
+
*/
|
|
15
|
+
return async function leaveGroup(groupId, silent = false) {
|
|
16
|
+
const requestParams = {
|
|
17
|
+
grids: [groupId], // API only supports leaving one group at a time
|
|
18
|
+
imei: ctx.imei,
|
|
19
|
+
silent: silent ? 1 : 0,
|
|
20
|
+
language: ctx.language,
|
|
21
|
+
};
|
|
22
|
+
const encryptedParams = utils.encodeAES(JSON.stringify(requestParams));
|
|
23
|
+
if (!encryptedParams)
|
|
24
|
+
throw new ZaloApiError("Failed to encrypt params");
|
|
25
|
+
const response = await utils.request(serviceURL, {
|
|
26
|
+
method: "POST",
|
|
27
|
+
body: new URLSearchParams({
|
|
28
|
+
params: encryptedParams,
|
|
29
|
+
}),
|
|
30
|
+
});
|
|
31
|
+
return utils.resolve(response);
|
|
32
|
+
};
|
|
33
|
+
});
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import EventEmitter from "events";
|
|
2
|
+
import { type FriendEvent } from "../models/FriendEvent.js";
|
|
3
|
+
import { type GroupEvent } from "../models/GroupEvent.js";
|
|
4
|
+
import type { Message, Typing } from "../models/index.js";
|
|
5
|
+
import { Reaction, Undo, ThreadType } from "../models/index.js";
|
|
6
|
+
import type { ContextSession } from "../context.js";
|
|
7
|
+
import { type SeenMessage } from "../models/SeenMessage.js";
|
|
8
|
+
import { type DeliveredMessage } from "../models/DeliveredMessage.js";
|
|
9
|
+
type UploadEventData = {
|
|
10
|
+
fileUrl: string;
|
|
11
|
+
fileId: string;
|
|
12
|
+
};
|
|
13
|
+
export type WsPayload<T = Record<string, unknown>> = {
|
|
14
|
+
version: number;
|
|
15
|
+
cmd: number;
|
|
16
|
+
subCmd: number;
|
|
17
|
+
data: T;
|
|
18
|
+
};
|
|
19
|
+
export type OnMessageCallback = (message: Message) => unknown;
|
|
20
|
+
export type OnClosedCallback = (code: CloseReason, reason: string) => unknown;
|
|
21
|
+
export type OnErrorCallback = (error: unknown) => unknown;
|
|
22
|
+
export declare enum CloseReason {
|
|
23
|
+
ManualClosure = 1000,
|
|
24
|
+
AbnormalClosure = 1006,
|
|
25
|
+
DuplicateConnection = 3000,
|
|
26
|
+
KickConnection = 3003
|
|
27
|
+
}
|
|
28
|
+
interface ListenerEvents {
|
|
29
|
+
connected: [];
|
|
30
|
+
disconnected: [code: CloseReason, reason: string];
|
|
31
|
+
closed: [code: CloseReason, reason: string];
|
|
32
|
+
error: [error: unknown];
|
|
33
|
+
typing: [typing: Typing];
|
|
34
|
+
message: [message: Message];
|
|
35
|
+
old_messages: [messages: Message[], type: ThreadType];
|
|
36
|
+
seen_messages: [messages: SeenMessage[]];
|
|
37
|
+
delivered_messages: [messages: DeliveredMessage[]];
|
|
38
|
+
reaction: [reaction: Reaction];
|
|
39
|
+
old_reactions: [reactions: Reaction[], isGroup: boolean];
|
|
40
|
+
upload_attachment: [data: UploadEventData];
|
|
41
|
+
undo: [data: Undo];
|
|
42
|
+
friend_event: [data: FriendEvent];
|
|
43
|
+
group_event: [data: GroupEvent];
|
|
44
|
+
cipher_key: [key: string];
|
|
45
|
+
}
|
|
46
|
+
export declare class Listener extends EventEmitter<ListenerEvents> {
|
|
47
|
+
private ctx;
|
|
48
|
+
private urls;
|
|
49
|
+
private wsURL;
|
|
50
|
+
private cookie;
|
|
51
|
+
private userAgent;
|
|
52
|
+
private ws;
|
|
53
|
+
private retryCount;
|
|
54
|
+
private rotateCount;
|
|
55
|
+
private onConnectedCallback;
|
|
56
|
+
private onClosedCallback;
|
|
57
|
+
private onErrorCallback;
|
|
58
|
+
private onMessageCallback;
|
|
59
|
+
private cipherKey?;
|
|
60
|
+
private selfListen;
|
|
61
|
+
private pingInterval?;
|
|
62
|
+
private id;
|
|
63
|
+
constructor(ctx: ContextSession, urls: string[]);
|
|
64
|
+
/**
|
|
65
|
+
* @deprecated Use `on` method instead
|
|
66
|
+
*/
|
|
67
|
+
onConnected(cb: () => unknown): void;
|
|
68
|
+
/**
|
|
69
|
+
* @deprecated Use `on` method instead
|
|
70
|
+
*/
|
|
71
|
+
onClosed(cb: OnClosedCallback): void;
|
|
72
|
+
/**
|
|
73
|
+
* @deprecated Use `on` method instead
|
|
74
|
+
*/
|
|
75
|
+
onError(cb: OnErrorCallback): void;
|
|
76
|
+
/**
|
|
77
|
+
* @deprecated Use `on` method instead
|
|
78
|
+
*/
|
|
79
|
+
onMessage(cb: OnMessageCallback): void;
|
|
80
|
+
private canRetry;
|
|
81
|
+
private shouldRotate;
|
|
82
|
+
private rotateEndpoint;
|
|
83
|
+
start({ retryOnClose }?: {
|
|
84
|
+
retryOnClose?: boolean;
|
|
85
|
+
}): void;
|
|
86
|
+
stop(): void;
|
|
87
|
+
sendWs(payload: WsPayload, requireId?: boolean): void;
|
|
88
|
+
/**
|
|
89
|
+
* Request old messages
|
|
90
|
+
*
|
|
91
|
+
* @param lastMsgId
|
|
92
|
+
*/
|
|
93
|
+
requestOldMessages(threadType: ThreadType, lastMsgId?: string | null): void;
|
|
94
|
+
/**
|
|
95
|
+
* Request old messages
|
|
96
|
+
*
|
|
97
|
+
* @param lastMsgId
|
|
98
|
+
*/
|
|
99
|
+
requestOldReactions(threadType: ThreadType, lastMsgId?: string | null): void;
|
|
100
|
+
private reset;
|
|
101
|
+
}
|
|
102
|
+
export {};
|