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.
Files changed (404) hide show
  1. package/README.md +55 -0
  2. package/package.json +6 -1
  3. package/rubjs/client.d.ts +1 -0
  4. package/rubjs/client.js +1 -0
  5. package/rubjs/index.d.ts +5 -2
  6. package/rubjs/index.js +41 -1
  7. package/rubjs/methods/auth/index.d.ts +5 -4
  8. package/rubjs/methods/auth/index.js +9 -7
  9. package/rubjs/methods/auth/logout.d.ts +3 -0
  10. package/rubjs/methods/{utilities/on_chat_updates.js → auth/logout.js} +3 -3
  11. package/rubjs/methods/auth/registerDevice.d.ts +3 -0
  12. package/rubjs/methods/auth/{register_device.js → registerDevice.js} +2 -2
  13. package/rubjs/methods/auth/sendCode.d.ts +3 -0
  14. package/rubjs/methods/auth/{send_code.js → sendCode.js} +2 -2
  15. package/rubjs/methods/auth/signIn.d.ts +3 -0
  16. package/rubjs/methods/auth/{sign_in.js → signIn.js} +2 -2
  17. package/rubjs/methods/channels/addChannel.d.ts +3 -0
  18. package/rubjs/methods/channels/addChannel.js +26 -0
  19. package/rubjs/methods/channels/addChannelMembers.d.ts +3 -0
  20. package/rubjs/methods/channels/addChannelMembers.js +22 -0
  21. package/rubjs/methods/channels/banChannelMember.d.ts +3 -0
  22. package/rubjs/methods/channels/banChannelMember.js +23 -0
  23. package/rubjs/methods/channels/cancelChangeObjectOwner.d.ts +3 -0
  24. package/rubjs/methods/{utilities/on_show_activities.js → channels/cancelChangeObjectOwner.js} +3 -3
  25. package/rubjs/methods/channels/channelPreviewByJoinLink.d.ts +3 -0
  26. package/rubjs/methods/channels/channelPreviewByJoinLink.js +19 -0
  27. package/rubjs/methods/channels/checkChannelUsername.d.ts +3 -0
  28. package/rubjs/methods/{utilities/on_show_notifications.js → channels/checkChannelUsername.js} +4 -6
  29. package/rubjs/methods/channels/createChannelVoiceChat.d.ts +3 -0
  30. package/rubjs/methods/{utilities/on_message_updates.js → channels/createChannelVoiceChat.js} +3 -3
  31. package/rubjs/methods/channels/discardChannelVoiceChat.d.ts +3 -0
  32. package/rubjs/methods/channels/discardChannelVoiceChat.js +20 -0
  33. package/rubjs/methods/channels/editChannelInfo.d.ts +4 -0
  34. package/rubjs/methods/channels/editChannelInfo.js +48 -0
  35. package/rubjs/methods/channels/getBannedChannelMembers.d.ts +3 -0
  36. package/rubjs/methods/channels/getBannedChannelMembers.js +20 -0
  37. package/rubjs/methods/channels/getChannelAdminAccessList.d.ts +3 -0
  38. package/rubjs/methods/channels/getChannelAdminAccessList.js +20 -0
  39. package/rubjs/methods/channels/getChannelAdminMembers.d.ts +3 -0
  40. package/rubjs/methods/channels/getChannelAdminMembers.js +20 -0
  41. package/rubjs/methods/channels/getChannelAllMembers.d.ts +3 -0
  42. package/rubjs/methods/channels/getChannelAllMembers.js +21 -0
  43. package/rubjs/methods/channels/getChannelInfo.d.ts +3 -0
  44. package/rubjs/methods/channels/getChannelInfo.js +17 -0
  45. package/rubjs/methods/channels/getChannelLink.d.ts +3 -0
  46. package/rubjs/methods/channels/getChannelLink.js +17 -0
  47. package/rubjs/methods/channels/getPendingObjectOwner.d.ts +3 -0
  48. package/rubjs/methods/channels/getPendingObjectOwner.js +17 -0
  49. package/rubjs/methods/channels/index.d.ts +26 -0
  50. package/rubjs/methods/channels/index.js +56 -0
  51. package/rubjs/methods/channels/joinChannelAction.d.ts +3 -0
  52. package/rubjs/methods/channels/joinChannelAction.js +19 -0
  53. package/rubjs/methods/channels/joinChannelByLink.d.ts +3 -0
  54. package/rubjs/methods/channels/joinChannelByLink.js +19 -0
  55. package/rubjs/methods/channels/leaveChannelVoiceChat.d.ts +3 -0
  56. package/rubjs/methods/channels/leaveChannelVoiceChat.js +20 -0
  57. package/rubjs/methods/channels/removeChannel.d.ts +3 -0
  58. package/rubjs/methods/channels/removeChannel.js +17 -0
  59. package/rubjs/methods/channels/requestChangeObjectOwner.d.ts +3 -0
  60. package/rubjs/methods/channels/requestChangeObjectOwner.js +20 -0
  61. package/rubjs/methods/channels/seenChannelMessages.d.ts +3 -0
  62. package/rubjs/methods/channels/seenChannelMessages.js +21 -0
  63. package/rubjs/methods/channels/setChannelLink.d.ts +3 -0
  64. package/rubjs/methods/channels/setChannelLink.js +17 -0
  65. package/rubjs/methods/channels/setChannelVoiceChatSetting.d.ts +3 -0
  66. package/rubjs/methods/channels/setChannelVoiceChatSetting.js +26 -0
  67. package/rubjs/methods/channels/updateChannelUsername.d.ts +3 -0
  68. package/rubjs/methods/channels/updateChannelUsername.js +20 -0
  69. package/rubjs/methods/chats/actionOnJoinRequest.d.ts +3 -0
  70. package/rubjs/methods/chats/actionOnJoinRequest.js +22 -0
  71. package/rubjs/methods/chats/addLiveComment.d.ts +3 -0
  72. package/rubjs/methods/chats/addLiveComment.js +17 -0
  73. package/rubjs/methods/chats/clickMessageUrl.d.ts +3 -0
  74. package/rubjs/methods/chats/clickMessageUrl.js +17 -0
  75. package/rubjs/methods/chats/createJoinLink.d.ts +3 -0
  76. package/rubjs/methods/chats/createJoinLink.js +23 -0
  77. package/rubjs/methods/chats/deleteAvatar.d.ts +3 -0
  78. package/rubjs/methods/chats/deleteAvatar.js +17 -0
  79. package/rubjs/methods/chats/deleteChatHistory.d.ts +3 -0
  80. package/rubjs/methods/chats/deleteChatHistory.js +20 -0
  81. package/rubjs/methods/chats/editJoinLink.d.ts +3 -0
  82. package/rubjs/methods/chats/editJoinLink.js +34 -0
  83. package/rubjs/methods/chats/getAbsObjects.d.ts +3 -0
  84. package/rubjs/methods/chats/getAbsObjects.js +19 -0
  85. package/rubjs/methods/chats/getAvatars.d.ts +3 -0
  86. package/rubjs/methods/chats/getAvatars.js +17 -0
  87. package/rubjs/methods/chats/getChatReaction.d.ts +3 -0
  88. package/rubjs/methods/chats/getChatReaction.js +17 -0
  89. package/rubjs/methods/chats/getChats.d.ts +3 -0
  90. package/rubjs/methods/chats/getChats.js +17 -0
  91. package/rubjs/methods/chats/getChatsUpdates.d.ts +3 -0
  92. package/rubjs/methods/chats/getChatsUpdates.js +17 -0
  93. package/rubjs/methods/chats/getJoinLinks.d.ts +3 -0
  94. package/rubjs/methods/chats/getJoinLinks.js +17 -0
  95. package/rubjs/methods/chats/getJoinRequests.d.ts +3 -0
  96. package/rubjs/methods/chats/getJoinRequests.js +17 -0
  97. package/rubjs/methods/chats/getLinkFromAppUrl.d.ts +3 -0
  98. package/rubjs/methods/chats/getLinkFromAppUrl.js +17 -0
  99. package/rubjs/methods/chats/getLiveComments.d.ts +3 -0
  100. package/rubjs/methods/chats/getLiveComments.js +17 -0
  101. package/rubjs/methods/chats/getLivePlayUrl.d.ts +3 -0
  102. package/rubjs/methods/chats/getLivePlayUrl.js +17 -0
  103. package/rubjs/methods/chats/getLiveStatus.d.ts +3 -0
  104. package/rubjs/methods/chats/getLiveStatus.js +17 -0
  105. package/rubjs/methods/chats/getObjectInfoByUsername.d.ts +3 -0
  106. package/rubjs/methods/chats/getObjectInfoByUsername.js +19 -0
  107. package/rubjs/methods/chats/getTopChatUsers.d.ts +3 -0
  108. package/rubjs/methods/chats/getTopChatUsers.js +18 -0
  109. package/rubjs/methods/chats/index.d.ts +29 -0
  110. package/rubjs/methods/chats/index.js +62 -0
  111. package/rubjs/methods/chats/removeFromTopChatUsers.d.ts +3 -0
  112. package/rubjs/methods/chats/removeFromTopChatUsers.js +17 -0
  113. package/rubjs/methods/chats/removeJoinLink.d.ts +3 -0
  114. package/rubjs/methods/chats/removeJoinLink.js +19 -0
  115. package/rubjs/methods/chats/searchChatMessages.d.ts +3 -0
  116. package/rubjs/methods/chats/searchChatMessages.js +23 -0
  117. package/rubjs/methods/chats/searchGlobalMessages.d.ts +3 -0
  118. package/rubjs/methods/chats/searchGlobalMessages.js +17 -0
  119. package/rubjs/methods/chats/seenChats.d.ts +3 -0
  120. package/rubjs/methods/chats/seenChats.js +17 -0
  121. package/rubjs/methods/chats/sendChatActivity.d.ts +3 -0
  122. package/rubjs/methods/chats/sendChatActivity.js +19 -0
  123. package/rubjs/methods/chats/sendLive.d.ts +3 -0
  124. package/rubjs/methods/chats/sendLive.js +28 -0
  125. package/rubjs/methods/chats/setActionChat.d.ts +3 -0
  126. package/rubjs/methods/chats/setActionChat.js +19 -0
  127. package/rubjs/methods/chats/uploadAvatar.d.ts +3 -0
  128. package/rubjs/methods/chats/uploadAvatar.js +29 -0
  129. package/rubjs/methods/contacts/addAddressBook.d.ts +3 -0
  130. package/rubjs/methods/contacts/addAddressBook.js +17 -0
  131. package/rubjs/methods/contacts/deleteContact.d.ts +3 -0
  132. package/rubjs/methods/contacts/deleteContact.js +17 -0
  133. package/rubjs/methods/contacts/getContacts.d.ts +3 -0
  134. package/rubjs/methods/contacts/getContacts.js +17 -0
  135. package/rubjs/methods/contacts/getContactsLastOnline.d.ts +3 -0
  136. package/rubjs/methods/contacts/getContactsLastOnline.js +17 -0
  137. package/rubjs/methods/contacts/getContactsUpdates.d.ts +3 -0
  138. package/rubjs/methods/contacts/getContactsUpdates.js +17 -0
  139. package/rubjs/methods/contacts/index.d.ts +7 -0
  140. package/rubjs/methods/contacts/index.js +18 -0
  141. package/rubjs/methods/contacts/resetContacts.d.ts +3 -0
  142. package/rubjs/methods/contacts/resetContacts.js +18 -0
  143. package/rubjs/methods/extras/banMember.d.ts +3 -0
  144. package/rubjs/methods/extras/banMember.js +20 -0
  145. package/rubjs/methods/extras/getInfo.d.ts +3 -0
  146. package/rubjs/methods/extras/getInfo.js +26 -0
  147. package/rubjs/methods/extras/getObjectByUsername.d.ts +3 -0
  148. package/rubjs/methods/extras/getObjectByUsername.js +19 -0
  149. package/rubjs/methods/extras/getProfileLinkItems.d.ts +3 -0
  150. package/rubjs/methods/extras/getProfileLinkItems.js +17 -0
  151. package/rubjs/methods/extras/getRelatedObjects.d.ts +3 -0
  152. package/rubjs/methods/extras/getRelatedObjects.js +17 -0
  153. package/rubjs/methods/extras/getTranscription.d.ts +3 -0
  154. package/rubjs/methods/extras/getTranscription.js +20 -0
  155. package/rubjs/methods/extras/index.d.ts +13 -0
  156. package/rubjs/methods/extras/index.js +30 -0
  157. package/rubjs/methods/extras/join.d.ts +3 -0
  158. package/rubjs/methods/extras/join.js +22 -0
  159. package/rubjs/methods/extras/leaveChat.d.ts +3 -0
  160. package/rubjs/methods/extras/leaveChat.js +20 -0
  161. package/rubjs/methods/extras/reportObject.d.ts +14 -0
  162. package/rubjs/methods/extras/reportObject.js +32 -0
  163. package/rubjs/methods/extras/searchGlobalObjects.d.ts +3 -0
  164. package/rubjs/methods/extras/searchGlobalObjects.js +17 -0
  165. package/rubjs/methods/extras/transcribeVoice.d.ts +3 -0
  166. package/rubjs/methods/extras/transcribeVoice.js +17 -0
  167. package/rubjs/methods/extras/userIsAdmin.d.ts +3 -0
  168. package/rubjs/methods/extras/userIsAdmin.js +29 -0
  169. package/rubjs/methods/gif/addToMyGifSet.d.ts +3 -0
  170. package/rubjs/methods/gif/addToMyGifSet.js +17 -0
  171. package/rubjs/methods/gif/getMyGifSet.d.ts +3 -0
  172. package/rubjs/methods/gif/getMyGifSet.js +17 -0
  173. package/rubjs/methods/gif/index.d.ts +4 -0
  174. package/rubjs/methods/gif/index.js +12 -0
  175. package/rubjs/methods/gif/removeFromMyGifSet.d.ts +3 -0
  176. package/rubjs/methods/gif/removeFromMyGifSet.js +17 -0
  177. package/rubjs/methods/groups/addGroup.d.ts +3 -0
  178. package/rubjs/methods/groups/addGroup.js +19 -0
  179. package/rubjs/methods/groups/addGroupMembers.d.ts +3 -0
  180. package/rubjs/methods/groups/addGroupMembers.js +19 -0
  181. package/rubjs/methods/groups/banGroupMember.d.ts +3 -0
  182. package/rubjs/methods/groups/banGroupMember.js +23 -0
  183. package/rubjs/methods/groups/createGroupVoiceChat.d.ts +3 -0
  184. package/rubjs/methods/groups/createGroupVoiceChat.js +17 -0
  185. package/rubjs/methods/groups/deleteNoAccessGroupChat.d.ts +3 -0
  186. package/rubjs/methods/groups/deleteNoAccessGroupChat.js +17 -0
  187. package/rubjs/methods/groups/discardGroupVoiceChat.d.ts +3 -0
  188. package/rubjs/methods/groups/discardGroupVoiceChat.js +20 -0
  189. package/rubjs/methods/groups/editGroupInfo.d.ts +6 -0
  190. package/rubjs/methods/groups/editGroupInfo.js +51 -0
  191. package/rubjs/methods/groups/getBannedGroupMembers.d.ts +3 -0
  192. package/rubjs/methods/groups/getBannedGroupMembers.js +17 -0
  193. package/rubjs/methods/groups/getGroupAdminAccessList.d.ts +3 -0
  194. package/rubjs/methods/groups/getGroupAdminAccessList.js +20 -0
  195. package/rubjs/methods/groups/getGroupAdminMembers.d.ts +3 -0
  196. package/rubjs/methods/groups/getGroupAdminMembers.js +17 -0
  197. package/rubjs/methods/groups/getGroupAllMembers.d.ts +3 -0
  198. package/rubjs/methods/groups/getGroupAllMembers.js +21 -0
  199. package/rubjs/methods/groups/getGroupDefaultAccess.d.ts +3 -0
  200. package/rubjs/methods/groups/getGroupDefaultAccess.js +17 -0
  201. package/rubjs/methods/groups/getGroupInfo.d.ts +3 -0
  202. package/rubjs/methods/groups/getGroupInfo.js +17 -0
  203. package/rubjs/methods/groups/getGroupLink.d.ts +3 -0
  204. package/rubjs/methods/groups/getGroupLink.js +17 -0
  205. package/rubjs/methods/groups/getGroupMentionList.d.ts +3 -0
  206. package/rubjs/methods/groups/getGroupMentionList.js +20 -0
  207. package/rubjs/methods/groups/getGroupOnlineCount.d.ts +3 -0
  208. package/rubjs/methods/groups/getGroupOnlineCount.js +17 -0
  209. package/rubjs/methods/groups/getGroupVoiceChatUpdates.d.ts +3 -0
  210. package/rubjs/methods/groups/getGroupVoiceChatUpdates.js +21 -0
  211. package/rubjs/methods/groups/groupPreviewByJoinLink.d.ts +3 -0
  212. package/rubjs/methods/groups/groupPreviewByJoinLink.js +19 -0
  213. package/rubjs/methods/groups/index.d.ts +28 -0
  214. package/rubjs/methods/groups/index.js +60 -0
  215. package/rubjs/methods/groups/joinGroup.d.ts +3 -0
  216. package/rubjs/methods/groups/joinGroup.js +19 -0
  217. package/rubjs/methods/groups/leaveGroup.d.ts +3 -0
  218. package/rubjs/methods/groups/leaveGroup.js +17 -0
  219. package/rubjs/methods/groups/leaveGroupVoiceChat.d.ts +3 -0
  220. package/rubjs/methods/groups/leaveGroupVoiceChat.js +20 -0
  221. package/rubjs/methods/groups/removeGroup.d.ts +3 -0
  222. package/rubjs/methods/groups/removeGroup.js +17 -0
  223. package/rubjs/methods/groups/seenGroupMessages.d.ts +3 -0
  224. package/rubjs/methods/groups/seenGroupMessages.js +21 -0
  225. package/rubjs/methods/groups/setGroupAdmin.d.ts +5 -0
  226. package/rubjs/methods/groups/setGroupAdmin.js +26 -0
  227. package/rubjs/methods/groups/setGroupDefaultAccess.d.ts +4 -0
  228. package/rubjs/methods/groups/setGroupDefaultAccess.js +22 -0
  229. package/rubjs/methods/groups/setGroupLink.d.ts +3 -0
  230. package/rubjs/methods/groups/setGroupLink.js +17 -0
  231. package/rubjs/methods/groups/setGroupVoiceChatSetting.d.ts +3 -0
  232. package/rubjs/methods/groups/setGroupVoiceChatSetting.js +26 -0
  233. package/rubjs/methods/index.d.ts +181 -16
  234. package/rubjs/methods/index.js +907 -24
  235. package/rubjs/methods/messages/actionOnMessageReaction.d.ts +3 -0
  236. package/rubjs/methods/messages/actionOnMessageReaction.js +25 -0
  237. package/rubjs/methods/messages/createPoll.d.ts +3 -0
  238. package/rubjs/methods/messages/createPoll.js +35 -0
  239. package/rubjs/methods/messages/deleteMessages.d.ts +3 -0
  240. package/rubjs/methods/messages/deleteMessages.js +26 -0
  241. package/rubjs/methods/messages/editMessage.d.ts +3 -0
  242. package/rubjs/methods/messages/editMessage.js +23 -0
  243. package/rubjs/methods/messages/forwardMessages.d.ts +3 -0
  244. package/rubjs/methods/messages/forwardMessages.js +31 -0
  245. package/rubjs/methods/messages/getMessageShareUrl.d.ts +3 -0
  246. package/rubjs/methods/messages/getMessageShareUrl.js +17 -0
  247. package/rubjs/methods/messages/getMessages.d.ts +3 -0
  248. package/rubjs/methods/messages/getMessages.js +23 -0
  249. package/rubjs/methods/messages/getMessagesByID.d.ts +3 -0
  250. package/rubjs/methods/messages/getMessagesByID.js +22 -0
  251. package/rubjs/methods/messages/getMessagesInterval.d.ts +3 -0
  252. package/rubjs/methods/messages/getMessagesInterval.js +20 -0
  253. package/rubjs/methods/messages/getMessagesUpdates.d.ts +3 -0
  254. package/rubjs/methods/messages/getMessagesUpdates.js +17 -0
  255. package/rubjs/methods/messages/getPollOptionVoters.d.ts +3 -0
  256. package/rubjs/methods/messages/getPollOptionVoters.js +21 -0
  257. package/rubjs/methods/messages/getPollStatus.d.ts +3 -0
  258. package/rubjs/methods/messages/getPollStatus.js +17 -0
  259. package/rubjs/methods/messages/index.d.ts +26 -0
  260. package/rubjs/methods/messages/index.js +56 -0
  261. package/rubjs/methods/messages/requestSendFile.d.ts +4 -0
  262. package/rubjs/methods/messages/requestSendFile.js +22 -0
  263. package/rubjs/methods/messages/sendDocument.d.ts +3 -0
  264. package/rubjs/methods/messages/sendDocument.js +17 -0
  265. package/rubjs/methods/messages/sendGif.d.ts +3 -0
  266. package/rubjs/methods/messages/sendGif.js +17 -0
  267. package/rubjs/methods/messages/sendMessage.d.ts +3 -0
  268. package/rubjs/methods/messages/sendMessage.js +134 -0
  269. package/rubjs/methods/messages/sendMusic.d.ts +3 -0
  270. package/rubjs/methods/messages/sendMusic.js +17 -0
  271. package/rubjs/methods/messages/sendPhoto.d.ts +3 -0
  272. package/rubjs/methods/messages/sendPhoto.js +17 -0
  273. package/rubjs/methods/messages/sendSticker.d.ts +3 -0
  274. package/rubjs/methods/messages/sendSticker.js +17 -0
  275. package/rubjs/methods/messages/sendText.d.ts +3 -0
  276. package/rubjs/methods/messages/sendText.js +17 -0
  277. package/rubjs/methods/messages/sendVideo.d.ts +3 -0
  278. package/rubjs/methods/messages/sendVideo.js +17 -0
  279. package/rubjs/methods/messages/sendVideoMessage.d.ts +3 -0
  280. package/rubjs/methods/messages/sendVideoMessage.js +17 -0
  281. package/rubjs/methods/messages/sendVoice.d.ts +3 -0
  282. package/rubjs/methods/messages/sendVoice.js +17 -0
  283. package/rubjs/methods/messages/setPinMessage.d.ts +3 -0
  284. package/rubjs/methods/messages/setPinMessage.js +23 -0
  285. package/rubjs/methods/messages/votePoll.d.ts +3 -0
  286. package/rubjs/methods/messages/votePoll.js +17 -0
  287. package/rubjs/methods/settings/changePassword.d.ts +3 -0
  288. package/rubjs/methods/settings/changePassword.js +17 -0
  289. package/rubjs/methods/settings/checkTwoStepPasscode.d.ts +3 -0
  290. package/rubjs/methods/settings/checkTwoStepPasscode.js +17 -0
  291. package/rubjs/methods/settings/deleteFolder.d.ts +3 -0
  292. package/rubjs/methods/settings/deleteFolder.js +17 -0
  293. package/rubjs/methods/settings/getBlockedUsers.d.ts +3 -0
  294. package/rubjs/methods/settings/getBlockedUsers.js +17 -0
  295. package/rubjs/methods/settings/getFolders.d.ts +3 -0
  296. package/rubjs/methods/settings/getFolders.js +17 -0
  297. package/rubjs/methods/settings/getMySessions.d.ts +3 -0
  298. package/rubjs/methods/settings/getMySessions.js +17 -0
  299. package/rubjs/methods/settings/getPrivacySetting.d.ts +3 -0
  300. package/rubjs/methods/settings/getPrivacySetting.js +17 -0
  301. package/rubjs/methods/settings/getSuggestedFolders.d.ts +3 -0
  302. package/rubjs/methods/settings/getSuggestedFolders.js +17 -0
  303. package/rubjs/methods/settings/getTwoPasscodeStatus.d.ts +3 -0
  304. package/rubjs/methods/settings/getTwoPasscodeStatus.js +17 -0
  305. package/rubjs/methods/settings/index.d.ts +19 -0
  306. package/rubjs/methods/settings/index.js +42 -0
  307. package/rubjs/methods/settings/requestRecoveryEmail.d.ts +3 -0
  308. package/rubjs/methods/settings/requestRecoveryEmail.js +20 -0
  309. package/rubjs/methods/settings/setSetting.d.ts +5 -0
  310. package/rubjs/methods/settings/setSetting.js +50 -0
  311. package/rubjs/methods/settings/setupTwoStepVerification.d.ts +3 -0
  312. package/rubjs/methods/settings/setupTwoStepVerification.js +21 -0
  313. package/rubjs/methods/settings/terminateOtherSessions.d.ts +3 -0
  314. package/rubjs/methods/settings/terminateOtherSessions.js +18 -0
  315. package/rubjs/methods/settings/terminateSession.d.ts +3 -0
  316. package/rubjs/methods/settings/terminateSession.js +17 -0
  317. package/rubjs/methods/settings/turnOffTwoStep.d.ts +3 -0
  318. package/rubjs/methods/settings/turnOffTwoStep.js +18 -0
  319. package/rubjs/methods/settings/updateProfile.d.ts +3 -0
  320. package/rubjs/methods/settings/updateProfile.js +30 -0
  321. package/rubjs/methods/settings/updateUsername.d.ts +3 -0
  322. package/rubjs/methods/settings/updateUsername.js +17 -0
  323. package/rubjs/methods/settings/verifyRecoveryEmail.d.ts +3 -0
  324. package/rubjs/methods/settings/verifyRecoveryEmail.js +17 -0
  325. package/rubjs/methods/stickers/actionOnStickerSet.d.ts +3 -0
  326. package/rubjs/methods/stickers/actionOnStickerSet.js +19 -0
  327. package/rubjs/methods/stickers/getMyStickerSets.d.ts +3 -0
  328. package/rubjs/methods/stickers/getMyStickerSets.js +17 -0
  329. package/rubjs/methods/stickers/getStickerSetByID.d.ts +3 -0
  330. package/rubjs/methods/stickers/getStickerSetByID.js +17 -0
  331. package/rubjs/methods/stickers/getStickersByEmoji.d.ts +3 -0
  332. package/rubjs/methods/stickers/getStickersByEmoji.js +17 -0
  333. package/rubjs/methods/stickers/getStickersBySetIds.d.ts +3 -0
  334. package/rubjs/methods/stickers/getStickersBySetIds.js +19 -0
  335. package/rubjs/methods/stickers/getTrendStickerSets.d.ts +3 -0
  336. package/rubjs/methods/stickers/getTrendStickerSets.js +17 -0
  337. package/rubjs/methods/stickers/index.d.ts +8 -0
  338. package/rubjs/methods/stickers/index.js +20 -0
  339. package/rubjs/methods/stickers/searchStickers.d.ts +3 -0
  340. package/rubjs/methods/stickers/searchStickers.js +17 -0
  341. package/rubjs/methods/users/checkUserUsername.d.ts +3 -0
  342. package/rubjs/methods/users/checkUserUsername.js +17 -0
  343. package/rubjs/methods/users/deleteUserChat.d.ts +3 -0
  344. package/rubjs/methods/users/deleteUserChat.js +20 -0
  345. package/rubjs/methods/users/getMe.d.ts +3 -0
  346. package/rubjs/methods/users/getMe.js +17 -0
  347. package/rubjs/methods/users/getUserInfo.d.ts +4 -0
  348. package/rubjs/methods/users/{get_user_info.js → getUserInfo.js} +2 -2
  349. package/rubjs/methods/users/index.d.ts +6 -2
  350. package/rubjs/methods/users/index.js +11 -3
  351. package/rubjs/methods/users/setBlockUser.d.ts +3 -0
  352. package/rubjs/methods/users/setBlockUser.js +19 -0
  353. package/rubjs/methods/utilities/download.d.ts +3 -0
  354. package/rubjs/methods/utilities/download.js +17 -0
  355. package/rubjs/methods/utilities/downloadProfilePicture.d.ts +3 -0
  356. package/rubjs/methods/utilities/downloadProfilePicture.js +27 -0
  357. package/rubjs/methods/utilities/index.d.ts +5 -2
  358. package/rubjs/methods/utilities/index.js +9 -3
  359. package/rubjs/methods/utilities/run.js +8 -1
  360. package/rubjs/methods/utilities/start.js +7 -5
  361. package/rubjs/methods/utilities/thumbnail.d.ts +5 -0
  362. package/rubjs/methods/utilities/thumbnail.js +61 -0
  363. package/rubjs/network/index.d.ts +10 -2
  364. package/rubjs/network/index.js +122 -10
  365. package/rubjs/parser/index.d.ts +25 -0
  366. package/rubjs/parser/index.js +110 -0
  367. package/rubjs/session/index.js +1 -1
  368. package/rubjs/types/{sign_in.d.ts → auth.d.ts} +11 -1
  369. package/rubjs/types/chats.d.ts +79 -0
  370. package/rubjs/types/{message_update.d.ts → decorators.d.ts} +56 -0
  371. package/rubjs/types/groups.d.ts +129 -0
  372. package/rubjs/types/index.d.ts +8 -9
  373. package/rubjs/types/index.js +51 -0
  374. package/rubjs/types/message.d.ts +18 -0
  375. package/rubjs/types/message.js +31 -0
  376. package/rubjs/types/messages.d.ts +176 -0
  377. package/rubjs/types/{get_user_info.d.ts → users.d.ts} +1 -0
  378. package/rubjs/utils/filters.d.ts +28 -25
  379. package/rubjs/utils/filters.js +89 -38
  380. package/rubjs/utils/index.d.ts +2 -1
  381. package/rubjs/utils/index.js +3 -1
  382. package/rubjs/utils/utils.d.ts +10 -0
  383. package/rubjs/utils/utils.js +12 -0
  384. package/rubjs/methods/auth/register_device.d.ts +0 -3
  385. package/rubjs/methods/auth/send_code.d.ts +0 -4
  386. package/rubjs/methods/auth/sign_in.d.ts +0 -4
  387. package/rubjs/methods/users/get_user_info.d.ts +0 -4
  388. package/rubjs/methods/utilities/on_chat_updates.d.ts +0 -4
  389. package/rubjs/methods/utilities/on_message_updates.d.ts +0 -4
  390. package/rubjs/methods/utilities/on_show_activities.d.ts +0 -4
  391. package/rubjs/methods/utilities/on_show_notifications.d.ts +0 -4
  392. package/rubjs/types/chat_updates.d.ts +0 -26
  393. package/rubjs/types/filters_optiom.d.ts +0 -10
  394. package/rubjs/types/send_code.d.ts +0 -10
  395. package/rubjs/types/show_activities.d.ts +0 -7
  396. package/rubjs/types/show_notifications.d.ts +0 -14
  397. package/rubjs/types/show_notifications.js +0 -2
  398. package/rubjs/types/sign_in.js +0 -2
  399. /package/rubjs/types/{chat_updates.js → auth.js} +0 -0
  400. /package/rubjs/types/{filters_optiom.js → chats.js} +0 -0
  401. /package/rubjs/types/{get_user_info.js → decorators.js} +0 -0
  402. /package/rubjs/types/{message_update.js → groups.js} +0 -0
  403. /package/rubjs/types/{send_code.js → messages.js} +0 -0
  404. /package/rubjs/types/{show_activities.js → users.js} +0 -0
@@ -0,0 +1,3 @@
1
+ import Client from '../..';
2
+ declare function download(this: Client): Promise<any>;
3
+ export default download;
@@ -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,3 @@
1
+ import Client from "../..";
2
+ declare function downloadProfilePicture(this: Client, object_guid: string): Promise<Buffer | null>;
3
+ export default downloadProfilePicture;
@@ -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 start from "./start";
1
+ import download from "./download";
2
+ import downloadProfilePicture from "./downloadProfilePicture";
2
3
  import run from "./run";
3
- export { start, run, };
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.run = exports.start = void 0;
7
- const start_1 = __importDefault(require("./start"));
8
- exports.start = start_1.default;
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
- yield this.network.getUpdates();
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.get_user_info();
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.send_code(phone_number);
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.send_code((phone_number = phone_number), (pass_key = pass_key));
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.sign_in(phone_code, phone_number, result.phone_code_hash, publicKey);
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.register_device();
62
+ yield this.registerDevice();
62
63
  break;
63
64
  }
64
65
  }
66
+ this.initialize = true;
65
67
  }
66
68
  });
67
69
  }
@@ -0,0 +1,5 @@
1
+ declare class ThumbnailGenerator {
2
+ static fromVideo(videoPath: string): Promise<string>;
3
+ static fromImage(imagePath: string, width?: number): Promise<string>;
4
+ }
5
+ export default ThumbnailGenerator;
@@ -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;
@@ -9,8 +9,8 @@ declare class Network {
9
9
  };
10
10
  client: Client;
11
11
  session: Axios;
12
- api_url: null | string;
13
- wss_url: null | string;
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;
@@ -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.api_url = null;
45
- this.wss_url = null;
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.api_url = data.API[data.default_api] + "/";
58
- this.wss_url = data.socket[data.default_socket];
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.api_url)
127
+ if (!this.apiUrl)
92
128
  yield this.getDcs();
93
- let url = this.api_url;
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.wss_url)
150
+ if (!this.wssUrl)
115
151
  yield this.getDcs();
116
- this.ws = new ws_1.default(this.wss_url);
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) => __awaiter(this, void 0, void 0, function* () { return yield filter(messageData); }));
196
+ filters.every((filter) => filter(messageData));
197
+ const dataMessage = new types_1.Message(this.client, messageData);
161
198
  if (isValid) {
162
- yield callback(messageData);
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;
@@ -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 default SignIn;
39
+ export { SignIn, SendCode };
40
+ export default SendCode;