@mtcute/core 0.12.2 → 0.13.0

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 (151) hide show
  1. package/cjs/highlevel/client.d.ts +83 -2
  2. package/cjs/highlevel/client.js +20 -1
  3. package/cjs/highlevel/client.js.map +1 -1
  4. package/cjs/highlevel/methods/_imports.js.map +1 -1
  5. package/cjs/highlevel/methods/_init.js +1 -1
  6. package/cjs/highlevel/methods/_init.js.map +1 -1
  7. package/cjs/highlevel/methods/bots/get-callback-answer.d.ts +11 -0
  8. package/cjs/highlevel/methods/bots/get-callback-answer.js +10 -2
  9. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  10. package/cjs/highlevel/methods/chats/archive-chats.js +2 -1
  11. package/cjs/highlevel/methods/chats/archive-chats.js.map +1 -1
  12. package/cjs/highlevel/methods/dialogs/find-dialogs.d.ts +12 -0
  13. package/cjs/highlevel/methods/dialogs/find-dialogs.js +88 -0
  14. package/cjs/highlevel/methods/dialogs/find-dialogs.js.map +1 -0
  15. package/cjs/highlevel/methods/dialogs/get-peer-dialogs.js +2 -1
  16. package/cjs/highlevel/methods/dialogs/get-peer-dialogs.js.map +1 -1
  17. package/cjs/highlevel/methods/dialogs/iter-dialogs.js +3 -1
  18. package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  19. package/cjs/highlevel/methods/messages/_business-connection.d.ts +2 -1
  20. package/cjs/highlevel/methods/messages/_business-connection.js.map +1 -1
  21. package/cjs/highlevel/methods/messages/get-available-effects.d.ts +6 -0
  22. package/cjs/highlevel/methods/messages/get-available-effects.js +26 -0
  23. package/cjs/highlevel/methods/messages/get-available-effects.js.map +1 -0
  24. package/cjs/highlevel/methods/messages/get-fact-check.d.ts +11 -0
  25. package/cjs/highlevel/methods/messages/get-fact-check.js +27 -0
  26. package/cjs/highlevel/methods/messages/get-fact-check.js.map +1 -0
  27. package/cjs/highlevel/methods/messages/search-hashtag.d.ts +44 -0
  28. package/cjs/highlevel/methods/messages/search-hashtag.js +75 -0
  29. package/cjs/highlevel/methods/messages/search-hashtag.js.map +1 -0
  30. package/cjs/highlevel/methods/messages/send-common.d.ts +5 -0
  31. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  32. package/cjs/highlevel/methods/messages/send-media-group.js +1 -0
  33. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  34. package/cjs/highlevel/methods/messages/send-media.js +1 -0
  35. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  36. package/cjs/highlevel/methods/messages/send-text.js +1 -0
  37. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  38. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js +2 -1
  39. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  40. package/cjs/highlevel/methods/users/resolve-peer-many.d.ts +6 -2
  41. package/cjs/highlevel/methods/users/resolve-peer-many.js +22 -6
  42. package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  43. package/cjs/highlevel/methods/users/resolve-peer.js +30 -11
  44. package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
  45. package/cjs/highlevel/methods.d.ts +6 -0
  46. package/cjs/highlevel/methods.js +15 -4
  47. package/cjs/highlevel/methods.js.map +1 -1
  48. package/cjs/highlevel/types/conversation.js +1 -1
  49. package/cjs/highlevel/types/conversation.js.map +1 -1
  50. package/cjs/highlevel/types/messages/dialog.d.ts +2 -2
  51. package/cjs/highlevel/types/messages/dialog.js +2 -3
  52. package/cjs/highlevel/types/messages/dialog.js.map +1 -1
  53. package/cjs/highlevel/types/messages/fact-check.d.ts +30 -0
  54. package/cjs/highlevel/types/messages/fact-check.js +56 -0
  55. package/cjs/highlevel/types/messages/fact-check.js.map +1 -0
  56. package/cjs/highlevel/types/messages/index.d.ts +2 -0
  57. package/cjs/highlevel/types/messages/index.js +2 -0
  58. package/cjs/highlevel/types/messages/index.js.map +1 -1
  59. package/cjs/highlevel/types/messages/message-effect.d.ts +20 -0
  60. package/cjs/highlevel/types/messages/message-effect.js +69 -0
  61. package/cjs/highlevel/types/messages/message-effect.js.map +1 -0
  62. package/cjs/highlevel/types/messages/message-entity.d.ts +4 -1
  63. package/cjs/highlevel/types/messages/message-entity.js +1 -1
  64. package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
  65. package/cjs/highlevel/types/messages/message.d.ts +12 -0
  66. package/cjs/highlevel/types/messages/message.js +23 -0
  67. package/cjs/highlevel/types/messages/message.js.map +1 -1
  68. package/cjs/network/client.d.ts +1 -2
  69. package/cjs/network/client.js +3 -3
  70. package/cjs/network/client.js.map +1 -1
  71. package/cjs/network/network-manager.js +1 -1
  72. package/cjs/network/session-connection.js +1 -1
  73. package/cjs/network/session-connection.js.map +1 -1
  74. package/cjs/platform.js +3 -7
  75. package/cjs/platform.js.map +1 -1
  76. package/esm/highlevel/client.d.ts +83 -2
  77. package/esm/highlevel/client.js +20 -1
  78. package/esm/highlevel/client.js.map +1 -1
  79. package/esm/highlevel/methods/_imports.js.map +1 -1
  80. package/esm/highlevel/methods/_init.js +1 -1
  81. package/esm/highlevel/methods/_init.js.map +1 -1
  82. package/esm/highlevel/methods/bots/get-callback-answer.d.ts +11 -0
  83. package/esm/highlevel/methods/bots/get-callback-answer.js +10 -2
  84. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  85. package/esm/highlevel/methods/chats/archive-chats.js +2 -1
  86. package/esm/highlevel/methods/chats/archive-chats.js.map +1 -1
  87. package/esm/highlevel/methods/dialogs/find-dialogs.d.ts +12 -0
  88. package/esm/highlevel/methods/dialogs/find-dialogs.js +84 -0
  89. package/esm/highlevel/methods/dialogs/find-dialogs.js.map +1 -0
  90. package/esm/highlevel/methods/dialogs/get-peer-dialogs.js +2 -1
  91. package/esm/highlevel/methods/dialogs/get-peer-dialogs.js.map +1 -1
  92. package/esm/highlevel/methods/dialogs/iter-dialogs.js +3 -1
  93. package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  94. package/esm/highlevel/methods/messages/_business-connection.d.ts +2 -1
  95. package/esm/highlevel/methods/messages/_business-connection.js.map +1 -1
  96. package/esm/highlevel/methods/messages/get-available-effects.d.ts +6 -0
  97. package/esm/highlevel/methods/messages/get-available-effects.js +22 -0
  98. package/esm/highlevel/methods/messages/get-available-effects.js.map +1 -0
  99. package/esm/highlevel/methods/messages/get-fact-check.d.ts +11 -0
  100. package/esm/highlevel/methods/messages/get-fact-check.js +23 -0
  101. package/esm/highlevel/methods/messages/get-fact-check.js.map +1 -0
  102. package/esm/highlevel/methods/messages/search-hashtag.d.ts +44 -0
  103. package/esm/highlevel/methods/messages/search-hashtag.js +70 -0
  104. package/esm/highlevel/methods/messages/search-hashtag.js.map +1 -0
  105. package/esm/highlevel/methods/messages/send-common.d.ts +5 -0
  106. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  107. package/esm/highlevel/methods/messages/send-media-group.js +1 -0
  108. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  109. package/esm/highlevel/methods/messages/send-media.js +1 -0
  110. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  111. package/esm/highlevel/methods/messages/send-text.js +1 -0
  112. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  113. package/esm/highlevel/methods/misc/normalize-privacy-rules.js +2 -1
  114. package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  115. package/esm/highlevel/methods/users/resolve-peer-many.d.ts +6 -2
  116. package/esm/highlevel/methods/users/resolve-peer-many.js +22 -6
  117. package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  118. package/esm/highlevel/methods/users/resolve-peer.js +30 -11
  119. package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
  120. package/esm/highlevel/methods.d.ts +6 -0
  121. package/esm/highlevel/methods.js +5 -0
  122. package/esm/highlevel/methods.js.map +1 -1
  123. package/esm/highlevel/types/conversation.js +1 -1
  124. package/esm/highlevel/types/conversation.js.map +1 -1
  125. package/esm/highlevel/types/messages/dialog.d.ts +2 -2
  126. package/esm/highlevel/types/messages/dialog.js +2 -3
  127. package/esm/highlevel/types/messages/dialog.js.map +1 -1
  128. package/esm/highlevel/types/messages/fact-check.d.ts +30 -0
  129. package/esm/highlevel/types/messages/fact-check.js +53 -0
  130. package/esm/highlevel/types/messages/fact-check.js.map +1 -0
  131. package/esm/highlevel/types/messages/index.d.ts +2 -0
  132. package/esm/highlevel/types/messages/index.js +2 -0
  133. package/esm/highlevel/types/messages/index.js.map +1 -1
  134. package/esm/highlevel/types/messages/message-effect.d.ts +20 -0
  135. package/esm/highlevel/types/messages/message-effect.js +66 -0
  136. package/esm/highlevel/types/messages/message-effect.js.map +1 -0
  137. package/esm/highlevel/types/messages/message-entity.d.ts +4 -1
  138. package/esm/highlevel/types/messages/message-entity.js +1 -1
  139. package/esm/highlevel/types/messages/message-entity.js.map +1 -1
  140. package/esm/highlevel/types/messages/message.d.ts +12 -0
  141. package/esm/highlevel/types/messages/message.js +23 -0
  142. package/esm/highlevel/types/messages/message.js.map +1 -1
  143. package/esm/network/client.d.ts +1 -2
  144. package/esm/network/client.js +3 -3
  145. package/esm/network/client.js.map +1 -1
  146. package/esm/network/network-manager.js +1 -1
  147. package/esm/network/session-connection.js +1 -1
  148. package/esm/network/session-connection.js.map +1 -1
  149. package/esm/platform.js +3 -7
  150. package/esm/platform.js.map +1 -1
  151. package/package.json +4 -4
@@ -7,10 +7,11 @@ if (typeof globalThis !== 'undefined' && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
7
7
  "use strict";
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.iterChatEventLog = exports.getSimilarChannels = exports.getNearbyChats = exports.getFullChat = exports.getChatPreview = exports.getChatMembers = exports.getChatMember = exports.getChatEventLog = exports.getChat = exports.editAdminRights = exports.deleteUserHistory = exports.deleteHistory = exports.deleteGroup = exports.deleteChatPhoto = exports.deleteChannel = exports.createSupergroup = exports.createGroup = exports.createChannel = exports.banChatMember = exports.archiveChats = exports.addChatMembers = exports.setMyDefaultRights = exports.setMyCommands = exports.setInlineGameScore = exports.setGameScore = exports.setBotMenuButton = exports.setBotInfo = exports.getMyCommands = exports.getInlineGameHighScores = exports.getGameHighScores = exports.getCallbackAnswer = exports.getBotMenuButton = exports.getBotInfo = exports.deleteMyCommands = exports.answerPreCheckoutQuery = exports.answerInlineQuery = exports.answerCallbackQuery = exports.isSelfPeer = exports.startTest = exports.start = exports.signInBot = exports.signIn = exports.sendRecoveryCode = exports.sendCode = exports.run = exports.resendCode = exports.recoverPassword = exports.logOut = exports.getPasswordHint = exports.checkPassword = void 0;
10
- exports.reorderPinnedForumTopics = exports.iterForumTopics = exports.getForumTopicsById = exports.getForumTopics = exports.editForumTopic = exports.deleteForumTopicHistory = exports.createForumTopic = exports.uploadMedia = exports.uploadFile = exports._normalizeInputMedia = exports._normalizeInputFile = exports.downloadAsStream = exports.downloadAsIterable = exports.downloadAsBuffer = exports.setFoldersOrder = exports.iterDialogs = exports.getPeerDialogs = exports.getFolders = exports.findFolder = exports.editFolder = exports.deleteFolder = exports.createFolder = exports.importContacts = exports.getContacts = exports.deleteContacts = exports.addContact = exports.unbanChatMember = exports.unarchiveChats = exports.toggleJoinToSend = exports.toggleJoinRequests = exports.toggleFragmentUsername = exports.toggleContentProtection = exports.setSlowMode = exports.setChatUsername = exports.setChatTtl = exports.setChatTitle = exports.setChatPhoto = exports.setChatDescription = exports.setChatDefaultPermissions = exports.setChatColor = exports.saveDraft = exports.restrictChatMember = exports.reorderUsernames = exports.closeChat = exports.openChat = exports.markChatUnread = exports.leaveChat = exports.kickChatMember = exports.joinChat = exports.iterChatMembers = void 0;
11
- exports.commentText = exports.answerMediaGroup = exports.answerMedia = exports.answerText = exports.searchMessages = exports.searchGlobal = exports.readReactions = exports.readHistory = exports.pinMessage = exports.iterSearchMessages = exports.iterSearchGlobal = exports.iterReactionUsers = exports.iterHistory = exports.getScheduledMessages = exports.getReplyTo = exports.getReactionUsers = exports.getMessagesUnsafe = exports.getMessages = exports.getMessageReactions = exports.getMessageReactionsById = exports.getMessageGroup = exports.getMessageByLink = exports.getHistory = exports.getDiscussionMessage = exports.getCallbackQueryMessage = exports.getAllScheduledMessages = exports.forwardMessages = exports.forwardMessagesById = exports.editMessage = exports.editInlineMessage = exports.deleteScheduledMessages = exports.deleteMessages = exports.deleteMessagesById = exports.closePoll = exports.revokeInviteLink = exports.iterInviteLinks = exports.iterInviteLinkMembers = exports.hideJoinRequest = exports.hideAllJoinRequests = exports.getPrimaryInviteLink = exports.getInviteLinks = exports.getInviteLinkMembers = exports.getInviteLink = exports.exportInviteLink = exports.editInviteLink = exports.createInviteLink = exports.toggleGeneralTopicHidden = exports.toggleForumTopicPinned = exports.toggleForumTopicClosed = exports.toggleForum = void 0;
12
- exports.getMyStickerSets = exports.getInstalledStickers = exports.getCustomEmojisFromMessages = exports.getCustomEmojis = exports.deleteStickerFromSet = exports.createStickerSet = exports.addStickerToSet = exports.setBusinessWorkHours = exports.setBusinessIntro = exports.iterBoosters = exports.getMyBoostSlots = exports.getBusinessConnection = exports.getBusinessChatLinks = exports.getBoosts = exports.getBoostStats = exports.deleteBusinessChatLink = exports.editBusinessChatLink = exports.createBusinessChatLink = exports.canApplyBoost = exports.applyBoost = exports.removeCloudPassword = exports.cancelPasswordEmail = exports.resendPasswordEmail = exports.verifyPasswordEmail = exports.enableCloudPassword = exports.changeCloudPassword = exports._normalizePrivacyRules = exports.initTakeoutSession = exports.getCollectibleInfo = exports.unpinMessage = exports.unpinAllMessages = exports.translateText = exports.translateMessage = exports.sendVote = exports.sendTyping = exports.sendText = exports.sendScheduled = exports.replyMediaGroup = exports.replyMedia = exports.replyText = exports.sendReaction = exports.quoteWithMediaGroup = exports.quoteWithMedia = exports.quoteWithText = exports.sendMediaGroup = exports.sendMedia = exports.sendCopyGroup = exports.sendCopy = exports.commentMediaGroup = exports.commentMedia = void 0;
13
- exports.updateProfile = exports.unblockUser = exports.setOffline = exports.setMyUsername = exports.setMyProfilePhoto = exports.setMyEmojiStatus = exports.setMyBirthday = exports.setGlobalTtl = exports.resolvePeerMany = exports.resolveChannel = exports.resolveUser = exports.resolvePeer = exports.iterProfilePhotos = exports.getUsers = exports.getProfilePhotos = exports.getProfilePhoto = exports.getMyUsername = exports.getMe = exports.getGlobalTtl = exports.getCommonChats = exports.editCloseFriends = exports.editCloseFriendsRaw = exports.deleteProfilePhotos = exports.blockUser = exports.toggleStoriesPinned = exports.togglePeerStoriesArchived = exports.sendStoryReaction = exports.sendStory = exports.reportStory = exports.readStories = exports.iterStoryViewers = exports.iterProfileStories = exports.iterAllStories = exports.incrementStoriesViews = exports.hideMyStoriesViews = exports.getStoryViewers = exports.getStoryLink = exports.getStoriesInteractions = exports.getStoriesById = exports.getProfileStories = exports.getPeerStories = exports.getAllStories = exports.editStory = exports.deleteStories = exports.canSendStory = exports.setStickerSetThumb = exports.setChatStickerSet = exports.replaceStickerInSet = exports.moveStickerInSet = exports.getStickerSet = void 0;
10
+ exports.iterForumTopics = exports.getForumTopicsById = exports.getForumTopics = exports.editForumTopic = exports.deleteForumTopicHistory = exports.createForumTopic = exports.uploadMedia = exports.uploadFile = exports._normalizeInputMedia = exports._normalizeInputFile = exports.downloadAsStream = exports.downloadAsIterable = exports.downloadAsBuffer = exports.setFoldersOrder = exports.iterDialogs = exports.getPeerDialogs = exports.getFolders = exports.findFolder = exports.findDialogs = exports.editFolder = exports.deleteFolder = exports.createFolder = exports.importContacts = exports.getContacts = exports.deleteContacts = exports.addContact = exports.unbanChatMember = exports.unarchiveChats = exports.toggleJoinToSend = exports.toggleJoinRequests = exports.toggleFragmentUsername = exports.toggleContentProtection = exports.setSlowMode = exports.setChatUsername = exports.setChatTtl = exports.setChatTitle = exports.setChatPhoto = exports.setChatDescription = exports.setChatDefaultPermissions = exports.setChatColor = exports.saveDraft = exports.restrictChatMember = exports.reorderUsernames = exports.closeChat = exports.openChat = exports.markChatUnread = exports.leaveChat = exports.kickChatMember = exports.joinChat = exports.iterChatMembers = void 0;
11
+ exports.iterSearchHashtag = exports.searchHashtag = exports.searchGlobal = exports.readReactions = exports.readHistory = exports.pinMessage = exports.iterSearchMessages = exports.iterSearchGlobal = exports.iterReactionUsers = exports.iterHistory = exports.getScheduledMessages = exports.getReplyTo = exports.getReactionUsers = exports.getMessagesUnsafe = exports.getMessages = exports.getMessageReactions = exports.getMessageReactionsById = exports.getMessageGroup = exports.getMessageByLink = exports.getHistory = exports.getFactCheck = exports.getDiscussionMessage = exports.getCallbackQueryMessage = exports.getAvailableMessageEffects = exports.getAllScheduledMessages = exports.forwardMessages = exports.forwardMessagesById = exports.editMessage = exports.editInlineMessage = exports.deleteScheduledMessages = exports.deleteMessages = exports.deleteMessagesById = exports.closePoll = exports.revokeInviteLink = exports.iterInviteLinks = exports.iterInviteLinkMembers = exports.hideJoinRequest = exports.hideAllJoinRequests = exports.getPrimaryInviteLink = exports.getInviteLinks = exports.getInviteLinkMembers = exports.getInviteLink = exports.exportInviteLink = exports.editInviteLink = exports.createInviteLink = exports.toggleGeneralTopicHidden = exports.toggleForumTopicPinned = exports.toggleForumTopicClosed = exports.toggleForum = exports.reorderPinnedForumTopics = void 0;
12
+ exports.createStickerSet = exports.addStickerToSet = exports.setBusinessWorkHours = exports.setBusinessIntro = exports.iterBoosters = exports.getMyBoostSlots = exports.getBusinessConnection = exports.getBusinessChatLinks = exports.getBoosts = exports.getBoostStats = exports.deleteBusinessChatLink = exports.editBusinessChatLink = exports.createBusinessChatLink = exports.canApplyBoost = exports.applyBoost = exports.removeCloudPassword = exports.cancelPasswordEmail = exports.resendPasswordEmail = exports.verifyPasswordEmail = exports.enableCloudPassword = exports.changeCloudPassword = exports._normalizePrivacyRules = exports.initTakeoutSession = exports.getCollectibleInfo = exports.unpinMessage = exports.unpinAllMessages = exports.translateText = exports.translateMessage = exports.sendVote = exports.sendTyping = exports.sendText = exports.sendScheduled = exports.replyMediaGroup = exports.replyMedia = exports.replyText = exports.sendReaction = exports.quoteWithMediaGroup = exports.quoteWithMedia = exports.quoteWithText = exports.sendMediaGroup = exports.sendMedia = exports.sendCopyGroup = exports.sendCopy = exports.commentMediaGroup = exports.commentMedia = exports.commentText = exports.answerMediaGroup = exports.answerMedia = exports.answerText = exports.searchMessages = void 0;
13
+ exports.setMyEmojiStatus = exports.setMyBirthday = exports.setGlobalTtl = exports.resolvePeerMany = exports.resolveChannel = exports.resolveUser = exports.resolvePeer = exports.iterProfilePhotos = exports.getUsers = exports.getProfilePhotos = exports.getProfilePhoto = exports.getMyUsername = exports.getMe = exports.getGlobalTtl = exports.getCommonChats = exports.editCloseFriends = exports.editCloseFriendsRaw = exports.deleteProfilePhotos = exports.blockUser = exports.toggleStoriesPinned = exports.togglePeerStoriesArchived = exports.sendStoryReaction = exports.sendStory = exports.reportStory = exports.readStories = exports.iterStoryViewers = exports.iterProfileStories = exports.iterAllStories = exports.incrementStoriesViews = exports.hideMyStoriesViews = exports.getStoryViewers = exports.getStoryLink = exports.getStoriesInteractions = exports.getStoriesById = exports.getProfileStories = exports.getPeerStories = exports.getAllStories = exports.editStory = exports.deleteStories = exports.canSendStory = exports.setStickerSetThumb = exports.setChatStickerSet = exports.replaceStickerInSet = exports.moveStickerInSet = exports.getStickerSet = exports.getMyStickerSets = exports.getInstalledStickers = exports.getCustomEmojisFromMessages = exports.getCustomEmojis = exports.deleteStickerFromSet = void 0;
14
+ exports.updateProfile = exports.unblockUser = exports.setOffline = exports.setMyUsername = exports.setMyProfilePhoto = void 0;
14
15
  /* THIS FILE WAS AUTO-GENERATED */
15
16
  var check_password_js_1 = require("./methods/auth/check-password.js");
16
17
  Object.defineProperty(exports, "checkPassword", { enumerable: true, get: function () { return check_password_js_1.checkPassword; } });
@@ -174,6 +175,8 @@ var delete_folder_js_1 = require("./methods/dialogs/delete-folder.js");
174
175
  Object.defineProperty(exports, "deleteFolder", { enumerable: true, get: function () { return delete_folder_js_1.deleteFolder; } });
175
176
  var edit_folder_js_1 = require("./methods/dialogs/edit-folder.js");
176
177
  Object.defineProperty(exports, "editFolder", { enumerable: true, get: function () { return edit_folder_js_1.editFolder; } });
178
+ var find_dialogs_js_1 = require("./methods/dialogs/find-dialogs.js");
179
+ Object.defineProperty(exports, "findDialogs", { enumerable: true, get: function () { return find_dialogs_js_1.findDialogs; } });
177
180
  var find_folder_js_1 = require("./methods/dialogs/find-folder.js");
178
181
  Object.defineProperty(exports, "findFolder", { enumerable: true, get: function () { return find_folder_js_1.findFolder; } });
179
182
  var get_folders_js_1 = require("./methods/dialogs/get-folders.js");
@@ -262,10 +265,14 @@ var forward_messages_js_2 = require("./methods/messages/forward-messages.js");
262
265
  Object.defineProperty(exports, "forwardMessages", { enumerable: true, get: function () { return forward_messages_js_2.forwardMessages; } });
263
266
  var get_all_scheduled_messages_js_1 = require("./methods/messages/get-all-scheduled-messages.js");
264
267
  Object.defineProperty(exports, "getAllScheduledMessages", { enumerable: true, get: function () { return get_all_scheduled_messages_js_1.getAllScheduledMessages; } });
268
+ var get_available_effects_js_1 = require("./methods/messages/get-available-effects.js");
269
+ Object.defineProperty(exports, "getAvailableMessageEffects", { enumerable: true, get: function () { return get_available_effects_js_1.getAvailableMessageEffects; } });
265
270
  var get_callback_query_message_js_1 = require("./methods/messages/get-callback-query-message.js");
266
271
  Object.defineProperty(exports, "getCallbackQueryMessage", { enumerable: true, get: function () { return get_callback_query_message_js_1.getCallbackQueryMessage; } });
267
272
  var get_discussion_message_js_1 = require("./methods/messages/get-discussion-message.js");
268
273
  Object.defineProperty(exports, "getDiscussionMessage", { enumerable: true, get: function () { return get_discussion_message_js_1.getDiscussionMessage; } });
274
+ var get_fact_check_js_1 = require("./methods/messages/get-fact-check.js");
275
+ Object.defineProperty(exports, "getFactCheck", { enumerable: true, get: function () { return get_fact_check_js_1.getFactCheck; } });
269
276
  var get_history_js_1 = require("./methods/messages/get-history.js");
270
277
  Object.defineProperty(exports, "getHistory", { enumerable: true, get: function () { return get_history_js_1.getHistory; } });
271
278
  var get_message_by_link_js_1 = require("./methods/messages/get-message-by-link.js");
@@ -302,6 +309,10 @@ var read_reactions_js_1 = require("./methods/messages/read-reactions.js");
302
309
  Object.defineProperty(exports, "readReactions", { enumerable: true, get: function () { return read_reactions_js_1.readReactions; } });
303
310
  var search_global_js_1 = require("./methods/messages/search-global.js");
304
311
  Object.defineProperty(exports, "searchGlobal", { enumerable: true, get: function () { return search_global_js_1.searchGlobal; } });
312
+ var search_hashtag_js_1 = require("./methods/messages/search-hashtag.js");
313
+ Object.defineProperty(exports, "searchHashtag", { enumerable: true, get: function () { return search_hashtag_js_1.searchHashtag; } });
314
+ var search_hashtag_js_2 = require("./methods/messages/search-hashtag.js");
315
+ Object.defineProperty(exports, "iterSearchHashtag", { enumerable: true, get: function () { return search_hashtag_js_2.iterSearchHashtag; } });
305
316
  var search_messages_js_1 = require("./methods/messages/search-messages.js");
306
317
  Object.defineProperty(exports, "searchMessages", { enumerable: true, get: function () { return search_messages_js_1.searchMessages; } });
307
318
  var send_answer_js_1 = require("./methods/messages/send-answer.js");
@@ -1 +1 @@
1
- {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../src/highlevel/methods.ts"],"names":[],"mappings":"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","sourcesContent":["/* THIS FILE WAS AUTO-GENERATED */\nexport { checkPassword } from './methods/auth/check-password.js'\nexport { getPasswordHint } from './methods/auth/get-password-hint.js'\nexport { logOut } from './methods/auth/log-out.js'\nexport { recoverPassword } from './methods/auth/recover-password.js'\nexport { resendCode } from './methods/auth/resend-code.js'\nexport { run } from './methods/auth/run.js'\nexport { sendCode } from './methods/auth/send-code.js'\nexport { sendRecoveryCode } from './methods/auth/send-recovery-code.js'\nexport { signIn } from './methods/auth/sign-in.js'\nexport { signInBot } from './methods/auth/sign-in-bot.js'\nexport { start } from './methods/auth/start.js'\nexport { startTest } from './methods/auth/start-test.js'\nexport { isSelfPeer } from './methods/auth/utils.js'\nexport { answerCallbackQuery } from './methods/bots/answer-callback-query.js'\nexport { answerInlineQuery } from './methods/bots/answer-inline-query.js'\nexport { answerPreCheckoutQuery } from './methods/bots/answer-pre-checkout-query.js'\nexport { deleteMyCommands } from './methods/bots/delete-my-commands.js'\nexport { getBotInfo } from './methods/bots/get-bot-info.js'\nexport { getBotMenuButton } from './methods/bots/get-bot-menu-button.js'\nexport { getCallbackAnswer } from './methods/bots/get-callback-answer.js'\nexport { getGameHighScores } from './methods/bots/get-game-high-scores.js'\nexport { getInlineGameHighScores } from './methods/bots/get-game-high-scores.js'\nexport { getMyCommands } from './methods/bots/get-my-commands.js'\nexport { setBotInfo } from './methods/bots/set-bot-info.js'\nexport { setBotMenuButton } from './methods/bots/set-bot-menu-button.js'\nexport { setGameScore } from './methods/bots/set-game-score.js'\nexport { setInlineGameScore } from './methods/bots/set-game-score.js'\nexport { setMyCommands } from './methods/bots/set-my-commands.js'\nexport { setMyDefaultRights } from './methods/bots/set-my-default-rights.js'\nexport { addChatMembers } from './methods/chats/add-chat-members.js'\nexport { archiveChats } from './methods/chats/archive-chats.js'\nexport { banChatMember } from './methods/chats/ban-chat-member.js'\nexport { createChannel } from './methods/chats/create-channel.js'\nexport type { CreateGroupResult } from './methods/chats/create-group.js'\nexport { createGroup } from './methods/chats/create-group.js'\nexport { createSupergroup } from './methods/chats/create-supergroup.js'\nexport { deleteChannel } from './methods/chats/delete-channel.js'\nexport { deleteChatPhoto } from './methods/chats/delete-chat-photo.js'\nexport { deleteGroup } from './methods/chats/delete-group.js'\nexport { deleteHistory } from './methods/chats/delete-history.js'\nexport { deleteUserHistory } from './methods/chats/delete-user-history.js'\nexport { editAdminRights } from './methods/chats/edit-admin-rights.js'\nexport { getChat } from './methods/chats/get-chat.js'\nexport { getChatEventLog } from './methods/chats/get-chat-event-log.js'\nexport { getChatMember } from './methods/chats/get-chat-member.js'\nexport { getChatMembers } from './methods/chats/get-chat-members.js'\nexport { getChatPreview } from './methods/chats/get-chat-preview.js'\nexport { getFullChat } from './methods/chats/get-full-chat.js'\nexport { getNearbyChats } from './methods/chats/get-nearby-chats.js'\nexport { getSimilarChannels } from './methods/chats/get-similar-channels.js'\nexport { iterChatEventLog } from './methods/chats/iter-chat-event-log.js'\nexport { iterChatMembers } from './methods/chats/iter-chat-members.js'\nexport { joinChat } from './methods/chats/join-chat.js'\nexport { kickChatMember } from './methods/chats/kick-chat-member.js'\nexport { leaveChat } from './methods/chats/leave-chat.js'\nexport { markChatUnread } from './methods/chats/mark-chat-unread.js'\nexport { openChat } from './methods/chats/open-chat.js'\nexport { closeChat } from './methods/chats/open-chat.js'\nexport { reorderUsernames } from './methods/chats/reorder-usernames.js'\nexport { restrictChatMember } from './methods/chats/restrict-chat-member.js'\nexport { saveDraft } from './methods/chats/save-draft.js'\nexport { setChatColor } from './methods/chats/set-chat-color.js'\nexport { setChatDefaultPermissions } from './methods/chats/set-chat-default-permissions.js'\nexport { setChatDescription } from './methods/chats/set-chat-description.js'\nexport { setChatPhoto } from './methods/chats/set-chat-photo.js'\nexport { setChatTitle } from './methods/chats/set-chat-title.js'\nexport { setChatTtl } from './methods/chats/set-chat-ttl.js'\nexport { setChatUsername } from './methods/chats/set-chat-username.js'\nexport { setSlowMode } from './methods/chats/set-slow-mode.js'\nexport { toggleContentProtection } from './methods/chats/toggle-content-protection.js'\nexport { toggleFragmentUsername } from './methods/chats/toggle-fragment-username.js'\nexport { toggleJoinRequests } from './methods/chats/toggle-join-requests.js'\nexport { toggleJoinToSend } from './methods/chats/toggle-join-to-send.js'\nexport { unarchiveChats } from './methods/chats/unarchive-chats.js'\nexport { unbanChatMember } from './methods/chats/unban-chat-member.js'\nexport { addContact } from './methods/contacts/add-contact.js'\nexport { deleteContacts } from './methods/contacts/delete-contacts.js'\nexport { getContacts } from './methods/contacts/get-contacts.js'\nexport { importContacts } from './methods/contacts/import-contacts.js'\nexport { createFolder } from './methods/dialogs/create-folder.js'\nexport { deleteFolder } from './methods/dialogs/delete-folder.js'\nexport { editFolder } from './methods/dialogs/edit-folder.js'\nexport { findFolder } from './methods/dialogs/find-folder.js'\nexport { getFolders } from './methods/dialogs/get-folders.js'\nexport { getPeerDialogs } from './methods/dialogs/get-peer-dialogs.js'\nexport { iterDialogs } from './methods/dialogs/iter-dialogs.js'\nexport { setFoldersOrder } from './methods/dialogs/set-folders-order.js'\nexport { downloadAsBuffer } from './methods/files/download-buffer.js'\nexport { downloadAsIterable } from './methods/files/download-iterable.js'\nexport { downloadAsStream } from './methods/files/download-stream.js'\nexport { _normalizeInputFile } from './methods/files/normalize-input-file.js'\nexport { _normalizeInputMedia } from './methods/files/normalize-input-media.js'\nexport { uploadFile } from './methods/files/upload-file.js'\nexport { uploadMedia } from './methods/files/upload-media.js'\nexport { createForumTopic } from './methods/forums/create-forum-topic.js'\nexport { deleteForumTopicHistory } from './methods/forums/delete-forum-topic-history.js'\nexport { editForumTopic } from './methods/forums/edit-forum-topic.js'\nexport type { GetForumTopicsOffset } from './methods/forums/get-forum-topics.js'\nexport { getForumTopics } from './methods/forums/get-forum-topics.js'\nexport { getForumTopicsById } from './methods/forums/get-forum-topics-by-id.js'\nexport { iterForumTopics } from './methods/forums/iter-forum-topics.js'\nexport { reorderPinnedForumTopics } from './methods/forums/reorder-pinned-forum-topics.js'\nexport { toggleForum } from './methods/forums/toggle-forum.js'\nexport { toggleForumTopicClosed } from './methods/forums/toggle-forum-topic-closed.js'\nexport { toggleForumTopicPinned } from './methods/forums/toggle-forum-topic-pinned.js'\nexport { toggleGeneralTopicHidden } from './methods/forums/toggle-general-topic-hidden.js'\nexport { createInviteLink } from './methods/invite-links/create-invite-link.js'\nexport { editInviteLink } from './methods/invite-links/edit-invite-link.js'\nexport { exportInviteLink } from './methods/invite-links/export-invite-link.js'\nexport { getInviteLink } from './methods/invite-links/get-invite-link.js'\nexport { getInviteLinkMembers } from './methods/invite-links/get-invite-link-members.js'\nexport type { GetInviteLinksOffset } from './methods/invite-links/get-invite-links.js'\nexport { getInviteLinks } from './methods/invite-links/get-invite-links.js'\nexport { getPrimaryInviteLink } from './methods/invite-links/get-primary-invite-link.js'\nexport { hideAllJoinRequests } from './methods/invite-links/hide-all-join-requests.js'\nexport { hideJoinRequest } from './methods/invite-links/hide-join-request.js'\nexport { iterInviteLinkMembers } from './methods/invite-links/iter-invite-link-members.js'\nexport { iterInviteLinks } from './methods/invite-links/iter-invite-links.js'\nexport { revokeInviteLink } from './methods/invite-links/revoke-invite-link.js'\nexport { closePoll } from './methods/messages/close-poll.js'\nexport type { DeleteMessagesParams } from './methods/messages/delete-messages.js'\nexport { deleteMessagesById } from './methods/messages/delete-messages.js'\nexport { deleteMessages } from './methods/messages/delete-messages.js'\nexport { deleteScheduledMessages } from './methods/messages/delete-scheduled-messages.js'\nexport { editInlineMessage } from './methods/messages/edit-inline-message.js'\nexport { editMessage } from './methods/messages/edit-message.js'\nexport type { ForwardMessageOptions } from './methods/messages/forward-messages.js'\nexport { forwardMessagesById } from './methods/messages/forward-messages.js'\nexport { forwardMessages } from './methods/messages/forward-messages.js'\nexport { getAllScheduledMessages } from './methods/messages/get-all-scheduled-messages.js'\nexport { getCallbackQueryMessage } from './methods/messages/get-callback-query-message.js'\nexport { getDiscussionMessage } from './methods/messages/get-discussion-message.js'\nexport type { GetHistoryOffset } from './methods/messages/get-history.js'\nexport { getHistory } from './methods/messages/get-history.js'\nexport { getMessageByLink } from './methods/messages/get-message-by-link.js'\nexport { getMessageGroup } from './methods/messages/get-message-group.js'\nexport { getMessageReactionsById } from './methods/messages/get-message-reactions.js'\nexport { getMessageReactions } from './methods/messages/get-message-reactions.js'\nexport { getMessages } from './methods/messages/get-messages.js'\nexport { getMessagesUnsafe } from './methods/messages/get-messages-unsafe.js'\nexport type { GetReactionUsersOffset } from './methods/messages/get-reaction-users.js'\nexport { getReactionUsers } from './methods/messages/get-reaction-users.js'\nexport { getReplyTo } from './methods/messages/get-reply-to.js'\nexport { getScheduledMessages } from './methods/messages/get-scheduled-messages.js'\nexport { iterHistory } from './methods/messages/iter-history.js'\nexport { iterReactionUsers } from './methods/messages/iter-reaction-users.js'\nexport { iterSearchGlobal } from './methods/messages/iter-search-global.js'\nexport { iterSearchMessages } from './methods/messages/iter-search-messages.js'\nexport { pinMessage } from './methods/messages/pin-message.js'\nexport { readHistory } from './methods/messages/read-history.js'\nexport { readReactions } from './methods/messages/read-reactions.js'\nexport type { SearchGlobalOffset } from './methods/messages/search-global.js'\nexport { searchGlobal } from './methods/messages/search-global.js'\nexport type { SearchMessagesOffset } from './methods/messages/search-messages.js'\nexport { searchMessages } from './methods/messages/search-messages.js'\nexport { answerText } from './methods/messages/send-answer.js'\nexport { answerMedia } from './methods/messages/send-answer.js'\nexport { answerMediaGroup } from './methods/messages/send-answer.js'\nexport { commentText } from './methods/messages/send-comment.js'\nexport { commentMedia } from './methods/messages/send-comment.js'\nexport { commentMediaGroup } from './methods/messages/send-comment.js'\nexport type { SendCopyParams } from './methods/messages/send-copy.js'\nexport { sendCopy } from './methods/messages/send-copy.js'\nexport type { SendCopyGroupParams } from './methods/messages/send-copy-group.js'\nexport { sendCopyGroup } from './methods/messages/send-copy-group.js'\nexport { sendMedia } from './methods/messages/send-media.js'\nexport { sendMediaGroup } from './methods/messages/send-media-group.js'\nexport type { QuoteParamsFrom } from './methods/messages/send-quote.js'\nexport { quoteWithText } from './methods/messages/send-quote.js'\nexport { quoteWithMedia } from './methods/messages/send-quote.js'\nexport { quoteWithMediaGroup } from './methods/messages/send-quote.js'\nexport { sendReaction } from './methods/messages/send-reaction.js'\nexport { replyText } from './methods/messages/send-reply.js'\nexport { replyMedia } from './methods/messages/send-reply.js'\nexport { replyMediaGroup } from './methods/messages/send-reply.js'\nexport { sendScheduled } from './methods/messages/send-scheduled.js'\nexport { sendText } from './methods/messages/send-text.js'\nexport { sendTyping } from './methods/messages/send-typing.js'\nexport { sendVote } from './methods/messages/send-vote.js'\nexport { translateMessage } from './methods/messages/translate-message.js'\nexport { translateText } from './methods/messages/translate-text.js'\nexport { unpinAllMessages } from './methods/messages/unpin-all-messages.js'\nexport { unpinMessage } from './methods/messages/unpin-message.js'\nexport { getCollectibleInfo } from './methods/misc/get-collectible-info.js'\nexport { initTakeoutSession } from './methods/misc/init-takeout-session.js'\nexport { _normalizePrivacyRules } from './methods/misc/normalize-privacy-rules.js'\nexport { changeCloudPassword } from './methods/password/change-cloud-password.js'\nexport { enableCloudPassword } from './methods/password/enable-cloud-password.js'\nexport { verifyPasswordEmail } from './methods/password/password-email.js'\nexport { resendPasswordEmail } from './methods/password/password-email.js'\nexport { cancelPasswordEmail } from './methods/password/password-email.js'\nexport { removeCloudPassword } from './methods/password/remove-cloud-password.js'\nexport { applyBoost } from './methods/premium/apply-boost.js'\nexport type { CanApplyBoostResult } from './methods/premium/can-apply-boost.js'\nexport { canApplyBoost } from './methods/premium/can-apply-boost.js'\nexport { createBusinessChatLink } from './methods/premium/create-business-chat-link.js'\nexport { editBusinessChatLink } from './methods/premium/edit-business-chat-link.js'\nexport { deleteBusinessChatLink } from './methods/premium/edit-business-chat-link.js'\nexport { getBoostStats } from './methods/premium/get-boost-stats.js'\nexport { getBoosts } from './methods/premium/get-boosts.js'\nexport { getBusinessChatLinks } from './methods/premium/get-business-chat-links.js'\nexport { getBusinessConnection } from './methods/premium/get-business-connection.js'\nexport { getMyBoostSlots } from './methods/premium/get-my-boost-slots.js'\nexport { iterBoosters } from './methods/premium/iter-boosters.js'\nexport { setBusinessIntro } from './methods/premium/set-business-intro.js'\nexport { setBusinessWorkHours } from './methods/premium/set-business-work-hours.js'\nexport { addStickerToSet } from './methods/stickers/add-sticker-to-set.js'\nexport { createStickerSet } from './methods/stickers/create-sticker-set.js'\nexport { deleteStickerFromSet } from './methods/stickers/delete-sticker-from-set.js'\nexport { getCustomEmojis } from './methods/stickers/get-custom-emojis.js'\nexport { getCustomEmojisFromMessages } from './methods/stickers/get-custom-emojis.js'\nexport { getInstalledStickers } from './methods/stickers/get-installed-stickers.js'\nexport { getMyStickerSets } from './methods/stickers/get-my-sticker-sets.js'\nexport { getStickerSet } from './methods/stickers/get-sticker-set.js'\nexport { moveStickerInSet } from './methods/stickers/move-sticker-in-set.js'\nexport { replaceStickerInSet } from './methods/stickers/replace-sticker-in-set.js'\nexport { setChatStickerSet } from './methods/stickers/set-chat-sticker-set.js'\nexport { setStickerSetThumb } from './methods/stickers/set-sticker-set-thumb.js'\nexport type { CanSendStoryResult } from './methods/stories/can-send-story.js'\nexport { canSendStory } from './methods/stories/can-send-story.js'\nexport { deleteStories } from './methods/stories/delete-stories.js'\nexport { editStory } from './methods/stories/edit-story.js'\nexport { getAllStories } from './methods/stories/get-all-stories.js'\nexport { getPeerStories } from './methods/stories/get-peer-stories.js'\nexport { getProfileStories } from './methods/stories/get-profile-stories.js'\nexport { getStoriesById } from './methods/stories/get-stories-by-id.js'\nexport { getStoriesInteractions } from './methods/stories/get-stories-interactions.js'\nexport { getStoryLink } from './methods/stories/get-story-link.js'\nexport { getStoryViewers } from './methods/stories/get-story-viewers.js'\nexport { hideMyStoriesViews } from './methods/stories/hide-my-stories-views.js'\nexport { incrementStoriesViews } from './methods/stories/increment-stories-views.js'\nexport { iterAllStories } from './methods/stories/iter-all-stories.js'\nexport { iterProfileStories } from './methods/stories/iter-profile-stories.js'\nexport { iterStoryViewers } from './methods/stories/iter-story-viewers.js'\nexport { readStories } from './methods/stories/read-stories.js'\nexport { reportStory } from './methods/stories/report-story.js'\nexport { sendStory } from './methods/stories/send-story.js'\nexport { sendStoryReaction } from './methods/stories/send-story-reaction.js'\nexport { togglePeerStoriesArchived } from './methods/stories/toggle-peer-stories-archived.js'\nexport { toggleStoriesPinned } from './methods/stories/toggle-stories-pinned.js'\nexport { blockUser } from './methods/users/block-user.js'\nexport { deleteProfilePhotos } from './methods/users/delete-profile-photos.js'\nexport { editCloseFriendsRaw } from './methods/users/edit-close-friends.js'\nexport { editCloseFriends } from './methods/users/edit-close-friends.js'\nexport { getCommonChats } from './methods/users/get-common-chats.js'\nexport { getGlobalTtl } from './methods/users/get-global-ttl.js'\nexport { getMe } from './methods/users/get-me.js'\nexport { getMyUsername } from './methods/users/get-my-username.js'\nexport { getProfilePhoto } from './methods/users/get-profile-photo.js'\nexport { getProfilePhotos } from './methods/users/get-profile-photos.js'\nexport { getUsers } from './methods/users/get-users.js'\nexport { iterProfilePhotos } from './methods/users/iter-profile-photos.js'\nexport { resolvePeer } from './methods/users/resolve-peer.js'\nexport { resolveUser } from './methods/users/resolve-peer.js'\nexport { resolveChannel } from './methods/users/resolve-peer.js'\nexport { resolvePeerMany } from './methods/users/resolve-peer-many.js'\nexport { setGlobalTtl } from './methods/users/set-global-ttl.js'\nexport { setMyBirthday } from './methods/users/set-my-birthday.js'\nexport { setMyEmojiStatus } from './methods/users/set-my-emoji-status.js'\nexport { setMyProfilePhoto } from './methods/users/set-my-profile-photo.js'\nexport { setMyUsername } from './methods/users/set-my-username.js'\nexport { setOffline } from './methods/users/set-offline.js'\nexport { unblockUser } from './methods/users/unblock-user.js'\nexport { updateProfile } from './methods/users/update-profile.js'\n"]}
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../src/highlevel/methods.ts"],"names":[],"mappings":";;;;;;;;AAAA,kCAAkC;AAClC,sEAAgE;AAAvD,kHAAA,aAAa,OAAA;AACtB,4EAAqE;AAA5D,uHAAA,eAAe,OAAA;AACxB,wDAAkD;AAAzC,oGAAA,MAAM,OAAA;AACf,0EAAoE;AAA3D,sHAAA,eAAe,OAAA;AACxB,gEAA0D;AAAjD,4GAAA,UAAU,OAAA;AACnB,gDAA2C;AAAlC,6FAAA,GAAG,OAAA;AACZ,4DAAsD;AAA7C,wGAAA,QAAQ,OAAA;AACjB,8EAAuE;AAA9D,yHAAA,gBAAgB,OAAA;AACzB,wDAAkD;AAAzC,oGAAA,MAAM,OAAA;AACf,gEAAyD;AAAhD,2GAAA,SAAS,OAAA;AAClB,oDAA+C;AAAtC,iGAAA,KAAK,OAAA;AACd,8DAAwD;AAA/C,0GAAA,SAAS,OAAA;AAClB,oDAAoD;AAA3C,sGAAA,UAAU,OAAA;AACnB,oFAA6E;AAApE,+HAAA,mBAAmB,OAAA;AAC5B,gFAAyE;AAAhE,2HAAA,iBAAiB,OAAA;AAC1B,4FAAoF;AAA3E,sIAAA,sBAAsB,OAAA;AAC/B,8EAAuE;AAA9D,yHAAA,gBAAgB,OAAA;AACzB,kEAA2D;AAAlD,6GAAA,UAAU,OAAA;AACnB,gFAAwE;AAA/D,0HAAA,gBAAgB,OAAA;AACzB,gFAAyE;AAAhE,2HAAA,iBAAiB,OAAA;AAC1B,kFAA0E;AAAjE,4HAAA,iBAAiB,OAAA;AAC1B,kFAAgF;AAAvE,kIAAA,uBAAuB,OAAA;AAChC,wEAAiE;AAAxD,mHAAA,aAAa,OAAA;AACtB,kEAA2D;AAAlD,6GAAA,UAAU,OAAA;AACnB,gFAAwE;AAA/D,0HAAA,gBAAgB,OAAA;AACzB,sEAA+D;AAAtD,iHAAA,YAAY,OAAA;AACrB,sEAAqE;AAA5D,uHAAA,kBAAkB,OAAA;AAC3B,wEAAiE;AAAxD,mHAAA,aAAa,OAAA;AACtB,oFAA4E;AAAnE,8HAAA,kBAAkB,OAAA;AAC3B,2EAAoE;AAA3D,qHAAA,cAAc,OAAA;AACvB,qEAA+D;AAAtD,gHAAA,YAAY,OAAA;AACrB,yEAAkE;AAAzD,mHAAA,aAAa,OAAA;AACtB,uEAAiE;AAAxD,kHAAA,aAAa,OAAA;AAEtB,mEAA6D;AAApD,8GAAA,WAAW,OAAA;AACpB,6EAAuE;AAA9D,wHAAA,gBAAgB,OAAA;AACzB,uEAAiE;AAAxD,kHAAA,aAAa,OAAA;AACtB,6EAAsE;AAA7D,uHAAA,eAAe,OAAA;AACxB,mEAA6D;AAApD,8GAAA,WAAW,OAAA;AACpB,uEAAiE;AAAxD,kHAAA,aAAa,OAAA;AACtB,iFAA0E;AAAjE,2HAAA,iBAAiB,OAAA;AAC1B,6EAAsE;AAA7D,uHAAA,eAAe,OAAA;AACxB,2DAAqD;AAA5C,sGAAA,OAAO,OAAA;AAChB,+EAAuE;AAA9D,wHAAA,eAAe,OAAA;AACxB,yEAAkE;AAAzD,mHAAA,aAAa,OAAA;AACtB,2EAAoE;AAA3D,qHAAA,cAAc,OAAA;AACvB,2EAAoE;AAA3D,qHAAA,cAAc,OAAA;AACvB,qEAA8D;AAArD,+GAAA,WAAW,OAAA;AACpB,2EAAoE;AAA3D,qHAAA,cAAc,OAAA;AACvB,mFAA4E;AAAnE,6HAAA,kBAAkB,OAAA;AAC3B,iFAAyE;AAAhE,0HAAA,gBAAgB,OAAA;AACzB,6EAAsE;AAA7D,uHAAA,eAAe,OAAA;AACxB,6DAAuD;AAA9C,wGAAA,QAAQ,OAAA;AACjB,2EAAoE;AAA3D,qHAAA,cAAc,OAAA;AACvB,+DAAyD;AAAhD,0GAAA,SAAS,OAAA;AAClB,2EAAoE;AAA3D,qHAAA,cAAc,OAAA;AACvB,6DAAuD;AAA9C,wGAAA,QAAQ,OAAA;AACjB,6DAAwD;AAA/C,yGAAA,SAAS,OAAA;AAClB,6EAAuE;AAA9D,wHAAA,gBAAgB,OAAA;AACzB,mFAA4E;AAAnE,6HAAA,kBAAkB,OAAA;AAC3B,+DAAyD;AAAhD,0GAAA,SAAS,OAAA;AAClB,uEAAgE;AAAvD,iHAAA,YAAY,OAAA;AACrB,mGAA2F;AAAlF,4IAAA,yBAAyB,OAAA;AAClC,mFAA4E;AAAnE,6HAAA,kBAAkB,OAAA;AAC3B,uEAAgE;AAAvD,iHAAA,YAAY,OAAA;AACrB,uEAAgE;AAAvD,iHAAA,YAAY,OAAA;AACrB,mEAA4D;AAAnD,6GAAA,UAAU,OAAA;AACnB,6EAAsE;AAA7D,uHAAA,eAAe,OAAA;AACxB,qEAA8D;AAArD,+GAAA,WAAW,OAAA;AACpB,6FAAsF;AAA7E,uIAAA,uBAAuB,OAAA;AAChC,2FAAoF;AAA3E,qIAAA,sBAAsB,OAAA;AAC/B,mFAA4E;AAAnE,6HAAA,kBAAkB,OAAA;AAC3B,iFAAyE;AAAhE,0HAAA,gBAAgB,OAAA;AACzB,yEAAmE;AAA1D,oHAAA,cAAc,OAAA;AACvB,6EAAsE;AAA7D,uHAAA,eAAe,OAAA;AACxB,oEAA8D;AAArD,4GAAA,UAAU,OAAA;AACnB,4EAAsE;AAA7D,oHAAA,cAAc,OAAA;AACvB,sEAAgE;AAAvD,8GAAA,WAAW,OAAA;AACpB,4EAAsE;AAA7D,oHAAA,cAAc,OAAA;AACvB,uEAAiE;AAAxD,gHAAA,YAAY,OAAA;AACrB,uEAAiE;AAAxD,gHAAA,YAAY,OAAA;AACrB,mEAA6D;AAApD,4GAAA,UAAU,OAAA;AACnB,qEAA+D;AAAtD,8GAAA,WAAW,OAAA;AACpB,mEAA6D;AAApD,4GAAA,UAAU,OAAA;AACnB,mEAA6D;AAApD,4GAAA,UAAU,OAAA;AACnB,6EAAsE;AAA7D,qHAAA,cAAc,OAAA;AACvB,qEAA+D;AAAtD,8GAAA,WAAW,OAAA;AACpB,+EAAwE;AAA/D,uHAAA,eAAe,OAAA;AACxB,yEAAqE;AAA5D,sHAAA,gBAAgB,OAAA;AACzB,6EAAyE;AAAhE,0HAAA,kBAAkB,OAAA;AAC3B,yEAAqE;AAA5D,sHAAA,gBAAgB,OAAA;AACzB,mFAA6E;AAApE,8HAAA,mBAAmB,OAAA;AAC5B,qFAA+E;AAAtE,gIAAA,oBAAoB,OAAA;AAC7B,iEAA2D;AAAlD,4GAAA,UAAU,OAAA;AACnB,mEAA6D;AAApD,8GAAA,WAAW,OAAA;AACpB,gFAAyE;AAAhE,yHAAA,gBAAgB,OAAA;AACzB,gGAAwF;AAA/E,wIAAA,uBAAuB,OAAA;AAChC,4EAAqE;AAA5D,qHAAA,cAAc,OAAA;AAEvB,4EAAqE;AAA5D,qHAAA,cAAc,OAAA;AACvB,wFAA+E;AAAtE,+HAAA,kBAAkB,OAAA;AAC3B,8EAAuE;AAA9D,uHAAA,eAAe,OAAA;AACxB,kGAA0F;AAAjF,0IAAA,wBAAwB,OAAA;AACjC,oEAA8D;AAArD,8GAAA,WAAW,OAAA;AACpB,8FAAsF;AAA7E,sIAAA,sBAAsB,OAAA;AAC/B,8FAAsF;AAA7E,sIAAA,sBAAsB,OAAA;AAC/B,kGAA0F;AAAjF,0IAAA,wBAAwB,OAAA;AACjC,sFAA+E;AAAtE,yHAAA,gBAAgB,OAAA;AACzB,kFAA2E;AAAlE,qHAAA,cAAc,OAAA;AACvB,sFAA+E;AAAtE,yHAAA,gBAAgB,OAAA;AACzB,gFAAyE;AAAhE,mHAAA,aAAa,OAAA;AACtB,gGAAwF;AAA/E,kIAAA,oBAAoB,OAAA;AAE7B,kFAA2E;AAAlE,qHAAA,cAAc,OAAA;AACvB,gGAAwF;AAA/E,kIAAA,oBAAoB,OAAA;AAC7B,8FAAsF;AAA7E,gIAAA,mBAAmB,OAAA;AAC5B,oFAA6E;AAApE,uHAAA,eAAe,OAAA;AACxB,kGAA0F;AAAjF,oIAAA,qBAAqB,OAAA;AAC9B,oFAA6E;AAApE,uHAAA,eAAe,OAAA;AACxB,sFAA+E;AAAtE,yHAAA,gBAAgB,OAAA;AACzB,kEAA4D;AAAnD,0GAAA,SAAS,OAAA;AAElB,4EAA0E;AAAjE,wHAAA,kBAAkB,OAAA;AAC3B,4EAAsE;AAA7D,oHAAA,cAAc,OAAA;AACvB,gGAAyF;AAAhF,uIAAA,uBAAuB,OAAA;AAChC,oFAA6E;AAApE,2HAAA,iBAAiB,OAAA;AAC1B,sEAAgE;AAAvD,8GAAA,WAAW,OAAA;AAEpB,8EAA4E;AAAnE,0HAAA,mBAAmB,OAAA;AAC5B,8EAAwE;AAA/D,sHAAA,eAAe,OAAA;AACxB,kGAA0F;AAAjF,wIAAA,uBAAuB,OAAA;AAChC,wFAAwF;AAA/E,sIAAA,0BAA0B,OAAA;AACnC,kGAA0F;AAAjF,wIAAA,uBAAuB,OAAA;AAChC,0FAAmF;AAA1E,iIAAA,oBAAoB,OAAA;AAC7B,0EAAmE;AAA1D,iHAAA,YAAY,OAAA;AAErB,oEAA8D;AAArD,4GAAA,UAAU,OAAA;AACnB,oFAA4E;AAAnE,0HAAA,gBAAgB,OAAA;AACzB,gFAAyE;AAAhE,uHAAA,eAAe,OAAA;AACxB,wFAAqF;AAA5E,mIAAA,uBAAuB,OAAA;AAChC,wFAAiF;AAAxE,+HAAA,mBAAmB,OAAA;AAC5B,sEAAgE;AAAvD,8GAAA,WAAW,OAAA;AACpB,oFAA6E;AAApE,2HAAA,iBAAiB,OAAA;AAE1B,kFAA2E;AAAlE,yHAAA,gBAAgB,OAAA;AACzB,sEAA+D;AAAtD,6GAAA,UAAU,OAAA;AACnB,0FAAmF;AAA1E,iIAAA,oBAAoB,OAAA;AAC7B,sEAAgE;AAAvD,8GAAA,WAAW,OAAA;AACpB,oFAA6E;AAApE,2HAAA,iBAAiB,OAAA;AAC1B,kFAA2E;AAAlE,yHAAA,gBAAgB,OAAA;AACzB,sFAA+E;AAAtE,6HAAA,kBAAkB,OAAA;AAC3B,oEAA8D;AAArD,4GAAA,UAAU,OAAA;AACnB,sEAAgE;AAAvD,8GAAA,WAAW,OAAA;AACpB,0EAAoE;AAA3D,kHAAA,aAAa,OAAA;AAEtB,wEAAkE;AAAzD,gHAAA,YAAY,OAAA;AAErB,0EAAoE;AAA3D,kHAAA,aAAa,OAAA;AACtB,0EAAwE;AAA/D,sHAAA,iBAAiB,OAAA;AAE1B,4EAAsE;AAA7D,oHAAA,cAAc,OAAA;AACvB,oEAA8D;AAArD,4GAAA,UAAU,OAAA;AACnB,oEAA+D;AAAtD,6GAAA,WAAW,OAAA;AACpB,oEAAoE;AAA3D,kHAAA,gBAAgB,OAAA;AACzB,sEAAgE;AAAvD,8GAAA,WAAW,OAAA;AACpB,sEAAiE;AAAxD,+GAAA,YAAY,OAAA;AACrB,sEAAsE;AAA7D,oHAAA,iBAAiB,OAAA;AAE1B,gEAA0D;AAAjD,wGAAA,QAAQ,OAAA;AAEjB,4EAAqE;AAA5D,mHAAA,aAAa,OAAA;AACtB,kEAA4D;AAAnD,0GAAA,SAAS,OAAA;AAClB,8EAAuE;AAA9D,qHAAA,cAAc,OAAA;AAEvB,kEAAgE;AAAvD,8GAAA,aAAa,OAAA;AACtB,kEAAiE;AAAxD,+GAAA,cAAc,OAAA;AACvB,kEAAsE;AAA7D,oHAAA,mBAAmB,OAAA;AAC5B,wEAAkE;AAAzD,gHAAA,YAAY,OAAA;AACrB,kEAA4D;AAAnD,0GAAA,SAAS,OAAA;AAClB,kEAA6D;AAApD,2GAAA,UAAU,OAAA;AACnB,kEAAkE;AAAzD,gHAAA,eAAe,OAAA;AACxB,0EAAoE;AAA3D,kHAAA,aAAa,OAAA;AACtB,gEAA0D;AAAjD,wGAAA,QAAQ,OAAA;AACjB,oEAA8D;AAArD,4GAAA,UAAU,OAAA;AACnB,gEAA0D;AAAjD,wGAAA,QAAQ,OAAA;AACjB,gFAA0E;AAAjE,wHAAA,gBAAgB,OAAA;AACzB,0EAAoE;AAA3D,kHAAA,aAAa,OAAA;AACtB,kFAA2E;AAAlE,yHAAA,gBAAgB,OAAA;AACzB,wEAAkE;AAAzD,gHAAA,YAAY,OAAA;AACrB,kFAA2E;AAAlE,6HAAA,kBAAkB,OAAA;AAC3B,kFAA2E;AAAlE,6HAAA,kBAAkB,OAAA;AAC3B,wFAAkF;AAAzE,oIAAA,sBAAsB,OAAA;AAC/B,wFAAiF;AAAxE,+HAAA,mBAAmB,OAAA;AAC5B,wFAAiF;AAAxE,+HAAA,mBAAmB,OAAA;AAC5B,0EAA0E;AAAjE,wHAAA,mBAAmB,OAAA;AAC5B,0EAA0E;AAAjE,wHAAA,mBAAmB,OAAA;AAC5B,0EAA0E;AAAjE,wHAAA,mBAAmB,OAAA;AAC5B,wFAAiF;AAAxE,+HAAA,mBAAmB,OAAA;AAC5B,mEAA6D;AAApD,4GAAA,UAAU,OAAA;AAEnB,2EAAoE;AAA3D,mHAAA,aAAa,OAAA;AACtB,+FAAuF;AAA9E,sIAAA,sBAAsB,OAAA;AAC/B,2FAAmF;AAA1E,kIAAA,oBAAoB,OAAA;AAC7B,2FAAqF;AAA5E,oIAAA,sBAAsB,OAAA;AAC/B,2EAAoE;AAA3D,mHAAA,aAAa,OAAA;AACtB,iEAA2D;AAAlD,0GAAA,SAAS,OAAA;AAClB,2FAAmF;AAA1E,kIAAA,oBAAoB,OAAA;AAC7B,2FAAoF;AAA3E,mIAAA,qBAAqB,OAAA;AAC9B,iFAAyE;AAAhE,wHAAA,eAAe,OAAA;AACxB,uEAAiE;AAAxD,gHAAA,YAAY,OAAA;AACrB,iFAA0E;AAAjE,yHAAA,gBAAgB,OAAA;AACzB,2FAAmF;AAA1E,kIAAA,oBAAoB,OAAA;AAC7B,kFAA0E;AAAjE,wHAAA,eAAe,OAAA;AACxB,kFAA2E;AAAlE,yHAAA,gBAAgB,OAAA;AACzB,4FAAoF;AAA3E,kIAAA,oBAAoB,OAAA;AAC7B,gFAAyE;AAAhE,uHAAA,eAAe,OAAA;AACxB,gFAAqF;AAA5E,mIAAA,2BAA2B,OAAA;AACpC,0FAAmF;AAA1E,iIAAA,oBAAoB,OAAA;AAC7B,oFAA4E;AAAnE,0HAAA,gBAAgB,OAAA;AACzB,4EAAqE;AAA5D,mHAAA,aAAa,OAAA;AACtB,oFAA4E;AAAnE,0HAAA,gBAAgB,OAAA;AACzB,0FAAkF;AAAzE,gIAAA,mBAAmB,OAAA;AAC5B,sFAA8E;AAArE,4HAAA,iBAAiB,OAAA;AAC1B,wFAAgF;AAAvE,8HAAA,kBAAkB,OAAA;AAE3B,yEAAkE;AAAzD,iHAAA,YAAY,OAAA;AACrB,yEAAmE;AAA1D,kHAAA,aAAa,OAAA;AACtB,iEAA2D;AAAlD,0GAAA,SAAS,OAAA;AAClB,2EAAoE;AAA3D,mHAAA,aAAa,OAAA;AACtB,6EAAsE;AAA7D,qHAAA,cAAc,OAAA;AACvB,mFAA4E;AAAnE,2HAAA,iBAAiB,OAAA;AAC1B,+EAAuE;AAA9D,sHAAA,cAAc,OAAA;AACvB,6FAAsF;AAA7E,qIAAA,sBAAsB,OAAA;AAC/B,yEAAkE;AAAzD,iHAAA,YAAY,OAAA;AACrB,+EAAwE;AAA/D,uHAAA,eAAe,OAAA;AACxB,uFAA+E;AAAtE,8HAAA,kBAAkB,OAAA;AAC3B,2FAAoF;AAA3E,mIAAA,qBAAqB,OAAA;AAC9B,6EAAsE;AAA7D,qHAAA,cAAc,OAAA;AACvB,qFAA8E;AAArE,6HAAA,kBAAkB,OAAA;AAC3B,iFAA0E;AAAjE,yHAAA,gBAAgB,OAAA;AACzB,qEAA+D;AAAtD,8GAAA,WAAW,OAAA;AACpB,qEAA+D;AAAtD,8GAAA,WAAW,OAAA;AACpB,iEAA2D;AAAlD,0GAAA,SAAS,OAAA;AAClB,mFAA4E;AAAnE,2HAAA,iBAAiB,OAAA;AAC1B,qGAA6F;AAApF,4IAAA,yBAAyB,OAAA;AAClC,uFAAgF;AAAvE,+HAAA,mBAAmB,OAAA;AAC5B,+DAAyD;AAAhD,0GAAA,SAAS,OAAA;AAClB,qFAA8E;AAArE,+HAAA,mBAAmB,OAAA;AAC5B,+EAA2E;AAAlE,4HAAA,mBAAmB,OAAA;AAC5B,+EAAwE;AAA/D,yHAAA,gBAAgB,OAAA;AACzB,2EAAoE;AAA3D,qHAAA,cAAc,OAAA;AACvB,uEAAgE;AAAvD,iHAAA,YAAY,OAAA;AACrB,uDAAiD;AAAxC,kGAAA,KAAK,OAAA;AACd,yEAAkE;AAAzD,mHAAA,aAAa,OAAA;AACtB,6EAAsE;AAA7D,uHAAA,eAAe,OAAA;AACxB,+EAAwE;AAA/D,yHAAA,gBAAgB,OAAA;AACzB,6DAAuD;AAA9C,wGAAA,QAAQ,OAAA;AACjB,iFAA0E;AAAjE,2HAAA,iBAAiB,OAAA;AAC1B,mEAA6D;AAApD,8GAAA,WAAW,OAAA;AACpB,mEAA6D;AAApD,8GAAA,WAAW,OAAA;AACpB,mEAAgE;AAAvD,iHAAA,cAAc,OAAA;AACvB,6EAAsE;AAA7D,uHAAA,eAAe,OAAA;AACxB,uEAAgE;AAAvD,iHAAA,YAAY,OAAA;AACrB,yEAAkE;AAAzD,mHAAA,aAAa,OAAA;AACtB,iFAAyE;AAAhE,0HAAA,gBAAgB,OAAA;AACzB,mFAA2E;AAAlE,4HAAA,iBAAiB,OAAA;AAC1B,yEAAkE;AAAzD,mHAAA,aAAa,OAAA;AACtB,iEAA2D;AAAlD,4GAAA,UAAU,OAAA;AACnB,mEAA6D;AAApD,8GAAA,WAAW,OAAA;AACpB,uEAAiE;AAAxD,kHAAA,aAAa,OAAA","sourcesContent":["/* THIS FILE WAS AUTO-GENERATED */\nexport { checkPassword } from './methods/auth/check-password.js'\nexport { getPasswordHint } from './methods/auth/get-password-hint.js'\nexport { logOut } from './methods/auth/log-out.js'\nexport { recoverPassword } from './methods/auth/recover-password.js'\nexport { resendCode } from './methods/auth/resend-code.js'\nexport { run } from './methods/auth/run.js'\nexport { sendCode } from './methods/auth/send-code.js'\nexport { sendRecoveryCode } from './methods/auth/send-recovery-code.js'\nexport { signIn } from './methods/auth/sign-in.js'\nexport { signInBot } from './methods/auth/sign-in-bot.js'\nexport { start } from './methods/auth/start.js'\nexport { startTest } from './methods/auth/start-test.js'\nexport { isSelfPeer } from './methods/auth/utils.js'\nexport { answerCallbackQuery } from './methods/bots/answer-callback-query.js'\nexport { answerInlineQuery } from './methods/bots/answer-inline-query.js'\nexport { answerPreCheckoutQuery } from './methods/bots/answer-pre-checkout-query.js'\nexport { deleteMyCommands } from './methods/bots/delete-my-commands.js'\nexport { getBotInfo } from './methods/bots/get-bot-info.js'\nexport { getBotMenuButton } from './methods/bots/get-bot-menu-button.js'\nexport { getCallbackAnswer } from './methods/bots/get-callback-answer.js'\nexport { getGameHighScores } from './methods/bots/get-game-high-scores.js'\nexport { getInlineGameHighScores } from './methods/bots/get-game-high-scores.js'\nexport { getMyCommands } from './methods/bots/get-my-commands.js'\nexport { setBotInfo } from './methods/bots/set-bot-info.js'\nexport { setBotMenuButton } from './methods/bots/set-bot-menu-button.js'\nexport { setGameScore } from './methods/bots/set-game-score.js'\nexport { setInlineGameScore } from './methods/bots/set-game-score.js'\nexport { setMyCommands } from './methods/bots/set-my-commands.js'\nexport { setMyDefaultRights } from './methods/bots/set-my-default-rights.js'\nexport { addChatMembers } from './methods/chats/add-chat-members.js'\nexport { archiveChats } from './methods/chats/archive-chats.js'\nexport { banChatMember } from './methods/chats/ban-chat-member.js'\nexport { createChannel } from './methods/chats/create-channel.js'\nexport type { CreateGroupResult } from './methods/chats/create-group.js'\nexport { createGroup } from './methods/chats/create-group.js'\nexport { createSupergroup } from './methods/chats/create-supergroup.js'\nexport { deleteChannel } from './methods/chats/delete-channel.js'\nexport { deleteChatPhoto } from './methods/chats/delete-chat-photo.js'\nexport { deleteGroup } from './methods/chats/delete-group.js'\nexport { deleteHistory } from './methods/chats/delete-history.js'\nexport { deleteUserHistory } from './methods/chats/delete-user-history.js'\nexport { editAdminRights } from './methods/chats/edit-admin-rights.js'\nexport { getChat } from './methods/chats/get-chat.js'\nexport { getChatEventLog } from './methods/chats/get-chat-event-log.js'\nexport { getChatMember } from './methods/chats/get-chat-member.js'\nexport { getChatMembers } from './methods/chats/get-chat-members.js'\nexport { getChatPreview } from './methods/chats/get-chat-preview.js'\nexport { getFullChat } from './methods/chats/get-full-chat.js'\nexport { getNearbyChats } from './methods/chats/get-nearby-chats.js'\nexport { getSimilarChannels } from './methods/chats/get-similar-channels.js'\nexport { iterChatEventLog } from './methods/chats/iter-chat-event-log.js'\nexport { iterChatMembers } from './methods/chats/iter-chat-members.js'\nexport { joinChat } from './methods/chats/join-chat.js'\nexport { kickChatMember } from './methods/chats/kick-chat-member.js'\nexport { leaveChat } from './methods/chats/leave-chat.js'\nexport { markChatUnread } from './methods/chats/mark-chat-unread.js'\nexport { openChat } from './methods/chats/open-chat.js'\nexport { closeChat } from './methods/chats/open-chat.js'\nexport { reorderUsernames } from './methods/chats/reorder-usernames.js'\nexport { restrictChatMember } from './methods/chats/restrict-chat-member.js'\nexport { saveDraft } from './methods/chats/save-draft.js'\nexport { setChatColor } from './methods/chats/set-chat-color.js'\nexport { setChatDefaultPermissions } from './methods/chats/set-chat-default-permissions.js'\nexport { setChatDescription } from './methods/chats/set-chat-description.js'\nexport { setChatPhoto } from './methods/chats/set-chat-photo.js'\nexport { setChatTitle } from './methods/chats/set-chat-title.js'\nexport { setChatTtl } from './methods/chats/set-chat-ttl.js'\nexport { setChatUsername } from './methods/chats/set-chat-username.js'\nexport { setSlowMode } from './methods/chats/set-slow-mode.js'\nexport { toggleContentProtection } from './methods/chats/toggle-content-protection.js'\nexport { toggleFragmentUsername } from './methods/chats/toggle-fragment-username.js'\nexport { toggleJoinRequests } from './methods/chats/toggle-join-requests.js'\nexport { toggleJoinToSend } from './methods/chats/toggle-join-to-send.js'\nexport { unarchiveChats } from './methods/chats/unarchive-chats.js'\nexport { unbanChatMember } from './methods/chats/unban-chat-member.js'\nexport { addContact } from './methods/contacts/add-contact.js'\nexport { deleteContacts } from './methods/contacts/delete-contacts.js'\nexport { getContacts } from './methods/contacts/get-contacts.js'\nexport { importContacts } from './methods/contacts/import-contacts.js'\nexport { createFolder } from './methods/dialogs/create-folder.js'\nexport { deleteFolder } from './methods/dialogs/delete-folder.js'\nexport { editFolder } from './methods/dialogs/edit-folder.js'\nexport { findDialogs } from './methods/dialogs/find-dialogs.js'\nexport { findFolder } from './methods/dialogs/find-folder.js'\nexport { getFolders } from './methods/dialogs/get-folders.js'\nexport { getPeerDialogs } from './methods/dialogs/get-peer-dialogs.js'\nexport { iterDialogs } from './methods/dialogs/iter-dialogs.js'\nexport { setFoldersOrder } from './methods/dialogs/set-folders-order.js'\nexport { downloadAsBuffer } from './methods/files/download-buffer.js'\nexport { downloadAsIterable } from './methods/files/download-iterable.js'\nexport { downloadAsStream } from './methods/files/download-stream.js'\nexport { _normalizeInputFile } from './methods/files/normalize-input-file.js'\nexport { _normalizeInputMedia } from './methods/files/normalize-input-media.js'\nexport { uploadFile } from './methods/files/upload-file.js'\nexport { uploadMedia } from './methods/files/upload-media.js'\nexport { createForumTopic } from './methods/forums/create-forum-topic.js'\nexport { deleteForumTopicHistory } from './methods/forums/delete-forum-topic-history.js'\nexport { editForumTopic } from './methods/forums/edit-forum-topic.js'\nexport type { GetForumTopicsOffset } from './methods/forums/get-forum-topics.js'\nexport { getForumTopics } from './methods/forums/get-forum-topics.js'\nexport { getForumTopicsById } from './methods/forums/get-forum-topics-by-id.js'\nexport { iterForumTopics } from './methods/forums/iter-forum-topics.js'\nexport { reorderPinnedForumTopics } from './methods/forums/reorder-pinned-forum-topics.js'\nexport { toggleForum } from './methods/forums/toggle-forum.js'\nexport { toggleForumTopicClosed } from './methods/forums/toggle-forum-topic-closed.js'\nexport { toggleForumTopicPinned } from './methods/forums/toggle-forum-topic-pinned.js'\nexport { toggleGeneralTopicHidden } from './methods/forums/toggle-general-topic-hidden.js'\nexport { createInviteLink } from './methods/invite-links/create-invite-link.js'\nexport { editInviteLink } from './methods/invite-links/edit-invite-link.js'\nexport { exportInviteLink } from './methods/invite-links/export-invite-link.js'\nexport { getInviteLink } from './methods/invite-links/get-invite-link.js'\nexport { getInviteLinkMembers } from './methods/invite-links/get-invite-link-members.js'\nexport type { GetInviteLinksOffset } from './methods/invite-links/get-invite-links.js'\nexport { getInviteLinks } from './methods/invite-links/get-invite-links.js'\nexport { getPrimaryInviteLink } from './methods/invite-links/get-primary-invite-link.js'\nexport { hideAllJoinRequests } from './methods/invite-links/hide-all-join-requests.js'\nexport { hideJoinRequest } from './methods/invite-links/hide-join-request.js'\nexport { iterInviteLinkMembers } from './methods/invite-links/iter-invite-link-members.js'\nexport { iterInviteLinks } from './methods/invite-links/iter-invite-links.js'\nexport { revokeInviteLink } from './methods/invite-links/revoke-invite-link.js'\nexport { closePoll } from './methods/messages/close-poll.js'\nexport type { DeleteMessagesParams } from './methods/messages/delete-messages.js'\nexport { deleteMessagesById } from './methods/messages/delete-messages.js'\nexport { deleteMessages } from './methods/messages/delete-messages.js'\nexport { deleteScheduledMessages } from './methods/messages/delete-scheduled-messages.js'\nexport { editInlineMessage } from './methods/messages/edit-inline-message.js'\nexport { editMessage } from './methods/messages/edit-message.js'\nexport type { ForwardMessageOptions } from './methods/messages/forward-messages.js'\nexport { forwardMessagesById } from './methods/messages/forward-messages.js'\nexport { forwardMessages } from './methods/messages/forward-messages.js'\nexport { getAllScheduledMessages } from './methods/messages/get-all-scheduled-messages.js'\nexport { getAvailableMessageEffects } from './methods/messages/get-available-effects.js'\nexport { getCallbackQueryMessage } from './methods/messages/get-callback-query-message.js'\nexport { getDiscussionMessage } from './methods/messages/get-discussion-message.js'\nexport { getFactCheck } from './methods/messages/get-fact-check.js'\nexport type { GetHistoryOffset } from './methods/messages/get-history.js'\nexport { getHistory } from './methods/messages/get-history.js'\nexport { getMessageByLink } from './methods/messages/get-message-by-link.js'\nexport { getMessageGroup } from './methods/messages/get-message-group.js'\nexport { getMessageReactionsById } from './methods/messages/get-message-reactions.js'\nexport { getMessageReactions } from './methods/messages/get-message-reactions.js'\nexport { getMessages } from './methods/messages/get-messages.js'\nexport { getMessagesUnsafe } from './methods/messages/get-messages-unsafe.js'\nexport type { GetReactionUsersOffset } from './methods/messages/get-reaction-users.js'\nexport { getReactionUsers } from './methods/messages/get-reaction-users.js'\nexport { getReplyTo } from './methods/messages/get-reply-to.js'\nexport { getScheduledMessages } from './methods/messages/get-scheduled-messages.js'\nexport { iterHistory } from './methods/messages/iter-history.js'\nexport { iterReactionUsers } from './methods/messages/iter-reaction-users.js'\nexport { iterSearchGlobal } from './methods/messages/iter-search-global.js'\nexport { iterSearchMessages } from './methods/messages/iter-search-messages.js'\nexport { pinMessage } from './methods/messages/pin-message.js'\nexport { readHistory } from './methods/messages/read-history.js'\nexport { readReactions } from './methods/messages/read-reactions.js'\nexport type { SearchGlobalOffset } from './methods/messages/search-global.js'\nexport { searchGlobal } from './methods/messages/search-global.js'\nexport type { SearchHashtagOffset } from './methods/messages/search-hashtag.js'\nexport { searchHashtag } from './methods/messages/search-hashtag.js'\nexport { iterSearchHashtag } from './methods/messages/search-hashtag.js'\nexport type { SearchMessagesOffset } from './methods/messages/search-messages.js'\nexport { searchMessages } from './methods/messages/search-messages.js'\nexport { answerText } from './methods/messages/send-answer.js'\nexport { answerMedia } from './methods/messages/send-answer.js'\nexport { answerMediaGroup } from './methods/messages/send-answer.js'\nexport { commentText } from './methods/messages/send-comment.js'\nexport { commentMedia } from './methods/messages/send-comment.js'\nexport { commentMediaGroup } from './methods/messages/send-comment.js'\nexport type { SendCopyParams } from './methods/messages/send-copy.js'\nexport { sendCopy } from './methods/messages/send-copy.js'\nexport type { SendCopyGroupParams } from './methods/messages/send-copy-group.js'\nexport { sendCopyGroup } from './methods/messages/send-copy-group.js'\nexport { sendMedia } from './methods/messages/send-media.js'\nexport { sendMediaGroup } from './methods/messages/send-media-group.js'\nexport type { QuoteParamsFrom } from './methods/messages/send-quote.js'\nexport { quoteWithText } from './methods/messages/send-quote.js'\nexport { quoteWithMedia } from './methods/messages/send-quote.js'\nexport { quoteWithMediaGroup } from './methods/messages/send-quote.js'\nexport { sendReaction } from './methods/messages/send-reaction.js'\nexport { replyText } from './methods/messages/send-reply.js'\nexport { replyMedia } from './methods/messages/send-reply.js'\nexport { replyMediaGroup } from './methods/messages/send-reply.js'\nexport { sendScheduled } from './methods/messages/send-scheduled.js'\nexport { sendText } from './methods/messages/send-text.js'\nexport { sendTyping } from './methods/messages/send-typing.js'\nexport { sendVote } from './methods/messages/send-vote.js'\nexport { translateMessage } from './methods/messages/translate-message.js'\nexport { translateText } from './methods/messages/translate-text.js'\nexport { unpinAllMessages } from './methods/messages/unpin-all-messages.js'\nexport { unpinMessage } from './methods/messages/unpin-message.js'\nexport { getCollectibleInfo } from './methods/misc/get-collectible-info.js'\nexport { initTakeoutSession } from './methods/misc/init-takeout-session.js'\nexport { _normalizePrivacyRules } from './methods/misc/normalize-privacy-rules.js'\nexport { changeCloudPassword } from './methods/password/change-cloud-password.js'\nexport { enableCloudPassword } from './methods/password/enable-cloud-password.js'\nexport { verifyPasswordEmail } from './methods/password/password-email.js'\nexport { resendPasswordEmail } from './methods/password/password-email.js'\nexport { cancelPasswordEmail } from './methods/password/password-email.js'\nexport { removeCloudPassword } from './methods/password/remove-cloud-password.js'\nexport { applyBoost } from './methods/premium/apply-boost.js'\nexport type { CanApplyBoostResult } from './methods/premium/can-apply-boost.js'\nexport { canApplyBoost } from './methods/premium/can-apply-boost.js'\nexport { createBusinessChatLink } from './methods/premium/create-business-chat-link.js'\nexport { editBusinessChatLink } from './methods/premium/edit-business-chat-link.js'\nexport { deleteBusinessChatLink } from './methods/premium/edit-business-chat-link.js'\nexport { getBoostStats } from './methods/premium/get-boost-stats.js'\nexport { getBoosts } from './methods/premium/get-boosts.js'\nexport { getBusinessChatLinks } from './methods/premium/get-business-chat-links.js'\nexport { getBusinessConnection } from './methods/premium/get-business-connection.js'\nexport { getMyBoostSlots } from './methods/premium/get-my-boost-slots.js'\nexport { iterBoosters } from './methods/premium/iter-boosters.js'\nexport { setBusinessIntro } from './methods/premium/set-business-intro.js'\nexport { setBusinessWorkHours } from './methods/premium/set-business-work-hours.js'\nexport { addStickerToSet } from './methods/stickers/add-sticker-to-set.js'\nexport { createStickerSet } from './methods/stickers/create-sticker-set.js'\nexport { deleteStickerFromSet } from './methods/stickers/delete-sticker-from-set.js'\nexport { getCustomEmojis } from './methods/stickers/get-custom-emojis.js'\nexport { getCustomEmojisFromMessages } from './methods/stickers/get-custom-emojis.js'\nexport { getInstalledStickers } from './methods/stickers/get-installed-stickers.js'\nexport { getMyStickerSets } from './methods/stickers/get-my-sticker-sets.js'\nexport { getStickerSet } from './methods/stickers/get-sticker-set.js'\nexport { moveStickerInSet } from './methods/stickers/move-sticker-in-set.js'\nexport { replaceStickerInSet } from './methods/stickers/replace-sticker-in-set.js'\nexport { setChatStickerSet } from './methods/stickers/set-chat-sticker-set.js'\nexport { setStickerSetThumb } from './methods/stickers/set-sticker-set-thumb.js'\nexport type { CanSendStoryResult } from './methods/stories/can-send-story.js'\nexport { canSendStory } from './methods/stories/can-send-story.js'\nexport { deleteStories } from './methods/stories/delete-stories.js'\nexport { editStory } from './methods/stories/edit-story.js'\nexport { getAllStories } from './methods/stories/get-all-stories.js'\nexport { getPeerStories } from './methods/stories/get-peer-stories.js'\nexport { getProfileStories } from './methods/stories/get-profile-stories.js'\nexport { getStoriesById } from './methods/stories/get-stories-by-id.js'\nexport { getStoriesInteractions } from './methods/stories/get-stories-interactions.js'\nexport { getStoryLink } from './methods/stories/get-story-link.js'\nexport { getStoryViewers } from './methods/stories/get-story-viewers.js'\nexport { hideMyStoriesViews } from './methods/stories/hide-my-stories-views.js'\nexport { incrementStoriesViews } from './methods/stories/increment-stories-views.js'\nexport { iterAllStories } from './methods/stories/iter-all-stories.js'\nexport { iterProfileStories } from './methods/stories/iter-profile-stories.js'\nexport { iterStoryViewers } from './methods/stories/iter-story-viewers.js'\nexport { readStories } from './methods/stories/read-stories.js'\nexport { reportStory } from './methods/stories/report-story.js'\nexport { sendStory } from './methods/stories/send-story.js'\nexport { sendStoryReaction } from './methods/stories/send-story-reaction.js'\nexport { togglePeerStoriesArchived } from './methods/stories/toggle-peer-stories-archived.js'\nexport { toggleStoriesPinned } from './methods/stories/toggle-stories-pinned.js'\nexport { blockUser } from './methods/users/block-user.js'\nexport { deleteProfilePhotos } from './methods/users/delete-profile-photos.js'\nexport { editCloseFriendsRaw } from './methods/users/edit-close-friends.js'\nexport { editCloseFriends } from './methods/users/edit-close-friends.js'\nexport { getCommonChats } from './methods/users/get-common-chats.js'\nexport { getGlobalTtl } from './methods/users/get-global-ttl.js'\nexport { getMe } from './methods/users/get-me.js'\nexport { getMyUsername } from './methods/users/get-my-username.js'\nexport { getProfilePhoto } from './methods/users/get-profile-photo.js'\nexport { getProfilePhotos } from './methods/users/get-profile-photos.js'\nexport { getUsers } from './methods/users/get-users.js'\nexport { iterProfilePhotos } from './methods/users/iter-profile-photos.js'\nexport { resolvePeer } from './methods/users/resolve-peer.js'\nexport { resolveUser } from './methods/users/resolve-peer.js'\nexport { resolveChannel } from './methods/users/resolve-peer.js'\nexport { resolvePeerMany } from './methods/users/resolve-peer-many.js'\nexport { setGlobalTtl } from './methods/users/set-global-ttl.js'\nexport { setMyBirthday } from './methods/users/set-my-birthday.js'\nexport { setMyEmojiStatus } from './methods/users/set-my-emoji-status.js'\nexport { setMyProfilePhoto } from './methods/users/set-my-profile-photo.js'\nexport { setMyUsername } from './methods/users/set-my-username.js'\nexport { setOffline } from './methods/users/set-offline.js'\nexport { unblockUser } from './methods/users/unblock-user.js'\nexport { updateProfile } from './methods/users/update-profile.js'\n"]}
@@ -133,7 +133,7 @@ class Conversation {
133
133
  this._inputPeer = await (0, resolve_peer_js_1.resolvePeer)(this.client, this.chat);
134
134
  this._chatId = (0, peer_utils_js_1.getMarkedPeerId)(this._inputPeer);
135
135
  const [dialog] = await (0, get_peer_dialogs_js_1.getPeerDialogs)(this.client, this._inputPeer);
136
- const lastMessage = dialog.lastMessage;
136
+ const lastMessage = dialog?.lastMessage;
137
137
  if (lastMessage) {
138
138
  this._lastMessage = this._lastReceivedMessage = lastMessage.id;
139
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../../src/highlevel/types/conversation.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError, MtTimeoutError } from '../../types/errors.js'\nimport { MaybePromise } from '../../types/utils.js'\nimport { AsyncLock } from '../../utils/async-lock.js'\nimport { ControllablePromise, createControllablePromise } from '../../utils/controllable-promise.js'\nimport { Deque } from '../../utils/deque.js'\nimport { getMarkedPeerId } from '../../utils/peer-utils.js'\nimport { ITelegramClient } from '../client.types.js'\nimport { getPeerDialogs } from '../methods/dialogs/get-peer-dialogs.js'\nimport { readHistory } from '../methods/messages/read-history.js'\nimport { sendMedia } from '../methods/messages/send-media.js'\nimport { sendMediaGroup } from '../methods/messages/send-media-group.js'\nimport { sendText } from '../methods/messages/send-text.js'\nimport { resolvePeer } from '../methods/users/resolve-peer.js'\nimport type { Message } from './messages/message.js'\nimport type { InputPeerLike } from './peers/index.js'\nimport type { HistoryReadUpdate, ParsedUpdate } from './updates/index.js'\nimport { ParametersSkip2 } from './utils.js'\n\ninterface QueuedHandler<T> {\n promise: ControllablePromise<T>\n check?: (update: T) => MaybePromise<boolean>\n timeout?: NodeJS.Timeout\n}\n\nconst CONVERSATION_SYMBOL = Symbol('conversation')\n\ninterface ConversationsState {\n pendingConversations: Map<number, Conversation[]>\n hasConversations: boolean\n}\n\n/**\n * Represents a conversation inside some chat.\n *\n * A conversation keeps track of any messages sent or edited\n * since it was started and until it was stopped,\n * and allows waiting for events in it.\n *\n * If you need a conversation across multiple chats,\n * you should use multiple {@link Conversation} objects\n * and synchronize them manually.\n */\nexport class Conversation {\n private _inputPeer!: tl.TypeInputPeer\n private _chatId!: number\n private _started = false\n\n private _lastMessage!: number\n private _lastReceivedMessage!: number\n\n private _queuedNewMessage = new Deque<QueuedHandler<Message>>()\n private _pendingNewMessages = new Deque<Message>()\n private _lock = new AsyncLock()\n\n private _pendingEditMessage: Map<number, QueuedHandler<Message>> = new Map()\n private _recentEdits = new Deque<Message>(10)\n\n private _pendingRead: Map<number, QueuedHandler<void>> = new Map()\n\n constructor(\n readonly client: ITelegramClient,\n readonly chat: InputPeerLike,\n ) {\n if (!(CONVERSATION_SYMBOL in client)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (client as any)[CONVERSATION_SYMBOL] = {\n pendingConversations: new Map(),\n hasConversations: false,\n } satisfies ConversationsState\n }\n }\n\n private static _getState(client: ITelegramClient): ConversationsState {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (client as any)[CONVERSATION_SYMBOL] as ConversationsState\n }\n\n /**\n * Pass the update to the conversation manager and all registered\n * conversations on this client.\n *\n * @returns `true` if the update was handled by some conversation\n */\n static handleUpdate(client: ITelegramClient, update: ParsedUpdate): boolean {\n const state = Conversation._getState(client)\n if (!state?.hasConversations) return false\n\n let chatId\n\n switch (update.name) {\n case 'new_message':\n case 'edit_message':\n chatId = getMarkedPeerId(update.data.raw.peerId)\n break\n case 'history_read':\n chatId = update.data.chatId\n break\n default:\n return false\n }\n\n const conv = state.pendingConversations.get(chatId)\n if (!conv) return false\n\n for (const c of conv) {\n switch (update.name) {\n case 'new_message':\n c._onNewMessage(update.data)\n\n return true\n case 'edit_message':\n c._onEditMessage(update.data)\n\n return true\n case 'history_read':\n c._onHistoryRead(update.data)\n\n return true\n }\n }\n\n return false\n }\n\n /**\n * Get the input peer that this conversation is with\n */\n get inputPeer(): tl.TypeInputPeer {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._inputPeer\n }\n\n /**\n * ID of the very last message in this conversation.\n */\n get lastMessage(): number {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._lastMessage\n }\n\n /**\n * ID of the last incoming message in this conversation.\n *\n * Note that before any messages were received since the {@link start}\n * of the conversation, this will equal to {@link lastMessage}\n */\n get lastReceivedMessage(): number {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._lastReceivedMessage\n }\n\n /**\n * Start the conversation\n */\n async start(): Promise<void> {\n if (this._started) return\n\n this._started = true\n this._inputPeer = await resolvePeer(this.client, this.chat)\n this._chatId = getMarkedPeerId(this._inputPeer)\n\n const [dialog] = await getPeerDialogs(this.client, this._inputPeer)\n const lastMessage = dialog.lastMessage\n\n if (lastMessage) {\n this._lastMessage = this._lastReceivedMessage = lastMessage.id\n } else {\n this._lastMessage = this._lastReceivedMessage = 0\n }\n\n const state = Conversation._getState(this.client)\n\n if (!state.pendingConversations.has(this._chatId)) {\n state.pendingConversations.set(this._chatId, [])\n }\n state.pendingConversations.get(this._chatId)!.push(this)\n state.hasConversations = true\n }\n\n /**\n * Stop the conversation\n */\n stop(): void {\n if (!this._started) return\n\n const state = Conversation._getState(this.client)\n\n const pending = state.pendingConversations.get(this._chatId)\n const pendingIdx = pending?.indexOf(this) ?? -1\n\n if (pendingIdx > -1) {\n // just in case\n pending!.splice(pendingIdx, 1)\n }\n if (pending && !pending.length) {\n state.pendingConversations.delete(this._chatId)\n }\n state.hasConversations = Boolean(state.pendingConversations.size)\n\n // reset pending status\n this._queuedNewMessage.clear()\n this._pendingNewMessages.clear()\n this._pendingEditMessage.clear()\n this._recentEdits.clear()\n this._pendingRead.clear()\n\n this._started = false\n }\n\n private _recordMessage(msg: Message, incoming = false): Message {\n this._lastMessage = msg.id\n if (incoming) this._lastReceivedMessage = msg.id\n\n return msg\n }\n\n /**\n * Send a text message to this conversation.\n *\n * Wrapper over {@link sendText}\n */\n async sendText(...params: ParametersSkip2<typeof sendText>): ReturnType<typeof sendText> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._recordMessage(await sendText(this.client, this._inputPeer, ...params))\n }\n\n /**\n * Send a media to this conversation.\n *\n * Wrapper over {@link sendMedia}\n */\n async sendMedia(...params: ParametersSkip2<typeof sendMedia>): ReturnType<typeof sendMedia> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._recordMessage(await sendMedia(this.client, this._inputPeer, ...params))\n }\n\n /**\n * Send a media group to this conversation.\n *\n * Wrapper over {@link sendMediaGroup}\n */\n async sendMediaGroup(...params: ParametersSkip2<typeof sendMediaGroup>): ReturnType<typeof sendMediaGroup> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgs = await sendMediaGroup(this.client, this._inputPeer, ...params)\n\n this._recordMessage(msgs[msgs.length - 1])\n\n return msgs\n }\n\n /**\n * Mark the conversation as read up to a certain point.\n *\n * By default, reads until the last message.\n * You can pass `message=null` to read the entire conversation,\n * or pass message ID to read up until that ID.\n */\n markRead({\n message,\n clearMentions = true,\n }: { message?: number | null; clearMentions?: boolean } = {}): Promise<void> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n if (message === null) {\n message = 0\n } else if (message === undefined) {\n message = this._lastMessage ?? 0\n }\n\n return readHistory(this.client, this._inputPeer, { maxId: message, clearMentions })\n }\n\n /**\n * Helper method that calls {@link start},\n * the provided function and then {@link stop}.\n *\n * It is preferred that you use this function rather than\n * manually starting and stopping the conversation.\n *\n * If you don't stop the conversation when you're done,\n * it *will* lead to memory leaks.\n *\n * @param handler\n */\n async with<T>(handler: () => MaybePromise<T>): Promise<T> {\n await this.start()\n\n let err: unknown\n let res: T\n\n try {\n res = await handler()\n } catch (e) {\n err = e\n }\n\n this.stop()\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n if (err) throw err\n\n return res!\n }\n\n /**\n * Wait for a new message in the conversation\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param [timeout=15000] Timeout for the handler in ms. Pass `null` to disable.\n * When the timeout is reached, `MtTimeoutError` is thrown.\n */\n waitForNewMessage(\n filter?: (msg: Message) => MaybePromise<boolean>,\n timeout: number | null = 15000,\n ): Promise<Message> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const promise = createControllablePromise<Message>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n\n if (timeout !== null) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._queuedNewMessage.removeBy((it) => it.promise === promise)\n }, timeout)\n }\n\n this._queuedNewMessage.pushBack({\n promise,\n check: filter,\n timeout: timer,\n })\n\n this._processPendingNewMessages()\n\n return promise\n }\n\n /**\n * Wait for a response for the given message\n * (def. the last one) in the conversation.\n *\n * A message is considered to be a response if\n * it was sent after the given one.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n waitForResponse(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for response for.\n *\n * @default last sent/received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n const msgId = params?.message ?? this._lastMessage ?? 0\n\n const pred = filter ?\n (msg: Message) => (msg.id > msgId ? filter(msg) : false) :\n (msg: Message) => msg.id > msgId\n\n return this.waitForNewMessage(pred, params?.timeout)\n }\n\n /**\n * Wait for the reply for the given message'\n * (def. the last one) in the conversation.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n waitForReply(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for reply for.\n *\n * @default last sent/received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n const msgId = params?.message ?? this._lastMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for reply for')\n }\n\n const pred = filter ?\n (msg: Message) => (msg.replyToMessage?.id === msgId ? filter(msg) : false) :\n (msg: Message) => msg.replyToMessage?.id === msgId\n\n return this.waitForNewMessage(pred, params?.timeout)\n }\n\n /**\n * Wait for a message to be edited in the conversation.\n * By defaults wait for the last message sent by the other party\n * (at the moment) to be edited.\n *\n * Returns the edited message.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n async waitForEdit(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for reply for.\n *\n * @default last received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgId = params?.message ?? this._lastReceivedMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for edit for')\n }\n\n const promise = createControllablePromise<Message>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n const timeout = params?.timeout\n\n if (timeout) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._pendingEditMessage.delete(msgId)\n }, timeout)\n }\n\n this._pendingEditMessage.set(msgId, {\n promise,\n check: filter,\n timeout: timer,\n })\n\n this._processRecentEdits()\n\n return promise\n }\n\n /**\n * Wait for the message to be read by the other party.\n *\n * Note that reading the message doesn't mean the response was sent,\n * and if the response was sent, it doesn't mean that the message was read.\n *\n * @param message Message for which to wait for read for. Defaults to last message.\n * @param timeout Timeout for the handler in ms, def. 15 sec. Pass `null` to disable.\n * When the timeout is reached, `TimeoutError` is thrown.\n */\n async waitForRead(message?: number, timeout: number | null = 15000): Promise<void> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgId = message ?? this._lastMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for read for')\n }\n\n // check if the message is already read\n const [dialog] = await getPeerDialogs(this.client, this._inputPeer)\n if (dialog.lastRead >= msgId) return\n\n const promise = createControllablePromise<void>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n\n if (timeout !== null) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._pendingRead.delete(msgId)\n }, timeout)\n }\n\n this._pendingRead.set(msgId, {\n promise,\n timeout: timer,\n })\n\n return promise\n }\n\n private _onNewMessage(msg: Message) {\n if (msg.chat.id !== this._chatId) return\n\n if (!this._queuedNewMessage.length) {\n this._pendingNewMessages.pushBack(msg)\n\n return\n }\n\n const it = this._queuedNewMessage.peekFront()!\n\n // order does matter for new messages\n void this._lock.acquire().then(async () => {\n try {\n if (!it.check || (await it.check(msg))) {\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve(msg)\n this._queuedNewMessage.popFront()\n }\n } catch (e: unknown) {\n this.client.emitError(e)\n }\n\n this._lastMessage = this._lastReceivedMessage = msg.id\n\n // this func will *never* error, so no need to use .then\n this._lock.release()\n })\n }\n\n private _onEditMessage(msg: Message, fromRecent = false) {\n if (msg.chat.id !== this._chatId) return\n\n const it = this._pendingEditMessage.get(msg.id)\n\n if (!it) {\n if (!fromRecent) {\n this._recentEdits.pushBack(msg)\n }\n\n return\n }\n\n (async () => {\n if (!it.check || (await it.check(msg))) {\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve(msg)\n this._pendingEditMessage.delete(msg.id)\n }\n })().catch((e) => {\n this.client.emitError(e)\n })\n }\n\n private _onHistoryRead(upd: HistoryReadUpdate) {\n if (upd.chatId !== this._chatId) return\n\n const lastRead = upd.maxReadId\n\n for (const msgId of this._pendingRead.keys()) {\n if (msgId <= lastRead) {\n const it = this._pendingRead.get(msgId)!\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve()\n this._pendingRead.delete(msgId)\n }\n }\n }\n\n private _processPendingNewMessages() {\n if (!this._pendingNewMessages.length) return\n\n let it\n\n while ((it = this._pendingNewMessages.popFront())) {\n this._onNewMessage(it)\n }\n }\n\n private _processRecentEdits() {\n if (!this._recentEdits.length) return\n\n const iter = this._recentEdits.iter()\n let it\n\n while (!(it = iter.next()).done) {\n this._onEditMessage(it.value, true)\n }\n }\n}\n"]}
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../../src/highlevel/types/conversation.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError, MtTimeoutError } from '../../types/errors.js'\nimport { MaybePromise } from '../../types/utils.js'\nimport { AsyncLock } from '../../utils/async-lock.js'\nimport { ControllablePromise, createControllablePromise } from '../../utils/controllable-promise.js'\nimport { Deque } from '../../utils/deque.js'\nimport { getMarkedPeerId } from '../../utils/peer-utils.js'\nimport { ITelegramClient } from '../client.types.js'\nimport { getPeerDialogs } from '../methods/dialogs/get-peer-dialogs.js'\nimport { readHistory } from '../methods/messages/read-history.js'\nimport { sendMedia } from '../methods/messages/send-media.js'\nimport { sendMediaGroup } from '../methods/messages/send-media-group.js'\nimport { sendText } from '../methods/messages/send-text.js'\nimport { resolvePeer } from '../methods/users/resolve-peer.js'\nimport type { Message } from './messages/message.js'\nimport type { InputPeerLike } from './peers/index.js'\nimport type { HistoryReadUpdate, ParsedUpdate } from './updates/index.js'\nimport { ParametersSkip2 } from './utils.js'\n\ninterface QueuedHandler<T> {\n promise: ControllablePromise<T>\n check?: (update: T) => MaybePromise<boolean>\n timeout?: NodeJS.Timeout\n}\n\nconst CONVERSATION_SYMBOL = Symbol('conversation')\n\ninterface ConversationsState {\n pendingConversations: Map<number, Conversation[]>\n hasConversations: boolean\n}\n\n/**\n * Represents a conversation inside some chat.\n *\n * A conversation keeps track of any messages sent or edited\n * since it was started and until it was stopped,\n * and allows waiting for events in it.\n *\n * If you need a conversation across multiple chats,\n * you should use multiple {@link Conversation} objects\n * and synchronize them manually.\n */\nexport class Conversation {\n private _inputPeer!: tl.TypeInputPeer\n private _chatId!: number\n private _started = false\n\n private _lastMessage!: number\n private _lastReceivedMessage!: number\n\n private _queuedNewMessage = new Deque<QueuedHandler<Message>>()\n private _pendingNewMessages = new Deque<Message>()\n private _lock = new AsyncLock()\n\n private _pendingEditMessage: Map<number, QueuedHandler<Message>> = new Map()\n private _recentEdits = new Deque<Message>(10)\n\n private _pendingRead: Map<number, QueuedHandler<void>> = new Map()\n\n constructor(\n readonly client: ITelegramClient,\n readonly chat: InputPeerLike,\n ) {\n if (!(CONVERSATION_SYMBOL in client)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (client as any)[CONVERSATION_SYMBOL] = {\n pendingConversations: new Map(),\n hasConversations: false,\n } satisfies ConversationsState\n }\n }\n\n private static _getState(client: ITelegramClient): ConversationsState {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (client as any)[CONVERSATION_SYMBOL] as ConversationsState\n }\n\n /**\n * Pass the update to the conversation manager and all registered\n * conversations on this client.\n *\n * @returns `true` if the update was handled by some conversation\n */\n static handleUpdate(client: ITelegramClient, update: ParsedUpdate): boolean {\n const state = Conversation._getState(client)\n if (!state?.hasConversations) return false\n\n let chatId\n\n switch (update.name) {\n case 'new_message':\n case 'edit_message':\n chatId = getMarkedPeerId(update.data.raw.peerId)\n break\n case 'history_read':\n chatId = update.data.chatId\n break\n default:\n return false\n }\n\n const conv = state.pendingConversations.get(chatId)\n if (!conv) return false\n\n for (const c of conv) {\n switch (update.name) {\n case 'new_message':\n c._onNewMessage(update.data)\n\n return true\n case 'edit_message':\n c._onEditMessage(update.data)\n\n return true\n case 'history_read':\n c._onHistoryRead(update.data)\n\n return true\n }\n }\n\n return false\n }\n\n /**\n * Get the input peer that this conversation is with\n */\n get inputPeer(): tl.TypeInputPeer {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._inputPeer\n }\n\n /**\n * ID of the very last message in this conversation.\n */\n get lastMessage(): number {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._lastMessage\n }\n\n /**\n * ID of the last incoming message in this conversation.\n *\n * Note that before any messages were received since the {@link start}\n * of the conversation, this will equal to {@link lastMessage}\n */\n get lastReceivedMessage(): number {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._lastReceivedMessage\n }\n\n /**\n * Start the conversation\n */\n async start(): Promise<void> {\n if (this._started) return\n\n this._started = true\n this._inputPeer = await resolvePeer(this.client, this.chat)\n this._chatId = getMarkedPeerId(this._inputPeer)\n\n const [dialog] = await getPeerDialogs(this.client, this._inputPeer)\n\n const lastMessage = dialog?.lastMessage\n\n if (lastMessage) {\n this._lastMessage = this._lastReceivedMessage = lastMessage.id\n } else {\n this._lastMessage = this._lastReceivedMessage = 0\n }\n\n const state = Conversation._getState(this.client)\n\n if (!state.pendingConversations.has(this._chatId)) {\n state.pendingConversations.set(this._chatId, [])\n }\n state.pendingConversations.get(this._chatId)!.push(this)\n state.hasConversations = true\n }\n\n /**\n * Stop the conversation\n */\n stop(): void {\n if (!this._started) return\n\n const state = Conversation._getState(this.client)\n\n const pending = state.pendingConversations.get(this._chatId)\n const pendingIdx = pending?.indexOf(this) ?? -1\n\n if (pendingIdx > -1) {\n // just in case\n pending!.splice(pendingIdx, 1)\n }\n if (pending && !pending.length) {\n state.pendingConversations.delete(this._chatId)\n }\n state.hasConversations = Boolean(state.pendingConversations.size)\n\n // reset pending status\n this._queuedNewMessage.clear()\n this._pendingNewMessages.clear()\n this._pendingEditMessage.clear()\n this._recentEdits.clear()\n this._pendingRead.clear()\n\n this._started = false\n }\n\n private _recordMessage(msg: Message, incoming = false): Message {\n this._lastMessage = msg.id\n if (incoming) this._lastReceivedMessage = msg.id\n\n return msg\n }\n\n /**\n * Send a text message to this conversation.\n *\n * Wrapper over {@link sendText}\n */\n async sendText(...params: ParametersSkip2<typeof sendText>): ReturnType<typeof sendText> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._recordMessage(await sendText(this.client, this._inputPeer, ...params))\n }\n\n /**\n * Send a media to this conversation.\n *\n * Wrapper over {@link sendMedia}\n */\n async sendMedia(...params: ParametersSkip2<typeof sendMedia>): ReturnType<typeof sendMedia> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._recordMessage(await sendMedia(this.client, this._inputPeer, ...params))\n }\n\n /**\n * Send a media group to this conversation.\n *\n * Wrapper over {@link sendMediaGroup}\n */\n async sendMediaGroup(...params: ParametersSkip2<typeof sendMediaGroup>): ReturnType<typeof sendMediaGroup> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgs = await sendMediaGroup(this.client, this._inputPeer, ...params)\n\n this._recordMessage(msgs[msgs.length - 1])\n\n return msgs\n }\n\n /**\n * Mark the conversation as read up to a certain point.\n *\n * By default, reads until the last message.\n * You can pass `message=null` to read the entire conversation,\n * or pass message ID to read up until that ID.\n */\n markRead({\n message,\n clearMentions = true,\n }: { message?: number | null; clearMentions?: boolean } = {}): Promise<void> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n if (message === null) {\n message = 0\n } else if (message === undefined) {\n message = this._lastMessage ?? 0\n }\n\n return readHistory(this.client, this._inputPeer, { maxId: message, clearMentions })\n }\n\n /**\n * Helper method that calls {@link start},\n * the provided function and then {@link stop}.\n *\n * It is preferred that you use this function rather than\n * manually starting and stopping the conversation.\n *\n * If you don't stop the conversation when you're done,\n * it *will* lead to memory leaks.\n *\n * @param handler\n */\n async with<T>(handler: () => MaybePromise<T>): Promise<T> {\n await this.start()\n\n let err: unknown\n let res: T\n\n try {\n res = await handler()\n } catch (e) {\n err = e\n }\n\n this.stop()\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n if (err) throw err\n\n return res!\n }\n\n /**\n * Wait for a new message in the conversation\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param [timeout=15000] Timeout for the handler in ms. Pass `null` to disable.\n * When the timeout is reached, `MtTimeoutError` is thrown.\n */\n waitForNewMessage(\n filter?: (msg: Message) => MaybePromise<boolean>,\n timeout: number | null = 15000,\n ): Promise<Message> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const promise = createControllablePromise<Message>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n\n if (timeout !== null) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._queuedNewMessage.removeBy((it) => it.promise === promise)\n }, timeout)\n }\n\n this._queuedNewMessage.pushBack({\n promise,\n check: filter,\n timeout: timer,\n })\n\n this._processPendingNewMessages()\n\n return promise\n }\n\n /**\n * Wait for a response for the given message\n * (def. the last one) in the conversation.\n *\n * A message is considered to be a response if\n * it was sent after the given one.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n waitForResponse(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for response for.\n *\n * @default last sent/received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n const msgId = params?.message ?? this._lastMessage ?? 0\n\n const pred = filter ?\n (msg: Message) => (msg.id > msgId ? filter(msg) : false) :\n (msg: Message) => msg.id > msgId\n\n return this.waitForNewMessage(pred, params?.timeout)\n }\n\n /**\n * Wait for the reply for the given message'\n * (def. the last one) in the conversation.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n waitForReply(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for reply for.\n *\n * @default last sent/received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n const msgId = params?.message ?? this._lastMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for reply for')\n }\n\n const pred = filter ?\n (msg: Message) => (msg.replyToMessage?.id === msgId ? filter(msg) : false) :\n (msg: Message) => msg.replyToMessage?.id === msgId\n\n return this.waitForNewMessage(pred, params?.timeout)\n }\n\n /**\n * Wait for a message to be edited in the conversation.\n * By defaults wait for the last message sent by the other party\n * (at the moment) to be edited.\n *\n * Returns the edited message.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n async waitForEdit(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for reply for.\n *\n * @default last received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgId = params?.message ?? this._lastReceivedMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for edit for')\n }\n\n const promise = createControllablePromise<Message>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n const timeout = params?.timeout\n\n if (timeout) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._pendingEditMessage.delete(msgId)\n }, timeout)\n }\n\n this._pendingEditMessage.set(msgId, {\n promise,\n check: filter,\n timeout: timer,\n })\n\n this._processRecentEdits()\n\n return promise\n }\n\n /**\n * Wait for the message to be read by the other party.\n *\n * Note that reading the message doesn't mean the response was sent,\n * and if the response was sent, it doesn't mean that the message was read.\n *\n * @param message Message for which to wait for read for. Defaults to last message.\n * @param timeout Timeout for the handler in ms, def. 15 sec. Pass `null` to disable.\n * When the timeout is reached, `TimeoutError` is thrown.\n */\n async waitForRead(message?: number, timeout: number | null = 15000): Promise<void> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgId = message ?? this._lastMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for read for')\n }\n\n // check if the message is already read\n const [dialog] = await getPeerDialogs(this.client, this._inputPeer)\n if (dialog.lastRead >= msgId) return\n\n const promise = createControllablePromise<void>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n\n if (timeout !== null) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._pendingRead.delete(msgId)\n }, timeout)\n }\n\n this._pendingRead.set(msgId, {\n promise,\n timeout: timer,\n })\n\n return promise\n }\n\n private _onNewMessage(msg: Message) {\n if (msg.chat.id !== this._chatId) return\n\n if (!this._queuedNewMessage.length) {\n this._pendingNewMessages.pushBack(msg)\n\n return\n }\n\n const it = this._queuedNewMessage.peekFront()!\n\n // order does matter for new messages\n void this._lock.acquire().then(async () => {\n try {\n if (!it.check || (await it.check(msg))) {\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve(msg)\n this._queuedNewMessage.popFront()\n }\n } catch (e: unknown) {\n this.client.emitError(e)\n }\n\n this._lastMessage = this._lastReceivedMessage = msg.id\n\n // this func will *never* error, so no need to use .then\n this._lock.release()\n })\n }\n\n private _onEditMessage(msg: Message, fromRecent = false) {\n if (msg.chat.id !== this._chatId) return\n\n const it = this._pendingEditMessage.get(msg.id)\n\n if (!it) {\n if (!fromRecent) {\n this._recentEdits.pushBack(msg)\n }\n\n return\n }\n\n (async () => {\n if (!it.check || (await it.check(msg))) {\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve(msg)\n this._pendingEditMessage.delete(msg.id)\n }\n })().catch((e) => {\n this.client.emitError(e)\n })\n }\n\n private _onHistoryRead(upd: HistoryReadUpdate) {\n if (upd.chatId !== this._chatId) return\n\n const lastRead = upd.maxReadId\n\n for (const msgId of this._pendingRead.keys()) {\n if (msgId <= lastRead) {\n const it = this._pendingRead.get(msgId)!\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve()\n this._pendingRead.delete(msgId)\n }\n }\n }\n\n private _processPendingNewMessages() {\n if (!this._pendingNewMessages.length) return\n\n let it\n\n while ((it = this._pendingNewMessages.popFront())) {\n this._onNewMessage(it)\n }\n }\n\n private _processRecentEdits() {\n if (!this._recentEdits.length) return\n\n const iter = this._recentEdits.iter()\n let it\n\n while (!(it = iter.next()).done) {\n this._onEditMessage(it.value, true)\n }\n }\n}\n"]}
@@ -70,9 +70,9 @@ export declare class Dialog {
70
70
  */
71
71
  get chat(): Chat;
72
72
  /**
73
- * The latest message sent in this chat
73
+ * The latest message sent in this chat (if any)
74
74
  */
75
- get lastMessage(): Message;
75
+ get lastMessage(): Message | null;
76
76
  /**
77
77
  * ID of the last read outgoing message in this dialog
78
78
  */
@@ -5,7 +5,6 @@ const peer_utils_js_1 = require("../../../utils/peer-utils.js");
5
5
  const type_assertions_js_1 = require("../../../utils/type-assertions.js");
6
6
  const index_js_1 = require("../../utils/index.js");
7
7
  const memoize_js_1 = require("../../utils/memoize.js");
8
- const errors_js_1 = require("../errors.js");
9
8
  const chat_js_1 = require("../peers/chat.js");
10
9
  const peers_index_js_1 = require("../peers/peers-index.js");
11
10
  const draft_message_js_1 = require("./draft-message.js");
@@ -172,14 +171,14 @@ class Dialog {
172
171
  return chat_js_1.Chat._parseFromPeer(this.raw.peer, this._peers);
173
172
  }
174
173
  /**
175
- * The latest message sent in this chat
174
+ * The latest message sent in this chat (if any)
176
175
  */
177
176
  get lastMessage() {
178
177
  const cid = this.chat.id;
179
178
  if (this._messages.has(cid)) {
180
179
  return new message_js_1.Message(this._messages.get(cid), this._peers);
181
180
  }
182
- throw new errors_js_1.MtMessageNotFoundError(cid, 0);
181
+ return null;
183
182
  }
184
183
  /**
185
184
  * ID of the last read outgoing message in this dialog
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIsNot, hasValueAtKey } from '../../../utils/type-assertions.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { MtMessageNotFoundError } from '../errors.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { DraftMessage } from './draft-message.js'\nimport { Message } from './message.js'\n\n/**\n * Type used as an input for a folder in client methods\n *\n * You can pass folder object, id or title\n */\nexport type InputDialogFolder = string | number | tl.RawDialogFilter\n\n/**\n * A dialog.\n *\n * Think of it as something that is listed\n * in Telegram's main window.\n */\nexport class Dialog {\n constructor(\n readonly raw: tl.RawDialog,\n readonly _peers: PeersIndex,\n readonly _messages: Map<number, tl.TypeMessage>,\n ) {}\n\n /**\n * Parse a list of dialogs from a TL object\n *\n * @param client Client instance\n * @param dialogs TL object\n * @param limit Maximum number of dialogs to parse\n */\n static parseTlDialogs(dialogs: tl.messages.TypeDialogs | tl.messages.TypePeerDialogs, limit?: number): Dialog[] {\n assertTypeIsNot('parseDialogs', dialogs, 'messages.dialogsNotModified')\n\n const peers = PeersIndex.from(dialogs)\n\n const messages = new Map<number, tl.TypeMessage>()\n dialogs.messages.forEach((msg) => {\n if (!msg.peerId) return\n\n messages.set(getMarkedPeerId(msg.peerId), msg)\n })\n\n const arr = dialogs.dialogs.filter(hasValueAtKey('_', 'dialog')).map((it) => new Dialog(it, peers, messages))\n\n if (limit) {\n return arr.slice(0, limit)\n }\n\n return arr\n }\n\n /**\n * Find pinned dialogs from a list of dialogs\n *\n * @param dialogs Dialogs list\n * @param folder If passed, status of pin will be checked against this folder, and not globally\n */\n static findPinned(dialogs: Dialog[], folder?: tl.RawDialogFilter): Dialog[] {\n if (folder) {\n const index: Record<number, true> = {}\n folder.pinnedPeers.forEach((peer) => {\n index[getMarkedPeerId(peer)] = true\n })\n\n return dialogs.filter((i) => index[i.chat.id])\n }\n\n return dialogs.filter((i) => i.isPinned)\n }\n\n /**\n * Create a filter predicate for the given Folder.\n * Returned predicate can be used in `Array.filter()`\n *\n * @param folder Folder to filter for\n * @param excludePinned Whether to exclude pinned folders\n */\n static filterFolder(folder: tl.TypeDialogFilter, excludePinned = true): (val: Dialog) => boolean {\n if (folder._ === 'dialogFilterDefault') {\n return () => true\n }\n\n const pinned: Record<number, true> = {}\n const include: Record<number, true> = {}\n const exclude: Record<number, true> = {}\n\n // populate indices\n if (excludePinned) {\n folder.pinnedPeers.forEach((peer) => {\n pinned[getMarkedPeerId(peer)] = true\n })\n }\n folder.includePeers.forEach((peer) => {\n include[getMarkedPeerId(peer)] = true\n })\n\n if (folder._ === 'dialogFilterChatlist') {\n return (dialog) => {\n const chatId = dialog.chat.id\n\n if (excludePinned && pinned[chatId]) return false\n\n return include[chatId] || pinned[chatId]\n }\n }\n\n folder.excludePeers.forEach((peer) => {\n exclude[getMarkedPeerId(peer)] = true\n })\n\n return (dialog) => {\n const chat = dialog.chat\n const chatId = dialog.chat.id\n const chatType = dialog.chat.chatType\n\n // manual exclusion/inclusion and pins\n if (include[chatId]) return true\n\n if (exclude[chatId] || (excludePinned && pinned[chatId])) {\n return false\n }\n\n // exclusions based on status\n if (folder.excludeRead && !dialog.isUnread) return false\n if (folder.excludeMuted && dialog.isMuted) return false\n // even though this was handled in getDialogs, this method\n // could be used outside of it, so check again\n if (folder.excludeArchived && dialog.isArchived) return false\n\n // inclusions based on chat type\n if (folder.contacts && chatType === 'private' && chat.isContact) {\n return true\n }\n if (folder.nonContacts && chatType === 'private' && !chat.isContact) {\n return true\n }\n if (folder.groups && (chatType === 'group' || chatType === 'supergroup')) {\n return true\n }\n if (folder.broadcasts && chatType === 'channel') return true\n if (folder.bots && chatType === 'bot') return true\n\n return false\n }\n }\n\n /**\n * Whether this dialog is pinned\n */\n get isPinned(): boolean {\n return this.raw.pinned!\n }\n\n /**\n * Whether this chat was manually marked as unread\n */\n get isManuallyUnread(): boolean {\n return this.raw.unreadMark!\n }\n\n /**\n * Whether this chat should be considered unread\n * (i.e. has more than 1 unread message, or has\n * a \"manually unread\" mark)\n */\n get isUnread(): boolean {\n return this.raw.unreadMark || this.raw.unreadCount > 1\n }\n\n /**\n * Whether this dialog is muted\n */\n get isMuted(): boolean {\n return this.raw.notifySettings.silent!\n }\n\n /**\n * Whether this dialog is archived\n */\n get isArchived(): boolean {\n return this.raw.folderId === 1\n }\n\n /**\n * Chat that this dialog represents\n */\n get chat(): Chat {\n return Chat._parseFromPeer(this.raw.peer, this._peers)\n }\n\n /**\n * The latest message sent in this chat\n */\n get lastMessage(): Message {\n const cid = this.chat.id\n\n if (this._messages.has(cid)) {\n return new Message(this._messages.get(cid)!, this._peers)\n }\n\n throw new MtMessageNotFoundError(cid, 0)\n }\n\n /**\n * ID of the last read outgoing message in this dialog\n */\n get lastReadOutgoing(): number {\n return this.raw.readOutboxMaxId\n }\n\n /**\n * ID of the last read ingoing message in this dialog\n */\n get lastReadIngoing(): number {\n return this.raw.readInboxMaxId\n }\n\n /**\n * ID of the last read message in this dialog\n */\n get lastRead(): number {\n return Math.max(this.raw.readOutboxMaxId, this.raw.readInboxMaxId)\n }\n\n /**\n * Number of unread messages\n */\n get unreadCount(): number {\n return this.raw.unreadCount\n }\n\n /**\n * Number of unread mentions\n */\n get unreadMentionsCount(): number {\n return this.raw.unreadMentionsCount\n }\n\n /**\n * Number of unread reactions\n */\n get unreadReactionsCount(): number {\n return this.raw.unreadReactionsCount\n }\n\n /**\n * Draft message in this dialog\n */\n get draftMessage(): DraftMessage | null {\n if (this.raw.draft?._ === 'draftMessage') {\n return new DraftMessage(this.raw.draft)\n }\n\n return null\n }\n\n /**\n * TTL period of all messages in this dialog\n */\n get ttlPeriod(): number | null {\n return this.raw.ttlPeriod ?? null\n }\n}\n\nmemoizeGetters(Dialog, ['chat', 'lastMessage', 'draftMessage'])\nmakeInspectable(Dialog)\n"]}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIsNot, hasValueAtKey } from '../../../utils/type-assertions.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { DraftMessage } from './draft-message.js'\nimport { Message } from './message.js'\n\n/**\n * Type used as an input for a folder in client methods\n *\n * You can pass folder object, id or title\n */\nexport type InputDialogFolder = string | number | tl.RawDialogFilter\n\n/**\n * A dialog.\n *\n * Think of it as something that is listed\n * in Telegram's main window.\n */\nexport class Dialog {\n constructor(\n readonly raw: tl.RawDialog,\n readonly _peers: PeersIndex,\n readonly _messages: Map<number, tl.TypeMessage>,\n ) {}\n\n /**\n * Parse a list of dialogs from a TL object\n *\n * @param client Client instance\n * @param dialogs TL object\n * @param limit Maximum number of dialogs to parse\n */\n static parseTlDialogs(dialogs: tl.messages.TypeDialogs | tl.messages.TypePeerDialogs, limit?: number): Dialog[] {\n assertTypeIsNot('parseDialogs', dialogs, 'messages.dialogsNotModified')\n\n const peers = PeersIndex.from(dialogs)\n\n const messages = new Map<number, tl.TypeMessage>()\n dialogs.messages.forEach((msg) => {\n if (!msg.peerId) return\n\n messages.set(getMarkedPeerId(msg.peerId), msg)\n })\n\n const arr = dialogs.dialogs.filter(hasValueAtKey('_', 'dialog')).map((it) => new Dialog(it, peers, messages))\n\n if (limit) {\n return arr.slice(0, limit)\n }\n\n return arr\n }\n\n /**\n * Find pinned dialogs from a list of dialogs\n *\n * @param dialogs Dialogs list\n * @param folder If passed, status of pin will be checked against this folder, and not globally\n */\n static findPinned(dialogs: Dialog[], folder?: tl.RawDialogFilter): Dialog[] {\n if (folder) {\n const index: Record<number, true> = {}\n folder.pinnedPeers.forEach((peer) => {\n index[getMarkedPeerId(peer)] = true\n })\n\n return dialogs.filter((i) => index[i.chat.id])\n }\n\n return dialogs.filter((i) => i.isPinned)\n }\n\n /**\n * Create a filter predicate for the given Folder.\n * Returned predicate can be used in `Array.filter()`\n *\n * @param folder Folder to filter for\n * @param excludePinned Whether to exclude pinned folders\n */\n static filterFolder(folder: tl.TypeDialogFilter, excludePinned = true): (val: Dialog) => boolean {\n if (folder._ === 'dialogFilterDefault') {\n return () => true\n }\n\n const pinned: Record<number, true> = {}\n const include: Record<number, true> = {}\n const exclude: Record<number, true> = {}\n\n // populate indices\n if (excludePinned) {\n folder.pinnedPeers.forEach((peer) => {\n pinned[getMarkedPeerId(peer)] = true\n })\n }\n folder.includePeers.forEach((peer) => {\n include[getMarkedPeerId(peer)] = true\n })\n\n if (folder._ === 'dialogFilterChatlist') {\n return (dialog) => {\n const chatId = dialog.chat.id\n\n if (excludePinned && pinned[chatId]) return false\n\n return include[chatId] || pinned[chatId]\n }\n }\n\n folder.excludePeers.forEach((peer) => {\n exclude[getMarkedPeerId(peer)] = true\n })\n\n return (dialog) => {\n const chat = dialog.chat\n const chatId = dialog.chat.id\n const chatType = dialog.chat.chatType\n\n // manual exclusion/inclusion and pins\n if (include[chatId]) return true\n\n if (exclude[chatId] || (excludePinned && pinned[chatId])) {\n return false\n }\n\n // exclusions based on status\n if (folder.excludeRead && !dialog.isUnread) return false\n if (folder.excludeMuted && dialog.isMuted) return false\n // even though this was handled in getDialogs, this method\n // could be used outside of it, so check again\n if (folder.excludeArchived && dialog.isArchived) return false\n\n // inclusions based on chat type\n if (folder.contacts && chatType === 'private' && chat.isContact) {\n return true\n }\n if (folder.nonContacts && chatType === 'private' && !chat.isContact) {\n return true\n }\n if (folder.groups && (chatType === 'group' || chatType === 'supergroup')) {\n return true\n }\n if (folder.broadcasts && chatType === 'channel') return true\n if (folder.bots && chatType === 'bot') return true\n\n return false\n }\n }\n\n /**\n * Whether this dialog is pinned\n */\n get isPinned(): boolean {\n return this.raw.pinned!\n }\n\n /**\n * Whether this chat was manually marked as unread\n */\n get isManuallyUnread(): boolean {\n return this.raw.unreadMark!\n }\n\n /**\n * Whether this chat should be considered unread\n * (i.e. has more than 1 unread message, or has\n * a \"manually unread\" mark)\n */\n get isUnread(): boolean {\n return this.raw.unreadMark || this.raw.unreadCount > 1\n }\n\n /**\n * Whether this dialog is muted\n */\n get isMuted(): boolean {\n return this.raw.notifySettings.silent!\n }\n\n /**\n * Whether this dialog is archived\n */\n get isArchived(): boolean {\n return this.raw.folderId === 1\n }\n\n /**\n * Chat that this dialog represents\n */\n get chat(): Chat {\n return Chat._parseFromPeer(this.raw.peer, this._peers)\n }\n\n /**\n * The latest message sent in this chat (if any)\n */\n get lastMessage(): Message | null {\n const cid = this.chat.id\n\n if (this._messages.has(cid)) {\n return new Message(this._messages.get(cid)!, this._peers)\n }\n\n return null\n }\n\n /**\n * ID of the last read outgoing message in this dialog\n */\n get lastReadOutgoing(): number {\n return this.raw.readOutboxMaxId\n }\n\n /**\n * ID of the last read ingoing message in this dialog\n */\n get lastReadIngoing(): number {\n return this.raw.readInboxMaxId\n }\n\n /**\n * ID of the last read message in this dialog\n */\n get lastRead(): number {\n return Math.max(this.raw.readOutboxMaxId, this.raw.readInboxMaxId)\n }\n\n /**\n * Number of unread messages\n */\n get unreadCount(): number {\n return this.raw.unreadCount\n }\n\n /**\n * Number of unread mentions\n */\n get unreadMentionsCount(): number {\n return this.raw.unreadMentionsCount\n }\n\n /**\n * Number of unread reactions\n */\n get unreadReactionsCount(): number {\n return this.raw.unreadReactionsCount\n }\n\n /**\n * Draft message in this dialog\n */\n get draftMessage(): DraftMessage | null {\n if (this.raw.draft?._ === 'draftMessage') {\n return new DraftMessage(this.raw.draft)\n }\n\n return null\n }\n\n /**\n * TTL period of all messages in this dialog\n */\n get ttlPeriod(): number | null {\n return this.raw.ttlPeriod ?? null\n }\n}\n\nmemoizeGetters(Dialog, ['chat', 'lastMessage', 'draftMessage'])\nmakeInspectable(Dialog)\n"]}
@@ -0,0 +1,30 @@
1
+ import { tl } from '@mtcute/tl';
2
+ import { MessageEntity } from './message-entity.js';
3
+ /**
4
+ * Describes a fact-check added to the message by an independent checker
5
+ */
6
+ export declare class FactCheck {
7
+ readonly raw: tl.RawFactCheck;
8
+ constructor(raw: tl.RawFactCheck);
9
+ /**
10
+ * Text of the fact-check
11
+ */
12
+ get text(): string;
13
+ /**
14
+ * Entities contained in the fact-check text
15
+ */
16
+ get entities(): MessageEntity[];
17
+ /**
18
+ * Country for which the fact-check is relevant
19
+ */
20
+ get country(): string | null;
21
+ /**
22
+ * Whether this information might be outdated
23
+ * and should be re-fetched manually
24
+ */
25
+ get shouldRecheck(): boolean;
26
+ /**
27
+ * Hash of the fact-check
28
+ */
29
+ get hash(): tl.Long;
30
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FactCheck = void 0;
4
+ const inspectable_js_1 = require("../../utils/inspectable.js");
5
+ const memoize_js_1 = require("../../utils/memoize.js");
6
+ const message_entity_js_1 = require("./message-entity.js");
7
+ /**
8
+ * Describes a fact-check added to the message by an independent checker
9
+ */
10
+ class FactCheck {
11
+ raw;
12
+ constructor(raw) {
13
+ this.raw = raw;
14
+ }
15
+ /**
16
+ * Text of the fact-check
17
+ */
18
+ get text() {
19
+ return this.raw.text?.text ?? '';
20
+ }
21
+ /**
22
+ * Entities contained in the fact-check text
23
+ */
24
+ get entities() {
25
+ const entities = [];
26
+ if (this.raw.text?.entities) {
27
+ for (const ent of this.raw.text.entities) {
28
+ entities.push(new message_entity_js_1.MessageEntity(ent, this.raw.text.text));
29
+ }
30
+ }
31
+ return entities;
32
+ }
33
+ /**
34
+ * Country for which the fact-check is relevant
35
+ */
36
+ get country() {
37
+ return this.raw.country ?? null;
38
+ }
39
+ /**
40
+ * Whether this information might be outdated
41
+ * and should be re-fetched manually
42
+ */
43
+ get shouldRecheck() {
44
+ return this.raw.needCheck;
45
+ }
46
+ /**
47
+ * Hash of the fact-check
48
+ */
49
+ get hash() {
50
+ return this.raw.hash;
51
+ }
52
+ }
53
+ exports.FactCheck = FactCheck;
54
+ (0, memoize_js_1.memoizeGetters)(FactCheck, ['entities']);
55
+ (0, inspectable_js_1.makeInspectable)(FactCheck);
56
+ //# sourceMappingURL=fact-check.js.map