rubjs 1.0.0 → 2.2.3
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/README.md +55 -0
- package/package.json +6 -1
- package/rubjs/client.d.ts +1 -0
- package/rubjs/client.js +1 -0
- package/rubjs/index.d.ts +5 -2
- package/rubjs/index.js +41 -1
- package/rubjs/methods/auth/index.d.ts +5 -4
- package/rubjs/methods/auth/index.js +9 -7
- package/rubjs/methods/auth/logout.d.ts +3 -0
- package/rubjs/methods/{utilities/on_chat_updates.js → auth/logout.js} +3 -3
- package/rubjs/methods/auth/registerDevice.d.ts +3 -0
- package/rubjs/methods/auth/{register_device.js → registerDevice.js} +2 -2
- package/rubjs/methods/auth/sendCode.d.ts +3 -0
- package/rubjs/methods/auth/{send_code.js → sendCode.js} +2 -2
- package/rubjs/methods/auth/signIn.d.ts +3 -0
- package/rubjs/methods/auth/{sign_in.js → signIn.js} +2 -2
- package/rubjs/methods/channels/addChannel.d.ts +3 -0
- package/rubjs/methods/channels/addChannel.js +26 -0
- package/rubjs/methods/channels/addChannelMembers.d.ts +3 -0
- package/rubjs/methods/channels/addChannelMembers.js +22 -0
- package/rubjs/methods/channels/banChannelMember.d.ts +3 -0
- package/rubjs/methods/channels/banChannelMember.js +23 -0
- package/rubjs/methods/channels/cancelChangeObjectOwner.d.ts +3 -0
- package/rubjs/methods/{utilities/on_show_activities.js → channels/cancelChangeObjectOwner.js} +3 -3
- package/rubjs/methods/channels/channelPreviewByJoinLink.d.ts +3 -0
- package/rubjs/methods/channels/channelPreviewByJoinLink.js +19 -0
- package/rubjs/methods/channels/checkChannelUsername.d.ts +3 -0
- package/rubjs/methods/{utilities/on_show_notifications.js → channels/checkChannelUsername.js} +4 -6
- package/rubjs/methods/channels/createChannelVoiceChat.d.ts +3 -0
- package/rubjs/methods/{utilities/on_message_updates.js → channels/createChannelVoiceChat.js} +3 -3
- package/rubjs/methods/channels/discardChannelVoiceChat.d.ts +3 -0
- package/rubjs/methods/channels/discardChannelVoiceChat.js +20 -0
- package/rubjs/methods/channels/editChannelInfo.d.ts +4 -0
- package/rubjs/methods/channels/editChannelInfo.js +48 -0
- package/rubjs/methods/channels/getBannedChannelMembers.d.ts +3 -0
- package/rubjs/methods/channels/getBannedChannelMembers.js +20 -0
- package/rubjs/methods/channels/getChannelAdminAccessList.d.ts +3 -0
- package/rubjs/methods/channels/getChannelAdminAccessList.js +20 -0
- package/rubjs/methods/channels/getChannelAdminMembers.d.ts +3 -0
- package/rubjs/methods/channels/getChannelAdminMembers.js +20 -0
- package/rubjs/methods/channels/getChannelAllMembers.d.ts +3 -0
- package/rubjs/methods/channels/getChannelAllMembers.js +21 -0
- package/rubjs/methods/channels/getChannelInfo.d.ts +3 -0
- package/rubjs/methods/channels/getChannelInfo.js +17 -0
- package/rubjs/methods/channels/getChannelLink.d.ts +3 -0
- package/rubjs/methods/channels/getChannelLink.js +17 -0
- package/rubjs/methods/channels/getPendingObjectOwner.d.ts +3 -0
- package/rubjs/methods/channels/getPendingObjectOwner.js +17 -0
- package/rubjs/methods/channels/index.d.ts +26 -0
- package/rubjs/methods/channels/index.js +56 -0
- package/rubjs/methods/channels/joinChannelAction.d.ts +3 -0
- package/rubjs/methods/channels/joinChannelAction.js +19 -0
- package/rubjs/methods/channels/joinChannelByLink.d.ts +3 -0
- package/rubjs/methods/channels/joinChannelByLink.js +19 -0
- package/rubjs/methods/channels/leaveChannelVoiceChat.d.ts +3 -0
- package/rubjs/methods/channels/leaveChannelVoiceChat.js +20 -0
- package/rubjs/methods/channels/removeChannel.d.ts +3 -0
- package/rubjs/methods/channels/removeChannel.js +17 -0
- package/rubjs/methods/channels/requestChangeObjectOwner.d.ts +3 -0
- package/rubjs/methods/channels/requestChangeObjectOwner.js +20 -0
- package/rubjs/methods/channels/seenChannelMessages.d.ts +3 -0
- package/rubjs/methods/channels/seenChannelMessages.js +21 -0
- package/rubjs/methods/channels/setChannelLink.d.ts +3 -0
- package/rubjs/methods/channels/setChannelLink.js +17 -0
- package/rubjs/methods/channels/setChannelVoiceChatSetting.d.ts +3 -0
- package/rubjs/methods/channels/setChannelVoiceChatSetting.js +26 -0
- package/rubjs/methods/channels/updateChannelUsername.d.ts +3 -0
- package/rubjs/methods/channels/updateChannelUsername.js +20 -0
- package/rubjs/methods/chats/actionOnJoinRequest.d.ts +3 -0
- package/rubjs/methods/chats/actionOnJoinRequest.js +22 -0
- package/rubjs/methods/chats/addLiveComment.d.ts +3 -0
- package/rubjs/methods/chats/addLiveComment.js +17 -0
- package/rubjs/methods/chats/clickMessageUrl.d.ts +3 -0
- package/rubjs/methods/chats/clickMessageUrl.js +17 -0
- package/rubjs/methods/chats/createJoinLink.d.ts +3 -0
- package/rubjs/methods/chats/createJoinLink.js +23 -0
- package/rubjs/methods/chats/deleteAvatar.d.ts +3 -0
- package/rubjs/methods/chats/deleteAvatar.js +17 -0
- package/rubjs/methods/chats/deleteChatHistory.d.ts +3 -0
- package/rubjs/methods/chats/deleteChatHistory.js +20 -0
- package/rubjs/methods/chats/editJoinLink.d.ts +3 -0
- package/rubjs/methods/chats/editJoinLink.js +34 -0
- package/rubjs/methods/chats/getAbsObjects.d.ts +3 -0
- package/rubjs/methods/chats/getAbsObjects.js +19 -0
- package/rubjs/methods/chats/getAvatars.d.ts +3 -0
- package/rubjs/methods/chats/getAvatars.js +17 -0
- package/rubjs/methods/chats/getChatReaction.d.ts +3 -0
- package/rubjs/methods/chats/getChatReaction.js +17 -0
- package/rubjs/methods/chats/getChats.d.ts +3 -0
- package/rubjs/methods/chats/getChats.js +17 -0
- package/rubjs/methods/chats/getChatsUpdates.d.ts +3 -0
- package/rubjs/methods/chats/getChatsUpdates.js +17 -0
- package/rubjs/methods/chats/getJoinLinks.d.ts +3 -0
- package/rubjs/methods/chats/getJoinLinks.js +17 -0
- package/rubjs/methods/chats/getJoinRequests.d.ts +3 -0
- package/rubjs/methods/chats/getJoinRequests.js +17 -0
- package/rubjs/methods/chats/getLinkFromAppUrl.d.ts +3 -0
- package/rubjs/methods/chats/getLinkFromAppUrl.js +17 -0
- package/rubjs/methods/chats/getLiveComments.d.ts +3 -0
- package/rubjs/methods/chats/getLiveComments.js +17 -0
- package/rubjs/methods/chats/getLivePlayUrl.d.ts +3 -0
- package/rubjs/methods/chats/getLivePlayUrl.js +17 -0
- package/rubjs/methods/chats/getLiveStatus.d.ts +3 -0
- package/rubjs/methods/chats/getLiveStatus.js +17 -0
- package/rubjs/methods/chats/getObjectInfoByUsername.d.ts +3 -0
- package/rubjs/methods/chats/getObjectInfoByUsername.js +19 -0
- package/rubjs/methods/chats/getTopChatUsers.d.ts +3 -0
- package/rubjs/methods/chats/getTopChatUsers.js +18 -0
- package/rubjs/methods/chats/index.d.ts +29 -0
- package/rubjs/methods/chats/index.js +62 -0
- package/rubjs/methods/chats/removeFromTopChatUsers.d.ts +3 -0
- package/rubjs/methods/chats/removeFromTopChatUsers.js +17 -0
- package/rubjs/methods/chats/removeJoinLink.d.ts +3 -0
- package/rubjs/methods/chats/removeJoinLink.js +19 -0
- package/rubjs/methods/chats/searchChatMessages.d.ts +3 -0
- package/rubjs/methods/chats/searchChatMessages.js +23 -0
- package/rubjs/methods/chats/searchGlobalMessages.d.ts +3 -0
- package/rubjs/methods/chats/searchGlobalMessages.js +17 -0
- package/rubjs/methods/chats/seenChats.d.ts +3 -0
- package/rubjs/methods/chats/seenChats.js +17 -0
- package/rubjs/methods/chats/sendChatActivity.d.ts +3 -0
- package/rubjs/methods/chats/sendChatActivity.js +19 -0
- package/rubjs/methods/chats/sendLive.d.ts +3 -0
- package/rubjs/methods/chats/sendLive.js +28 -0
- package/rubjs/methods/chats/setActionChat.d.ts +3 -0
- package/rubjs/methods/chats/setActionChat.js +19 -0
- package/rubjs/methods/chats/uploadAvatar.d.ts +3 -0
- package/rubjs/methods/chats/uploadAvatar.js +29 -0
- package/rubjs/methods/contacts/addAddressBook.d.ts +3 -0
- package/rubjs/methods/contacts/addAddressBook.js +17 -0
- package/rubjs/methods/contacts/deleteContact.d.ts +3 -0
- package/rubjs/methods/contacts/deleteContact.js +17 -0
- package/rubjs/methods/contacts/getContacts.d.ts +3 -0
- package/rubjs/methods/contacts/getContacts.js +17 -0
- package/rubjs/methods/contacts/getContactsLastOnline.d.ts +3 -0
- package/rubjs/methods/contacts/getContactsLastOnline.js +17 -0
- package/rubjs/methods/contacts/getContactsUpdates.d.ts +3 -0
- package/rubjs/methods/contacts/getContactsUpdates.js +17 -0
- package/rubjs/methods/contacts/index.d.ts +7 -0
- package/rubjs/methods/contacts/index.js +18 -0
- package/rubjs/methods/contacts/resetContacts.d.ts +3 -0
- package/rubjs/methods/contacts/resetContacts.js +18 -0
- package/rubjs/methods/extras/banMember.d.ts +3 -0
- package/rubjs/methods/extras/banMember.js +20 -0
- package/rubjs/methods/extras/getInfo.d.ts +3 -0
- package/rubjs/methods/extras/getInfo.js +26 -0
- package/rubjs/methods/extras/getObjectByUsername.d.ts +3 -0
- package/rubjs/methods/extras/getObjectByUsername.js +19 -0
- package/rubjs/methods/extras/getProfileLinkItems.d.ts +3 -0
- package/rubjs/methods/extras/getProfileLinkItems.js +17 -0
- package/rubjs/methods/extras/getRelatedObjects.d.ts +3 -0
- package/rubjs/methods/extras/getRelatedObjects.js +17 -0
- package/rubjs/methods/extras/getTranscription.d.ts +3 -0
- package/rubjs/methods/extras/getTranscription.js +20 -0
- package/rubjs/methods/extras/index.d.ts +13 -0
- package/rubjs/methods/extras/index.js +30 -0
- package/rubjs/methods/extras/join.d.ts +3 -0
- package/rubjs/methods/extras/join.js +22 -0
- package/rubjs/methods/extras/leaveChat.d.ts +3 -0
- package/rubjs/methods/extras/leaveChat.js +20 -0
- package/rubjs/methods/extras/reportObject.d.ts +14 -0
- package/rubjs/methods/extras/reportObject.js +32 -0
- package/rubjs/methods/extras/searchGlobalObjects.d.ts +3 -0
- package/rubjs/methods/extras/searchGlobalObjects.js +17 -0
- package/rubjs/methods/extras/transcribeVoice.d.ts +3 -0
- package/rubjs/methods/extras/transcribeVoice.js +17 -0
- package/rubjs/methods/extras/userIsAdmin.d.ts +3 -0
- package/rubjs/methods/extras/userIsAdmin.js +29 -0
- package/rubjs/methods/gif/addToMyGifSet.d.ts +3 -0
- package/rubjs/methods/gif/addToMyGifSet.js +17 -0
- package/rubjs/methods/gif/getMyGifSet.d.ts +3 -0
- package/rubjs/methods/gif/getMyGifSet.js +17 -0
- package/rubjs/methods/gif/index.d.ts +4 -0
- package/rubjs/methods/gif/index.js +12 -0
- package/rubjs/methods/gif/removeFromMyGifSet.d.ts +3 -0
- package/rubjs/methods/gif/removeFromMyGifSet.js +17 -0
- package/rubjs/methods/groups/addGroup.d.ts +3 -0
- package/rubjs/methods/groups/addGroup.js +19 -0
- package/rubjs/methods/groups/addGroupMembers.d.ts +3 -0
- package/rubjs/methods/groups/addGroupMembers.js +19 -0
- package/rubjs/methods/groups/banGroupMember.d.ts +3 -0
- package/rubjs/methods/groups/banGroupMember.js +23 -0
- package/rubjs/methods/groups/createGroupVoiceChat.d.ts +3 -0
- package/rubjs/methods/groups/createGroupVoiceChat.js +17 -0
- package/rubjs/methods/groups/deleteNoAccessGroupChat.d.ts +3 -0
- package/rubjs/methods/groups/deleteNoAccessGroupChat.js +17 -0
- package/rubjs/methods/groups/discardGroupVoiceChat.d.ts +3 -0
- package/rubjs/methods/groups/discardGroupVoiceChat.js +20 -0
- package/rubjs/methods/groups/editGroupInfo.d.ts +6 -0
- package/rubjs/methods/groups/editGroupInfo.js +51 -0
- package/rubjs/methods/groups/getBannedGroupMembers.d.ts +3 -0
- package/rubjs/methods/groups/getBannedGroupMembers.js +17 -0
- package/rubjs/methods/groups/getGroupAdminAccessList.d.ts +3 -0
- package/rubjs/methods/groups/getGroupAdminAccessList.js +20 -0
- package/rubjs/methods/groups/getGroupAdminMembers.d.ts +3 -0
- package/rubjs/methods/groups/getGroupAdminMembers.js +17 -0
- package/rubjs/methods/groups/getGroupAllMembers.d.ts +3 -0
- package/rubjs/methods/groups/getGroupAllMembers.js +21 -0
- package/rubjs/methods/groups/getGroupDefaultAccess.d.ts +3 -0
- package/rubjs/methods/groups/getGroupDefaultAccess.js +17 -0
- package/rubjs/methods/groups/getGroupInfo.d.ts +3 -0
- package/rubjs/methods/groups/getGroupInfo.js +17 -0
- package/rubjs/methods/groups/getGroupLink.d.ts +3 -0
- package/rubjs/methods/groups/getGroupLink.js +17 -0
- package/rubjs/methods/groups/getGroupMentionList.d.ts +3 -0
- package/rubjs/methods/groups/getGroupMentionList.js +20 -0
- package/rubjs/methods/groups/getGroupOnlineCount.d.ts +3 -0
- package/rubjs/methods/groups/getGroupOnlineCount.js +17 -0
- package/rubjs/methods/groups/getGroupVoiceChatUpdates.d.ts +3 -0
- package/rubjs/methods/groups/getGroupVoiceChatUpdates.js +21 -0
- package/rubjs/methods/groups/groupPreviewByJoinLink.d.ts +3 -0
- package/rubjs/methods/groups/groupPreviewByJoinLink.js +19 -0
- package/rubjs/methods/groups/index.d.ts +28 -0
- package/rubjs/methods/groups/index.js +60 -0
- package/rubjs/methods/groups/joinGroup.d.ts +3 -0
- package/rubjs/methods/groups/joinGroup.js +19 -0
- package/rubjs/methods/groups/leaveGroup.d.ts +3 -0
- package/rubjs/methods/groups/leaveGroup.js +17 -0
- package/rubjs/methods/groups/leaveGroupVoiceChat.d.ts +3 -0
- package/rubjs/methods/groups/leaveGroupVoiceChat.js +20 -0
- package/rubjs/methods/groups/removeGroup.d.ts +3 -0
- package/rubjs/methods/groups/removeGroup.js +17 -0
- package/rubjs/methods/groups/seenGroupMessages.d.ts +3 -0
- package/rubjs/methods/groups/seenGroupMessages.js +21 -0
- package/rubjs/methods/groups/setGroupAdmin.d.ts +5 -0
- package/rubjs/methods/groups/setGroupAdmin.js +26 -0
- package/rubjs/methods/groups/setGroupDefaultAccess.d.ts +4 -0
- package/rubjs/methods/groups/setGroupDefaultAccess.js +22 -0
- package/rubjs/methods/groups/setGroupLink.d.ts +3 -0
- package/rubjs/methods/groups/setGroupLink.js +17 -0
- package/rubjs/methods/groups/setGroupVoiceChatSetting.d.ts +3 -0
- package/rubjs/methods/groups/setGroupVoiceChatSetting.js +26 -0
- package/rubjs/methods/index.d.ts +181 -16
- package/rubjs/methods/index.js +907 -24
- package/rubjs/methods/messages/actionOnMessageReaction.d.ts +3 -0
- package/rubjs/methods/messages/actionOnMessageReaction.js +25 -0
- package/rubjs/methods/messages/createPoll.d.ts +3 -0
- package/rubjs/methods/messages/createPoll.js +35 -0
- package/rubjs/methods/messages/deleteMessages.d.ts +3 -0
- package/rubjs/methods/messages/deleteMessages.js +26 -0
- package/rubjs/methods/messages/editMessage.d.ts +3 -0
- package/rubjs/methods/messages/editMessage.js +23 -0
- package/rubjs/methods/messages/forwardMessages.d.ts +3 -0
- package/rubjs/methods/messages/forwardMessages.js +31 -0
- package/rubjs/methods/messages/getMessageShareUrl.d.ts +3 -0
- package/rubjs/methods/messages/getMessageShareUrl.js +17 -0
- package/rubjs/methods/messages/getMessages.d.ts +3 -0
- package/rubjs/methods/messages/getMessages.js +23 -0
- package/rubjs/methods/messages/getMessagesByID.d.ts +3 -0
- package/rubjs/methods/messages/getMessagesByID.js +22 -0
- package/rubjs/methods/messages/getMessagesInterval.d.ts +3 -0
- package/rubjs/methods/messages/getMessagesInterval.js +20 -0
- package/rubjs/methods/messages/getMessagesUpdates.d.ts +3 -0
- package/rubjs/methods/messages/getMessagesUpdates.js +17 -0
- package/rubjs/methods/messages/getPollOptionVoters.d.ts +3 -0
- package/rubjs/methods/messages/getPollOptionVoters.js +21 -0
- package/rubjs/methods/messages/getPollStatus.d.ts +3 -0
- package/rubjs/methods/messages/getPollStatus.js +17 -0
- package/rubjs/methods/messages/index.d.ts +26 -0
- package/rubjs/methods/messages/index.js +56 -0
- package/rubjs/methods/messages/requestSendFile.d.ts +4 -0
- package/rubjs/methods/messages/requestSendFile.js +22 -0
- package/rubjs/methods/messages/sendDocument.d.ts +3 -0
- package/rubjs/methods/messages/sendDocument.js +17 -0
- package/rubjs/methods/messages/sendGif.d.ts +3 -0
- package/rubjs/methods/messages/sendGif.js +17 -0
- package/rubjs/methods/messages/sendMessage.d.ts +3 -0
- package/rubjs/methods/messages/sendMessage.js +134 -0
- package/rubjs/methods/messages/sendMusic.d.ts +3 -0
- package/rubjs/methods/messages/sendMusic.js +17 -0
- package/rubjs/methods/messages/sendPhoto.d.ts +3 -0
- package/rubjs/methods/messages/sendPhoto.js +17 -0
- package/rubjs/methods/messages/sendSticker.d.ts +3 -0
- package/rubjs/methods/messages/sendSticker.js +17 -0
- package/rubjs/methods/messages/sendText.d.ts +3 -0
- package/rubjs/methods/messages/sendText.js +17 -0
- package/rubjs/methods/messages/sendVideo.d.ts +3 -0
- package/rubjs/methods/messages/sendVideo.js +17 -0
- package/rubjs/methods/messages/sendVideoMessage.d.ts +3 -0
- package/rubjs/methods/messages/sendVideoMessage.js +17 -0
- package/rubjs/methods/messages/sendVoice.d.ts +3 -0
- package/rubjs/methods/messages/sendVoice.js +17 -0
- package/rubjs/methods/messages/setPinMessage.d.ts +3 -0
- package/rubjs/methods/messages/setPinMessage.js +23 -0
- package/rubjs/methods/messages/votePoll.d.ts +3 -0
- package/rubjs/methods/messages/votePoll.js +17 -0
- package/rubjs/methods/settings/changePassword.d.ts +3 -0
- package/rubjs/methods/settings/changePassword.js +17 -0
- package/rubjs/methods/settings/checkTwoStepPasscode.d.ts +3 -0
- package/rubjs/methods/settings/checkTwoStepPasscode.js +17 -0
- package/rubjs/methods/settings/deleteFolder.d.ts +3 -0
- package/rubjs/methods/settings/deleteFolder.js +17 -0
- package/rubjs/methods/settings/getBlockedUsers.d.ts +3 -0
- package/rubjs/methods/settings/getBlockedUsers.js +17 -0
- package/rubjs/methods/settings/getFolders.d.ts +3 -0
- package/rubjs/methods/settings/getFolders.js +17 -0
- package/rubjs/methods/settings/getMySessions.d.ts +3 -0
- package/rubjs/methods/settings/getMySessions.js +17 -0
- package/rubjs/methods/settings/getPrivacySetting.d.ts +3 -0
- package/rubjs/methods/settings/getPrivacySetting.js +17 -0
- package/rubjs/methods/settings/getSuggestedFolders.d.ts +3 -0
- package/rubjs/methods/settings/getSuggestedFolders.js +17 -0
- package/rubjs/methods/settings/getTwoPasscodeStatus.d.ts +3 -0
- package/rubjs/methods/settings/getTwoPasscodeStatus.js +17 -0
- package/rubjs/methods/settings/index.d.ts +19 -0
- package/rubjs/methods/settings/index.js +42 -0
- package/rubjs/methods/settings/requestRecoveryEmail.d.ts +3 -0
- package/rubjs/methods/settings/requestRecoveryEmail.js +20 -0
- package/rubjs/methods/settings/setSetting.d.ts +5 -0
- package/rubjs/methods/settings/setSetting.js +50 -0
- package/rubjs/methods/settings/setupTwoStepVerification.d.ts +3 -0
- package/rubjs/methods/settings/setupTwoStepVerification.js +21 -0
- package/rubjs/methods/settings/terminateOtherSessions.d.ts +3 -0
- package/rubjs/methods/settings/terminateOtherSessions.js +18 -0
- package/rubjs/methods/settings/terminateSession.d.ts +3 -0
- package/rubjs/methods/settings/terminateSession.js +17 -0
- package/rubjs/methods/settings/turnOffTwoStep.d.ts +3 -0
- package/rubjs/methods/settings/turnOffTwoStep.js +18 -0
- package/rubjs/methods/settings/updateProfile.d.ts +3 -0
- package/rubjs/methods/settings/updateProfile.js +30 -0
- package/rubjs/methods/settings/updateUsername.d.ts +3 -0
- package/rubjs/methods/settings/updateUsername.js +17 -0
- package/rubjs/methods/settings/verifyRecoveryEmail.d.ts +3 -0
- package/rubjs/methods/settings/verifyRecoveryEmail.js +17 -0
- package/rubjs/methods/stickers/actionOnStickerSet.d.ts +3 -0
- package/rubjs/methods/stickers/actionOnStickerSet.js +19 -0
- package/rubjs/methods/stickers/getMyStickerSets.d.ts +3 -0
- package/rubjs/methods/stickers/getMyStickerSets.js +17 -0
- package/rubjs/methods/stickers/getStickerSetByID.d.ts +3 -0
- package/rubjs/methods/stickers/getStickerSetByID.js +17 -0
- package/rubjs/methods/stickers/getStickersByEmoji.d.ts +3 -0
- package/rubjs/methods/stickers/getStickersByEmoji.js +17 -0
- package/rubjs/methods/stickers/getStickersBySetIds.d.ts +3 -0
- package/rubjs/methods/stickers/getStickersBySetIds.js +19 -0
- package/rubjs/methods/stickers/getTrendStickerSets.d.ts +3 -0
- package/rubjs/methods/stickers/getTrendStickerSets.js +17 -0
- package/rubjs/methods/stickers/index.d.ts +8 -0
- package/rubjs/methods/stickers/index.js +20 -0
- package/rubjs/methods/stickers/searchStickers.d.ts +3 -0
- package/rubjs/methods/stickers/searchStickers.js +17 -0
- package/rubjs/methods/users/checkUserUsername.d.ts +3 -0
- package/rubjs/methods/users/checkUserUsername.js +17 -0
- package/rubjs/methods/users/deleteUserChat.d.ts +3 -0
- package/rubjs/methods/users/deleteUserChat.js +20 -0
- package/rubjs/methods/users/getMe.d.ts +3 -0
- package/rubjs/methods/users/getMe.js +17 -0
- package/rubjs/methods/users/getUserInfo.d.ts +4 -0
- package/rubjs/methods/users/{get_user_info.js → getUserInfo.js} +2 -2
- package/rubjs/methods/users/index.d.ts +6 -2
- package/rubjs/methods/users/index.js +11 -3
- package/rubjs/methods/users/setBlockUser.d.ts +3 -0
- package/rubjs/methods/users/setBlockUser.js +19 -0
- package/rubjs/methods/utilities/download.d.ts +3 -0
- package/rubjs/methods/utilities/download.js +17 -0
- package/rubjs/methods/utilities/downloadProfilePicture.d.ts +3 -0
- package/rubjs/methods/utilities/downloadProfilePicture.js +27 -0
- package/rubjs/methods/utilities/index.d.ts +5 -2
- package/rubjs/methods/utilities/index.js +9 -3
- package/rubjs/methods/utilities/run.js +8 -1
- package/rubjs/methods/utilities/start.js +7 -5
- package/rubjs/methods/utilities/thumbnail.d.ts +5 -0
- package/rubjs/methods/utilities/thumbnail.js +61 -0
- package/rubjs/network/index.d.ts +10 -2
- package/rubjs/network/index.js +122 -10
- package/rubjs/parser/index.d.ts +25 -0
- package/rubjs/parser/index.js +110 -0
- package/rubjs/session/index.js +1 -1
- package/rubjs/types/{sign_in.d.ts → auth.d.ts} +11 -1
- package/rubjs/types/chats.d.ts +79 -0
- package/rubjs/types/{message_update.d.ts → decorators.d.ts} +56 -0
- package/rubjs/types/groups.d.ts +129 -0
- package/rubjs/types/index.d.ts +8 -9
- package/rubjs/types/index.js +51 -0
- package/rubjs/types/message.d.ts +18 -0
- package/rubjs/types/message.js +31 -0
- package/rubjs/types/messages.d.ts +176 -0
- package/rubjs/types/{get_user_info.d.ts → users.d.ts} +1 -0
- package/rubjs/utils/filters.d.ts +28 -25
- package/rubjs/utils/filters.js +89 -38
- package/rubjs/utils/index.d.ts +2 -1
- package/rubjs/utils/index.js +3 -1
- package/rubjs/utils/utils.d.ts +10 -0
- package/rubjs/utils/utils.js +12 -0
- package/rubjs/methods/auth/register_device.d.ts +0 -3
- package/rubjs/methods/auth/send_code.d.ts +0 -4
- package/rubjs/methods/auth/sign_in.d.ts +0 -4
- package/rubjs/methods/users/get_user_info.d.ts +0 -4
- package/rubjs/methods/utilities/on_chat_updates.d.ts +0 -4
- package/rubjs/methods/utilities/on_message_updates.d.ts +0 -4
- package/rubjs/methods/utilities/on_show_activities.d.ts +0 -4
- package/rubjs/methods/utilities/on_show_notifications.d.ts +0 -4
- package/rubjs/types/chat_updates.d.ts +0 -26
- package/rubjs/types/filters_optiom.d.ts +0 -10
- package/rubjs/types/send_code.d.ts +0 -10
- package/rubjs/types/show_activities.d.ts +0 -7
- package/rubjs/types/show_notifications.d.ts +0 -14
- package/rubjs/types/show_notifications.js +0 -2
- package/rubjs/types/sign_in.js +0 -2
- /package/rubjs/types/{chat_updates.js → auth.js} +0 -0
- /package/rubjs/types/{filters_optiom.js → chats.js} +0 -0
- /package/rubjs/types/{get_user_info.js → decorators.js} +0 -0
- /package/rubjs/types/{message_update.js → groups.js} +0 -0
- /package/rubjs/types/{send_code.js → messages.js} +0 -0
- /package/rubjs/types/{show_activities.js → users.js} +0 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
function download() {
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
14
|
+
return yield this.builder('download', {});
|
15
|
+
});
|
16
|
+
}
|
17
|
+
exports.default = download;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
function downloadProfilePicture(object_guid) {
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
14
|
+
let avatars = yield this.getAvatars(object_guid);
|
15
|
+
if (avatars) {
|
16
|
+
avatars = avatars.avatars[0].main;
|
17
|
+
const url = `https://messenger${avatars.dc_id}.iranlms.ir/InternFile.ashx`;
|
18
|
+
const response = yield this.network.session.get(url, {
|
19
|
+
params: { id: avatars.file_id, ach: avatars.access_hash_rec },
|
20
|
+
responseType: "arraybuffer",
|
21
|
+
});
|
22
|
+
if (response.status === 200)
|
23
|
+
return yield response.data;
|
24
|
+
}
|
25
|
+
});
|
26
|
+
}
|
27
|
+
exports.default = downloadProfilePicture;
|
@@ -1,3 +1,6 @@
|
|
1
|
-
import
|
1
|
+
import download from "./download";
|
2
|
+
import downloadProfilePicture from "./downloadProfilePicture";
|
2
3
|
import run from "./run";
|
3
|
-
|
4
|
+
import start from "./start";
|
5
|
+
import thumbnail from "./thumbnail";
|
6
|
+
export { download, downloadProfilePicture, run, start, thumbnail };
|
@@ -3,8 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.
|
7
|
-
const
|
8
|
-
exports.
|
6
|
+
exports.thumbnail = exports.start = exports.run = exports.downloadProfilePicture = exports.download = void 0;
|
7
|
+
const download_1 = __importDefault(require("./download"));
|
8
|
+
exports.download = download_1.default;
|
9
|
+
const downloadProfilePicture_1 = __importDefault(require("./downloadProfilePicture"));
|
10
|
+
exports.downloadProfilePicture = downloadProfilePicture_1.default;
|
9
11
|
const run_1 = __importDefault(require("./run"));
|
10
12
|
exports.run = run_1.default;
|
13
|
+
const start_1 = __importDefault(require("./start"));
|
14
|
+
exports.start = start_1.default;
|
15
|
+
const thumbnail_1 = __importDefault(require("./thumbnail"));
|
16
|
+
exports.thumbnail = thumbnail_1.default;
|
@@ -11,7 +11,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
function run() {
|
13
13
|
return __awaiter(this, void 0, void 0, function* () {
|
14
|
-
|
14
|
+
if (!this.initialize) {
|
15
|
+
let timeout = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
|
16
|
+
yield this.run();
|
17
|
+
clearTimeout(timeout);
|
18
|
+
}), 2000);
|
19
|
+
}
|
20
|
+
else
|
21
|
+
yield this.network.getUpdates();
|
15
22
|
});
|
16
23
|
}
|
17
24
|
exports.default = run;
|
@@ -19,8 +19,9 @@ function start() {
|
|
19
19
|
try {
|
20
20
|
this.key = Buffer.from(crypto_1.default.passphrase(this.auth), "utf8");
|
21
21
|
this.decode_auth = crypto_1.default.decode_auth(this.auth);
|
22
|
-
const result = yield this.
|
22
|
+
const result = yield this.getMe();
|
23
23
|
this.userGuid = result.user.user_guid;
|
24
|
+
this.initialize = true;
|
24
25
|
}
|
25
26
|
catch (error) {
|
26
27
|
if (this.auth)
|
@@ -38,11 +39,11 @@ function start() {
|
|
38
39
|
}
|
39
40
|
}
|
40
41
|
phone_number = `98${phone_number.slice(1)}`;
|
41
|
-
let result = yield this.
|
42
|
+
let result = yield this.sendCode(phone_number);
|
42
43
|
if (result.status == "SendPassKey") {
|
43
44
|
while (true) {
|
44
45
|
let pass_key = yield input_1.default.text(`Password [${result.hint_pass_key}] > `);
|
45
|
-
result = yield this.
|
46
|
+
result = yield this.sendCode((phone_number = phone_number), (pass_key = pass_key));
|
46
47
|
if (result.status == "OK")
|
47
48
|
break;
|
48
49
|
}
|
@@ -51,17 +52,18 @@ function start() {
|
|
51
52
|
this.privateKey = privateKey;
|
52
53
|
while (true) {
|
53
54
|
let phone_code = yield input_1.default.text("Code: ");
|
54
|
-
let response = yield this.
|
55
|
+
let response = yield this.signIn(phone_code, phone_number, result.phone_code_hash, publicKey);
|
55
56
|
if (response.status === "OK") {
|
56
57
|
response.auth = crypto_1.default.decrypt_RSA_OAEP(this.privateKey, response.auth);
|
57
58
|
this.key = Buffer.from(crypto_1.default.passphrase(response.auth), "utf8");
|
58
59
|
this.auth = response.auth;
|
59
60
|
this.decode_auth = crypto_1.default.decode_auth(this.auth);
|
60
61
|
this.sessionDb.saveSession(response.user.phone, this.auth, response.user.user_guid, this.userAgent, this.privateKey);
|
61
|
-
yield this.
|
62
|
+
yield this.registerDevice();
|
62
63
|
break;
|
63
64
|
}
|
64
65
|
}
|
66
|
+
this.initialize = true;
|
65
67
|
}
|
66
68
|
});
|
67
69
|
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
const fluent_ffmpeg_1 = __importDefault(require("fluent-ffmpeg"));
|
16
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
17
|
+
const path_1 = __importDefault(require("path"));
|
18
|
+
const os_1 = __importDefault(require("os"));
|
19
|
+
const sharp_1 = __importDefault(require("sharp"));
|
20
|
+
class ThumbnailGenerator {
|
21
|
+
static fromVideo(videoPath) {
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
23
|
+
const tempImagePath = path_1.default.join(os_1.default.tmpdir(), `thumbnail_${Date.now()}.png`);
|
24
|
+
try {
|
25
|
+
yield new Promise((resolve, reject) => {
|
26
|
+
(0, fluent_ffmpeg_1.default)(videoPath)
|
27
|
+
.on("end", () => resolve(undefined))
|
28
|
+
.on("error", reject)
|
29
|
+
.screenshots({
|
30
|
+
count: 1,
|
31
|
+
timemarks: ["00:00:00.000"],
|
32
|
+
filename: path_1.default.basename(tempImagePath),
|
33
|
+
folder: path_1.default.dirname(tempImagePath),
|
34
|
+
size: "320x?",
|
35
|
+
});
|
36
|
+
});
|
37
|
+
const thumbnailBuffer = yield promises_1.default.readFile(tempImagePath);
|
38
|
+
const base64Thumbnail = thumbnailBuffer.toString("base64");
|
39
|
+
yield promises_1.default.unlink(tempImagePath);
|
40
|
+
return base64Thumbnail;
|
41
|
+
}
|
42
|
+
catch (error) {
|
43
|
+
console.error("Error generating video thumbnail:", error);
|
44
|
+
throw error;
|
45
|
+
}
|
46
|
+
});
|
47
|
+
}
|
48
|
+
static fromImage(imagePath_1) {
|
49
|
+
return __awaiter(this, arguments, void 0, function* (imagePath, width = 320) {
|
50
|
+
try {
|
51
|
+
const buffer = yield (0, sharp_1.default)(imagePath).resize(width).toBuffer();
|
52
|
+
return buffer.toString("base64");
|
53
|
+
}
|
54
|
+
catch (error) {
|
55
|
+
console.error("Error generating image thumbnail:", error);
|
56
|
+
throw error;
|
57
|
+
}
|
58
|
+
});
|
59
|
+
}
|
60
|
+
}
|
61
|
+
exports.default = ThumbnailGenerator;
|
package/rubjs/network/index.d.ts
CHANGED
@@ -9,8 +9,8 @@ declare class Network {
|
|
9
9
|
};
|
10
10
|
client: Client;
|
11
11
|
session: Axios;
|
12
|
-
|
13
|
-
|
12
|
+
apiUrl: null | string;
|
13
|
+
wssUrl: null | string;
|
14
14
|
ws: WebSocket;
|
15
15
|
agent: https.Agent;
|
16
16
|
constructor(client: Client);
|
@@ -25,5 +25,13 @@ declare class Network {
|
|
25
25
|
handleConnect(): Promise<void>;
|
26
26
|
resetConnection(): Promise<void>;
|
27
27
|
handleMessage(message: string): Promise<void>;
|
28
|
+
uploadFile(file: Buffer<ArrayBufferLike> | string, mime?: string | null, fileName?: string | null, chunk?: number, callback?: any): Promise<{
|
29
|
+
mime: string;
|
30
|
+
size: number;
|
31
|
+
dc_id: string;
|
32
|
+
file_id: string;
|
33
|
+
file_name: string;
|
34
|
+
access_hash_rec: string;
|
35
|
+
}>;
|
28
36
|
}
|
29
37
|
export default Network;
|
package/rubjs/network/index.js
CHANGED
@@ -1,4 +1,37 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
19
|
+
var ownKeys = function(o) {
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
+
var ar = [];
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
+
return ar;
|
24
|
+
};
|
25
|
+
return ownKeys(o);
|
26
|
+
};
|
27
|
+
return function (mod) {
|
28
|
+
if (mod && mod.__esModule) return mod;
|
29
|
+
var result = {};
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
+
__setModuleDefault(result, mod);
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
})();
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -16,6 +49,9 @@ const axios_1 = __importDefault(require("axios"));
|
|
16
49
|
const ws_1 = __importDefault(require("ws"));
|
17
50
|
const crypto_1 = __importDefault(require("../crypto"));
|
18
51
|
const https_1 = __importDefault(require("https"));
|
52
|
+
const fs = __importStar(require("fs"));
|
53
|
+
const path = __importStar(require("path"));
|
54
|
+
const types_1 = require("../types");
|
19
55
|
class Network {
|
20
56
|
constructor(client) {
|
21
57
|
this.heartbeatInterval = null;
|
@@ -41,8 +77,8 @@ class Network {
|
|
41
77
|
httpsAgent: this.agent,
|
42
78
|
};
|
43
79
|
this.session = axios_1.default.create(axiosConfig);
|
44
|
-
this.
|
45
|
-
this.
|
80
|
+
this.apiUrl = null;
|
81
|
+
this.wssUrl = null;
|
46
82
|
this.ws = null;
|
47
83
|
}
|
48
84
|
getDcs() {
|
@@ -54,8 +90,8 @@ class Network {
|
|
54
90
|
});
|
55
91
|
if (response.status === 200) {
|
56
92
|
const data = response.data.data;
|
57
|
-
this.
|
58
|
-
this.
|
93
|
+
this.apiUrl = data.API[data.default_api] + "/";
|
94
|
+
this.wssUrl = data.socket[data.default_socket];
|
59
95
|
return true;
|
60
96
|
}
|
61
97
|
}
|
@@ -88,9 +124,9 @@ class Network {
|
|
88
124
|
let api_version = this.client.apiVersion;
|
89
125
|
let auth = this.client.auth;
|
90
126
|
let client = this.client.defaultPlatform;
|
91
|
-
if (!this.
|
127
|
+
if (!this.apiUrl)
|
92
128
|
yield this.getDcs();
|
93
|
-
let url = this.
|
129
|
+
let url = this.apiUrl;
|
94
130
|
let data = { api_version };
|
95
131
|
data[tmp_session ? "tmp_session" : "auth"] = tmp_session
|
96
132
|
? auth
|
@@ -111,9 +147,9 @@ class Network {
|
|
111
147
|
}
|
112
148
|
getUpdates() {
|
113
149
|
return __awaiter(this, void 0, void 0, function* () {
|
114
|
-
if (!this.
|
150
|
+
if (!this.wssUrl)
|
115
151
|
yield this.getDcs();
|
116
|
-
this.ws = new ws_1.default(this.
|
152
|
+
this.ws = new ws_1.default(this.wssUrl);
|
117
153
|
this.ws.on("open", () => __awaiter(this, void 0, void 0, function* () { return yield this.handleConnect(); }));
|
118
154
|
this.ws.on("message", (message) => __awaiter(this, void 0, void 0, function* () { return yield this.handleMessage(message); }));
|
119
155
|
this.ws.on("error", () => __awaiter(this, void 0, void 0, function* () { return yield this.resetConnection(); }));
|
@@ -157,9 +193,10 @@ class Network {
|
|
157
193
|
if (!messageData)
|
158
194
|
return;
|
159
195
|
const isValid = filters.length === 0 ||
|
160
|
-
filters.every((filter) =>
|
196
|
+
filters.every((filter) => filter(messageData));
|
197
|
+
const dataMessage = new types_1.Message(this.client, messageData);
|
161
198
|
if (isValid) {
|
162
|
-
yield callback(
|
199
|
+
yield callback(dataMessage);
|
163
200
|
}
|
164
201
|
}));
|
165
202
|
}
|
@@ -168,5 +205,80 @@ class Network {
|
|
168
205
|
}
|
169
206
|
});
|
170
207
|
}
|
208
|
+
uploadFile(file_1) {
|
209
|
+
return __awaiter(this, arguments, void 0, function* (file, mime = null, fileName = null, chunk = 1048576, callback = null) {
|
210
|
+
if (typeof file === "string") {
|
211
|
+
if (!fs.existsSync(file))
|
212
|
+
throw new Error("File not found in the given path");
|
213
|
+
if (!fileName)
|
214
|
+
fileName = path.basename(file);
|
215
|
+
file = yield fs.promises.readFile(file);
|
216
|
+
}
|
217
|
+
else if (!Buffer.isBuffer(file))
|
218
|
+
throw new TypeError("File argument must be a file path or bytes");
|
219
|
+
if (!fileName)
|
220
|
+
throw new Error("File name is not set");
|
221
|
+
if (!mime)
|
222
|
+
mime = fileName.split(".").pop() || "";
|
223
|
+
let result = yield this.client.requestSendFile(fileName, file.length, mime);
|
224
|
+
let response;
|
225
|
+
let id = result.id;
|
226
|
+
let index = 0;
|
227
|
+
let dc_id = result.dc_id;
|
228
|
+
let total = Math.ceil(file.length / chunk);
|
229
|
+
let upload_url = result.upload_url;
|
230
|
+
let access_hash_send = result.access_hash_send;
|
231
|
+
while (index < total) {
|
232
|
+
let data = file.slice(index * chunk, index * chunk + chunk);
|
233
|
+
try {
|
234
|
+
response = yield this.session.post(upload_url, data, {
|
235
|
+
headers: {
|
236
|
+
auth: this.client.auth,
|
237
|
+
"file-id": id,
|
238
|
+
"total-part": total.toString(),
|
239
|
+
"part-number": (index + 1).toString(),
|
240
|
+
"chunk-size": data.length.toString(),
|
241
|
+
"access-hash-send": access_hash_send,
|
242
|
+
},
|
243
|
+
});
|
244
|
+
if (response.data.status === "ERROR_TRY_AGAIN") {
|
245
|
+
console.log("Retrying upload...");
|
246
|
+
result = yield this.client.requestSendFile(fileName, file.length, mime);
|
247
|
+
id = result.id;
|
248
|
+
index = 0;
|
249
|
+
dc_id = result.dc_id;
|
250
|
+
total = Math.ceil(file.length / chunk);
|
251
|
+
upload_url = result.upload_url;
|
252
|
+
access_hash_send = result.access_hash_send;
|
253
|
+
continue;
|
254
|
+
}
|
255
|
+
if (callback) {
|
256
|
+
try {
|
257
|
+
callback(file.length, index * chunk);
|
258
|
+
}
|
259
|
+
catch (err) {
|
260
|
+
console.error("Callback error:", err);
|
261
|
+
}
|
262
|
+
}
|
263
|
+
index++;
|
264
|
+
}
|
265
|
+
catch (error) {
|
266
|
+
console.error("Upload error:", error);
|
267
|
+
yield new Promise((resolve) => setTimeout(resolve, 5000));
|
268
|
+
}
|
269
|
+
if (response.data.status === "OK" && response.data.status_det === "OK") {
|
270
|
+
return {
|
271
|
+
mime,
|
272
|
+
size: file.length,
|
273
|
+
dc_id,
|
274
|
+
file_id: id,
|
275
|
+
file_name: fileName,
|
276
|
+
access_hash_rec: response.data.data.access_hash_rec,
|
277
|
+
};
|
278
|
+
}
|
279
|
+
throw new Error(response.data.status_det);
|
280
|
+
}
|
281
|
+
});
|
282
|
+
}
|
171
283
|
}
|
172
284
|
exports.default = Network;
|
@@ -0,0 +1,25 @@
|
|
1
|
+
type MarkdownEntity = {
|
2
|
+
type: string;
|
3
|
+
from_index: number;
|
4
|
+
length: number;
|
5
|
+
language?: string;
|
6
|
+
mention_text_object_guid?: string;
|
7
|
+
mention_text_object_type?: string;
|
8
|
+
link?: {
|
9
|
+
type: string;
|
10
|
+
hyperlink_data: {
|
11
|
+
url: string;
|
12
|
+
};
|
13
|
+
};
|
14
|
+
};
|
15
|
+
declare class Markdown {
|
16
|
+
static markdownRegExp: RegExp;
|
17
|
+
static markdownEntities: Record<string, string>;
|
18
|
+
static toMetadata(text: string): {
|
19
|
+
text: string;
|
20
|
+
metadata?: {
|
21
|
+
meta_data_parts: MarkdownEntity[];
|
22
|
+
};
|
23
|
+
};
|
24
|
+
}
|
25
|
+
export default Markdown;
|
@@ -0,0 +1,110 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
class Markdown {
|
4
|
+
static toMetadata(text) {
|
5
|
+
let entities = [];
|
6
|
+
let match;
|
7
|
+
let remainingText = text;
|
8
|
+
let parsedTextParts = [];
|
9
|
+
let offset = 0;
|
10
|
+
while ((match = remainingText.match(this.markdownRegExp))) {
|
11
|
+
const matchIndex = offset + (match.index || 0);
|
12
|
+
parsedTextParts.push(remainingText.substring(0, match.index));
|
13
|
+
let matchedContent = match[3] || match[8] || match[11] || match[13];
|
14
|
+
if (matchedContent) {
|
15
|
+
offset -= matchedContent.length;
|
16
|
+
matchedContent = matchedContent.trim();
|
17
|
+
offset += matchedContent.length;
|
18
|
+
if (/^`*$/.test(matchedContent)) {
|
19
|
+
parsedTextParts.push(match[0]);
|
20
|
+
}
|
21
|
+
else if (match[3]) {
|
22
|
+
if (match[5] === "\n") {
|
23
|
+
match[5] = "";
|
24
|
+
offset -= 1;
|
25
|
+
}
|
26
|
+
parsedTextParts.push(match[1] + matchedContent + match[5]);
|
27
|
+
entities.push({
|
28
|
+
type: "Pre",
|
29
|
+
language: "",
|
30
|
+
from_index: matchIndex + match[1].length,
|
31
|
+
length: matchedContent.length,
|
32
|
+
});
|
33
|
+
offset -= match[2].length + match[4].length;
|
34
|
+
}
|
35
|
+
else if (match[7]) {
|
36
|
+
parsedTextParts.push(match[6] + matchedContent + match[9]);
|
37
|
+
entities.push({
|
38
|
+
type: this.markdownEntities[match[7]],
|
39
|
+
from_index: matchIndex + match[6].length,
|
40
|
+
length: matchedContent.length,
|
41
|
+
});
|
42
|
+
offset -= 2 * match[7].length;
|
43
|
+
}
|
44
|
+
else if (match[11]) {
|
45
|
+
parsedTextParts.push(matchedContent);
|
46
|
+
entities.push({
|
47
|
+
type: "MentionText",
|
48
|
+
mention_text_object_guid: match[10],
|
49
|
+
from_index: matchIndex,
|
50
|
+
length: matchedContent.length,
|
51
|
+
mention_text_object_type: "User",
|
52
|
+
});
|
53
|
+
offset -= match[0].length - matchedContent.length;
|
54
|
+
}
|
55
|
+
else if (match[12]) {
|
56
|
+
const [label, url] = [match[12], match[13]];
|
57
|
+
let mentionType;
|
58
|
+
if (url.length === 32) {
|
59
|
+
if (url.startsWith("u"))
|
60
|
+
mentionType = "User";
|
61
|
+
else if (url.startsWith("g"))
|
62
|
+
mentionType = "Group";
|
63
|
+
else if (url.startsWith("c"))
|
64
|
+
mentionType = "Channel";
|
65
|
+
}
|
66
|
+
parsedTextParts.push(label);
|
67
|
+
const metaDataPart = {
|
68
|
+
type: mentionType ? "MentionText" : "Link",
|
69
|
+
from_index: matchIndex,
|
70
|
+
length: label.length,
|
71
|
+
};
|
72
|
+
if (mentionType) {
|
73
|
+
metaDataPart.mention_text_object_guid = url;
|
74
|
+
metaDataPart.mention_text_object_type = mentionType;
|
75
|
+
}
|
76
|
+
else {
|
77
|
+
metaDataPart.link = { type: "hyperlink", hyperlink_data: { url } };
|
78
|
+
}
|
79
|
+
entities.push(metaDataPart);
|
80
|
+
offset -= match[0].length - label.length;
|
81
|
+
}
|
82
|
+
remainingText = remainingText.substring(match.index + match[0].length);
|
83
|
+
offset += match.index + match[0].length;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
parsedTextParts.push(remainingText);
|
87
|
+
let resultText = parsedTextParts.join("");
|
88
|
+
if (!resultText.replace(/\s+/g, "").length) {
|
89
|
+
resultText = text;
|
90
|
+
entities.splice(0, entities.length);
|
91
|
+
}
|
92
|
+
if (!entities.length) {
|
93
|
+
resultText = resultText.trim();
|
94
|
+
}
|
95
|
+
return {
|
96
|
+
text: resultText,
|
97
|
+
metadata: { meta_data_parts: entities },
|
98
|
+
};
|
99
|
+
}
|
100
|
+
}
|
101
|
+
Markdown.markdownRegExp = /(^|\s|\n)(````?)([\s\S]+?)(````?)([\s\n\.,:?!;]|$)|(^|\s)(`|\*\*|__|~~|--|\|\|)([^\n]+?)\7([\s\.,:?!;]|$)|@([a-zA-Z0-9]+)\s*\((.+?)\)|\[(.+?)\]\((.+?)\)/m;
|
102
|
+
Markdown.markdownEntities = {
|
103
|
+
"`": "Mono",
|
104
|
+
"**": "Bold",
|
105
|
+
__: "Italic",
|
106
|
+
"||": "Spoiler",
|
107
|
+
"~~": "Strike",
|
108
|
+
"--": "Underline",
|
109
|
+
};
|
110
|
+
exports.default = Markdown;
|
package/rubjs/session/index.js
CHANGED
@@ -8,7 +8,6 @@ class SQLiteSession {
|
|
8
8
|
constructor(sessionName) {
|
9
9
|
this.dbFile = sessionName.endsWith(".rp") ? sessionName : `${sessionName}.rp`;
|
10
10
|
this.db = new better_sqlite3_1.default(this.dbFile);
|
11
|
-
this.db.pragma("journal_mode = WAL");
|
12
11
|
this.initializeDB();
|
13
12
|
}
|
14
13
|
handleError(operation, callback) {
|
@@ -22,6 +21,7 @@ class SQLiteSession {
|
|
22
21
|
}
|
23
22
|
initializeDB() {
|
24
23
|
this.handleError("initializeDB", () => {
|
24
|
+
this.db.pragma("journal_mode = DELETE");
|
25
25
|
const sessionTable = this.db
|
26
26
|
.prepare("SELECT name FROM sqlite_master WHERE type=? AND name=?")
|
27
27
|
.get("table", "session");
|
@@ -1,3 +1,12 @@
|
|
1
|
+
interface SendCode {
|
2
|
+
phone_code_hash: string;
|
3
|
+
status: string;
|
4
|
+
code_digits_count: number;
|
5
|
+
has_confirmed_recovery_email: boolean;
|
6
|
+
no_recovery_alert: string;
|
7
|
+
send_type: string;
|
8
|
+
hint_pass_key: string;
|
9
|
+
}
|
1
10
|
interface AvatarThumbnail {
|
2
11
|
file_id: string;
|
3
12
|
mime: string;
|
@@ -27,4 +36,5 @@ interface SignIn {
|
|
27
36
|
user: User;
|
28
37
|
timestamp: number;
|
29
38
|
}
|
30
|
-
export
|
39
|
+
export { SignIn, SendCode };
|
40
|
+
export default SendCode;
|