@mtcute/core 0.10.2 → 0.11.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.
- package/cjs/highlevel/base.d.ts +1 -1
- package/cjs/highlevel/base.js +29 -23
- package/cjs/highlevel/base.js.map +1 -1
- package/cjs/highlevel/client.d.ts +3 -2
- package/cjs/highlevel/client.js +1 -0
- package/cjs/highlevel/client.js.map +1 -1
- package/cjs/highlevel/managers/app-config-manager.js +7 -5
- package/cjs/highlevel/managers/app-config-manager.js.map +1 -1
- package/cjs/highlevel/methods/_init.js.map +1 -1
- package/cjs/highlevel/methods/auth/start-test.js.map +1 -1
- package/cjs/highlevel/methods/auth/start.js.map +1 -1
- package/cjs/highlevel/methods/auth/utils.js.map +1 -1
- package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
- package/cjs/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
- package/cjs/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
- package/cjs/highlevel/methods/bots/set-my-commands.js.map +1 -1
- package/cjs/highlevel/methods/chats/add-chat-members.js.map +1 -1
- package/cjs/highlevel/methods/chats/ban-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/chats/batched-queries.js.map +1 -1
- package/cjs/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
- package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat-members.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat-preview.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-similar-channels.js.map +1 -1
- package/cjs/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
- package/cjs/highlevel/methods/chats/iter-chat-members.js.map +1 -1
- package/cjs/highlevel/methods/chats/join-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/chats/leave-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/reorder-usernames.js.map +1 -1
- package/cjs/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/chats/save-draft.js.map +1 -1
- package/cjs/highlevel/methods/chats/set-chat-color.js.map +1 -1
- package/cjs/highlevel/methods/chats/set-chat-photo.js.map +1 -1
- package/cjs/highlevel/methods/chats/set-chat-title.js.map +1 -1
- package/cjs/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
- package/cjs/highlevel/methods/chats/unarchive-chats.js.map +1 -1
- package/cjs/highlevel/methods/chats/unban-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/contacts/delete-contacts.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
- package/cjs/highlevel/methods/files/download-buffer.js.map +1 -1
- package/cjs/highlevel/methods/files/download-iterable.js +1 -1
- package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
- package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -1
- package/cjs/highlevel/methods/files/download-stream.js.map +1 -1
- package/cjs/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
- package/cjs/highlevel/methods/files/normalize-input-file.js.map +1 -1
- package/cjs/highlevel/methods/files/normalize-input-media.js +1 -2
- package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
- package/cjs/highlevel/methods/files/upload-file.js +7 -6
- package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
- package/cjs/highlevel/methods/files/upload-media.js.map +1 -1
- package/cjs/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
- package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
- package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
- package/cjs/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
- package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
- package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/edit-inline-message.js.map +1 -1
- package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
- package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-discussion-message.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-history.js +5 -1
- package/cjs/highlevel/methods/messages/get-history.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-message-by-link.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-message-group.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-message-reactions.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-reply-to.js.map +1 -1
- package/cjs/highlevel/methods/messages/iter-history.js.map +1 -1
- package/cjs/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
- package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
- package/cjs/highlevel/methods/messages/iter-search-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-answer.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-comment.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-copy-group.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-copy.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-quote.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-vote.js.map +1 -1
- package/cjs/highlevel/methods/messages/translate-text.js.map +1 -1
- package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
- package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
- package/cjs/highlevel/methods/misc/normalize-text.js.map +1 -1
- package/cjs/highlevel/methods/misc/with-params.js.map +1 -1
- package/cjs/highlevel/methods/password/change-cloud-password.js.map +1 -1
- package/cjs/highlevel/methods/password/enable-cloud-password.js.map +1 -1
- package/cjs/highlevel/methods/password/remove-cloud-password.js.map +1 -1
- package/cjs/highlevel/methods/premium/can-apply-boost.js.map +1 -1
- package/cjs/highlevel/methods/premium/iter-boosters.js.map +1 -1
- package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
- package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
- package/cjs/highlevel/methods/stories/can-send-story.js.map +1 -1
- package/cjs/highlevel/methods/stories/edit-story.js.map +1 -1
- package/cjs/highlevel/methods/stories/find-in-update.js.map +1 -1
- package/cjs/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
- package/cjs/highlevel/methods/stories/iter-all-stories.js.map +1 -1
- package/cjs/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
- package/cjs/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
- package/cjs/highlevel/methods/stories/send-story.js.map +1 -1
- package/cjs/highlevel/methods/users/delete-profile-photos.js.map +1 -1
- package/cjs/highlevel/methods/users/get-users.js.map +1 -1
- package/cjs/highlevel/methods/users/iter-profile-photos.js.map +1 -1
- package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
- package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
- package/cjs/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
- package/cjs/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
- package/cjs/highlevel/storage/service/current-user.js +2 -0
- package/cjs/highlevel/storage/service/current-user.js.map +1 -1
- package/cjs/highlevel/storage/service/peers.js +5 -1
- package/cjs/highlevel/storage/service/peers.js.map +1 -1
- package/cjs/highlevel/storage/service/ref-messages.js +3 -0
- package/cjs/highlevel/storage/service/ref-messages.js.map +1 -1
- package/cjs/highlevel/storage/service/updates.js +1 -0
- package/cjs/highlevel/storage/service/updates.js.map +1 -1
- package/cjs/highlevel/storage/storage.d.ts +1 -1
- package/cjs/highlevel/storage/storage.js +17 -4
- package/cjs/highlevel/storage/storage.js.map +1 -1
- package/cjs/highlevel/types/auth/sent-code.js +1 -0
- package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
- package/cjs/highlevel/types/bots/game-high-score.js +2 -0
- package/cjs/highlevel/types/bots/game-high-score.js.map +1 -1
- package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -1
- package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -1
- package/cjs/highlevel/types/bots/keyboards/builder.js +2 -1
- package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -1
- package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -1
- package/cjs/highlevel/types/calls/discard-reason.js.map +1 -1
- package/cjs/highlevel/types/conversation.js +13 -7
- package/cjs/highlevel/types/conversation.js.map +1 -1
- package/cjs/highlevel/types/errors.js +3 -0
- package/cjs/highlevel/types/errors.js.map +1 -1
- package/cjs/highlevel/types/files/file-location.js +3 -0
- package/cjs/highlevel/types/files/file-location.js.map +1 -1
- package/cjs/highlevel/types/files/uploaded-file.js +1 -1
- package/cjs/highlevel/types/files/uploaded-file.js.map +1 -1
- package/cjs/highlevel/types/files/utils.d.ts +3 -3
- package/cjs/highlevel/types/files/utils.js.map +1 -1
- package/cjs/highlevel/types/files/web-document.js +1 -0
- package/cjs/highlevel/types/files/web-document.js.map +1 -1
- package/cjs/highlevel/types/media/audio.js +3 -2
- package/cjs/highlevel/types/media/audio.js.map +1 -1
- package/cjs/highlevel/types/media/contact.js +2 -1
- package/cjs/highlevel/types/media/contact.js.map +1 -1
- package/cjs/highlevel/types/media/dice.js +125 -124
- package/cjs/highlevel/types/media/dice.js.map +1 -1
- package/cjs/highlevel/types/media/document-utils.js.map +1 -1
- package/cjs/highlevel/types/media/document.js +2 -4
- package/cjs/highlevel/types/media/document.js.map +1 -1
- package/cjs/highlevel/types/media/game.js +2 -1
- package/cjs/highlevel/types/media/game.js.map +1 -1
- package/cjs/highlevel/types/media/invoice.js +4 -1
- package/cjs/highlevel/types/media/invoice.js.map +1 -1
- package/cjs/highlevel/types/media/location.js +4 -5
- package/cjs/highlevel/types/media/location.js.map +1 -1
- package/cjs/highlevel/types/media/photo.js +8 -1
- package/cjs/highlevel/types/media/photo.js.map +1 -1
- package/cjs/highlevel/types/media/poll.js +4 -1
- package/cjs/highlevel/types/media/poll.js.map +1 -1
- package/cjs/highlevel/types/media/sticker.js +3 -1
- package/cjs/highlevel/types/media/sticker.js.map +1 -1
- package/cjs/highlevel/types/media/story.js +3 -1
- package/cjs/highlevel/types/media/story.js.map +1 -1
- package/cjs/highlevel/types/media/thumbnail.js +35 -22
- package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
- package/cjs/highlevel/types/media/venue.js +2 -1
- package/cjs/highlevel/types/media/venue.js.map +1 -1
- package/cjs/highlevel/types/media/video.js +3 -1
- package/cjs/highlevel/types/media/video.js.map +1 -1
- package/cjs/highlevel/types/media/voice.js +2 -1
- package/cjs/highlevel/types/media/voice.js.map +1 -1
- package/cjs/highlevel/types/media/web-page.js +2 -1
- package/cjs/highlevel/types/media/web-page.js.map +1 -1
- package/cjs/highlevel/types/messages/dialog.js +3 -0
- package/cjs/highlevel/types/messages/dialog.js.map +1 -1
- package/cjs/highlevel/types/messages/draft-message.js +1 -0
- package/cjs/highlevel/types/messages/draft-message.js.map +1 -1
- package/cjs/highlevel/types/messages/message-action.js.map +1 -1
- package/cjs/highlevel/types/messages/message-entity.js +2 -0
- package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
- package/cjs/highlevel/types/messages/message-forward.js +2 -0
- package/cjs/highlevel/types/messages/message-forward.js.map +1 -1
- package/cjs/highlevel/types/messages/message-media.js.map +1 -1
- package/cjs/highlevel/types/messages/message-reactions.js +4 -0
- package/cjs/highlevel/types/messages/message-reactions.js.map +1 -1
- package/cjs/highlevel/types/messages/message-replies.js +2 -0
- package/cjs/highlevel/types/messages/message-replies.js.map +1 -1
- package/cjs/highlevel/types/messages/message.js +6 -0
- package/cjs/highlevel/types/messages/message.js.map +1 -1
- package/cjs/highlevel/types/messages/replied-message.js +2 -0
- package/cjs/highlevel/types/messages/replied-message.js.map +1 -1
- package/cjs/highlevel/types/misc/sticker-set.js +7 -1
- package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
- package/cjs/highlevel/types/misc/takeout-session.js +5 -0
- package/cjs/highlevel/types/misc/takeout-session.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-colors.js +2 -0
- package/cjs/highlevel/types/peers/chat-colors.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-event/actions.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-event/filters.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-event/index.js +2 -0
- package/cjs/highlevel/types/peers/chat-event/index.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-invite-link-member.js +2 -0
- package/cjs/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-invite-link.js +2 -0
- package/cjs/highlevel/types/peers/chat-invite-link.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-location.js +1 -0
- package/cjs/highlevel/types/peers/chat-location.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-member.js +2 -0
- package/cjs/highlevel/types/peers/chat-member.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-permissions.js +1 -0
- package/cjs/highlevel/types/peers/chat-permissions.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-photo.js +5 -0
- package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-preview.js +2 -0
- package/cjs/highlevel/types/peers/chat-preview.js.map +1 -1
- package/cjs/highlevel/types/peers/chat.js +12 -1
- package/cjs/highlevel/types/peers/chat.js.map +1 -1
- package/cjs/highlevel/types/peers/forum-topic.js +9 -6
- package/cjs/highlevel/types/peers/forum-topic.js.map +1 -1
- package/cjs/highlevel/types/peers/peer.js.map +1 -1
- package/cjs/highlevel/types/peers/peers-index.js +3 -1
- package/cjs/highlevel/types/peers/peers-index.js.map +1 -1
- package/cjs/highlevel/types/peers/user.js +5 -1
- package/cjs/highlevel/types/peers/user.js.map +1 -1
- package/cjs/highlevel/types/premium/boost-slot.js +2 -0
- package/cjs/highlevel/types/premium/boost-slot.js.map +1 -1
- package/cjs/highlevel/types/premium/boost-stats.js +1 -0
- package/cjs/highlevel/types/premium/boost-stats.js.map +1 -1
- package/cjs/highlevel/types/premium/boost.js +2 -0
- package/cjs/highlevel/types/premium/boost.js.map +1 -1
- package/cjs/highlevel/types/reactions/emoji-status.js +1 -0
- package/cjs/highlevel/types/reactions/emoji-status.js.map +1 -1
- package/cjs/highlevel/types/reactions/peer-reaction.js +2 -0
- package/cjs/highlevel/types/reactions/peer-reaction.js.map +1 -1
- package/cjs/highlevel/types/reactions/reaction-count.js +1 -0
- package/cjs/highlevel/types/reactions/reaction-count.js.map +1 -1
- package/cjs/highlevel/types/reactions/types.js.map +1 -1
- package/cjs/highlevel/types/stories/all-stories.d.ts +2 -2
- package/cjs/highlevel/types/stories/all-stories.js +3 -1
- package/cjs/highlevel/types/stories/all-stories.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/base.js +1 -0
- package/cjs/highlevel/types/stories/interactive/base.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/channel-post.js +3 -1
- package/cjs/highlevel/types/stories/interactive/channel-post.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/input.js +1 -0
- package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/location.js +2 -1
- package/cjs/highlevel/types/stories/interactive/location.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/reaction.js +2 -1
- package/cjs/highlevel/types/stories/interactive/reaction.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/venue.js +2 -1
- package/cjs/highlevel/types/stories/interactive/venue.js.map +1 -1
- package/cjs/highlevel/types/stories/peer-stories.js +2 -0
- package/cjs/highlevel/types/stories/peer-stories.js.map +1 -1
- package/cjs/highlevel/types/stories/stealth-mode.js +1 -0
- package/cjs/highlevel/types/stories/stealth-mode.js.map +1 -1
- package/cjs/highlevel/types/stories/story-interactions.js +2 -0
- package/cjs/highlevel/types/stories/story-interactions.js.map +1 -1
- package/cjs/highlevel/types/stories/story-viewer.d.ts +1 -1
- package/cjs/highlevel/types/stories/story-viewer.js +6 -0
- package/cjs/highlevel/types/stories/story-viewer.js.map +1 -1
- package/cjs/highlevel/types/stories/story.js +2 -0
- package/cjs/highlevel/types/stories/story.js.map +1 -1
- package/cjs/highlevel/types/updates/bot-chat-join-request.js +2 -0
- package/cjs/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
- package/cjs/highlevel/types/updates/bot-reaction.js +4 -0
- package/cjs/highlevel/types/updates/bot-reaction.js.map +1 -1
- package/cjs/highlevel/types/updates/bot-stopped.js +2 -0
- package/cjs/highlevel/types/updates/bot-stopped.js.map +1 -1
- package/cjs/highlevel/types/updates/callback-query.js +4 -0
- package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
- package/cjs/highlevel/types/updates/chat-join-request.js +2 -0
- package/cjs/highlevel/types/updates/chat-join-request.js.map +1 -1
- package/cjs/highlevel/types/updates/chat-member-update.js +2 -0
- package/cjs/highlevel/types/updates/chat-member-update.js.map +1 -1
- package/cjs/highlevel/types/updates/chosen-inline-result.js +2 -0
- package/cjs/highlevel/types/updates/chosen-inline-result.js.map +1 -1
- package/cjs/highlevel/types/updates/delete-message-update.js +1 -0
- package/cjs/highlevel/types/updates/delete-message-update.js.map +1 -1
- package/cjs/highlevel/types/updates/delete-story-update.js +2 -0
- package/cjs/highlevel/types/updates/delete-story-update.js.map +1 -1
- package/cjs/highlevel/types/updates/history-read-update.js +1 -0
- package/cjs/highlevel/types/updates/history-read-update.js.map +1 -1
- package/cjs/highlevel/types/updates/inline-query.js +2 -0
- package/cjs/highlevel/types/updates/inline-query.js.map +1 -1
- package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
- package/cjs/highlevel/types/updates/poll-update.js +2 -0
- package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
- package/cjs/highlevel/types/updates/poll-vote.js +2 -0
- package/cjs/highlevel/types/updates/poll-vote.js.map +1 -1
- package/cjs/highlevel/types/updates/pre-checkout-query.js +2 -0
- package/cjs/highlevel/types/updates/pre-checkout-query.js.map +1 -1
- package/cjs/highlevel/types/updates/story-update.js +2 -0
- package/cjs/highlevel/types/updates/story-update.js.map +1 -1
- package/cjs/highlevel/types/updates/user-status-update.js +1 -0
- package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
- package/cjs/highlevel/types/updates/user-typing-update.js +1 -0
- package/cjs/highlevel/types/updates/user-typing-update.js.map +1 -1
- package/cjs/highlevel/updates/manager.d.ts +1 -1
- package/cjs/highlevel/updates/manager.js +50 -28
- package/cjs/highlevel/updates/manager.js.map +1 -1
- package/cjs/highlevel/updates/parsed.js.map +1 -1
- package/cjs/highlevel/updates/utils.js.map +1 -1
- package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
- package/cjs/highlevel/utils/entities.js.map +1 -1
- package/cjs/highlevel/utils/file-type.d.ts +1 -0
- package/cjs/highlevel/utils/file-type.js +35 -1
- package/cjs/highlevel/utils/file-type.js.map +1 -1
- package/cjs/highlevel/utils/file-utils.js +1 -1
- package/cjs/highlevel/utils/file-utils.js.map +1 -1
- package/cjs/highlevel/utils/inline-utils.js.map +1 -1
- package/cjs/highlevel/utils/inspectable.js.map +1 -1
- package/cjs/highlevel/utils/memoize.js.map +1 -1
- package/cjs/highlevel/utils/peer-utils.js.map +1 -1
- package/cjs/highlevel/utils/query-batcher.js.map +1 -1
- package/cjs/highlevel/utils/rps-meter.js +3 -0
- package/cjs/highlevel/utils/rps-meter.js.map +1 -1
- package/cjs/highlevel/utils/stream-utils.js.map +1 -1
- package/cjs/highlevel/utils/string-session.d.ts +1 -2
- package/cjs/highlevel/utils/string-session.js +27 -7
- package/cjs/highlevel/utils/string-session.js.map +1 -1
- package/cjs/highlevel/utils/voice-utils.js.map +1 -1
- package/cjs/highlevel/worker/app-config.d.ts +2 -3
- package/cjs/highlevel/worker/app-config.js +6 -3
- package/cjs/highlevel/worker/app-config.js.map +1 -1
- package/cjs/highlevel/worker/errors.js.map +1 -1
- package/cjs/highlevel/worker/invoker.js +3 -2
- package/cjs/highlevel/worker/invoker.js.map +1 -1
- package/cjs/highlevel/worker/port.d.ts +16 -17
- package/cjs/highlevel/worker/port.js +74 -49
- package/cjs/highlevel/worker/port.js.map +1 -1
- package/cjs/highlevel/worker/protocol.d.ts +2 -2
- package/cjs/highlevel/worker/protocol.js.map +1 -1
- package/cjs/highlevel/worker/storage.d.ts +9 -13
- package/cjs/highlevel/worker/storage.js +34 -19
- package/cjs/highlevel/worker/storage.js.map +1 -1
- package/cjs/highlevel/worker/worker.js +3 -0
- package/cjs/highlevel/worker/worker.js.map +1 -1
- package/cjs/network/auth-key.js +8 -1
- package/cjs/network/auth-key.js.map +1 -1
- package/cjs/network/authorization.js.map +1 -1
- package/cjs/network/client.d.ts +1 -1
- package/cjs/network/client.js +39 -14
- package/cjs/network/client.js.map +1 -1
- package/cjs/network/config-manager.js.map +1 -1
- package/cjs/network/mtproto-session.d.ts +1 -1
- package/cjs/network/mtproto-session.js +40 -30
- package/cjs/network/mtproto-session.js.map +1 -1
- package/cjs/network/multi-session-connection.d.ts +2 -2
- package/cjs/network/multi-session-connection.js +13 -7
- package/cjs/network/multi-session-connection.js.map +1 -1
- package/cjs/network/network-manager.d.ts +2 -3
- package/cjs/network/network-manager.js +49 -28
- package/cjs/network/network-manager.js.map +1 -1
- package/cjs/network/persistent-connection.d.ts +3 -3
- package/cjs/network/persistent-connection.js +33 -22
- package/cjs/network/persistent-connection.js.map +1 -1
- package/cjs/network/server-salt.js +4 -5
- package/cjs/network/server-salt.js.map +1 -1
- package/cjs/network/session-connection.d.ts +1 -1
- package/cjs/network/session-connection.js +22 -12
- package/cjs/network/session-connection.js.map +1 -1
- package/cjs/network/transports/abstract.d.ts +2 -2
- package/cjs/network/transports/abstract.js +1 -0
- package/cjs/network/transports/abstract.js.map +1 -1
- package/cjs/network/transports/intermediate.js +1 -0
- package/cjs/network/transports/intermediate.js.map +1 -1
- package/cjs/network/transports/obfuscated.js +3 -0
- package/cjs/network/transports/obfuscated.js.map +1 -1
- package/cjs/network/transports/streamed.d.ts +1 -1
- package/cjs/network/transports/streamed.js +1 -4
- package/cjs/network/transports/streamed.js.map +1 -1
- package/cjs/network/transports/wrapped.d.ts +1 -1
- package/cjs/network/transports/wrapped.js +2 -0
- package/cjs/network/transports/wrapped.js.map +1 -1
- package/cjs/platform.js.map +1 -1
- package/cjs/storage/driver.js +3 -4
- package/cjs/storage/driver.js.map +1 -1
- package/cjs/storage/memory/driver.js +1 -3
- package/cjs/storage/memory/driver.js.map +1 -1
- package/cjs/storage/memory/index.js +5 -7
- package/cjs/storage/memory/index.js.map +1 -1
- package/cjs/storage/memory/repository/auth-keys.d.ts +1 -1
- package/cjs/storage/memory/repository/auth-keys.js +2 -0
- package/cjs/storage/memory/repository/auth-keys.js.map +1 -1
- package/cjs/storage/memory/repository/kv.d.ts +1 -1
- package/cjs/storage/memory/repository/kv.js +2 -0
- package/cjs/storage/memory/repository/kv.js.map +1 -1
- package/cjs/storage/memory/repository/peers.d.ts +1 -1
- package/cjs/storage/memory/repository/peers.js +2 -0
- package/cjs/storage/memory/repository/peers.js.map +1 -1
- package/cjs/storage/memory/repository/ref-messages.d.ts +1 -1
- package/cjs/storage/memory/repository/ref-messages.js +2 -0
- package/cjs/storage/memory/repository/ref-messages.js.map +1 -1
- package/cjs/storage/service/auth-keys.js +2 -0
- package/cjs/storage/service/auth-keys.js.map +1 -1
- package/cjs/storage/service/base.js +4 -0
- package/cjs/storage/service/base.js.map +1 -1
- package/cjs/storage/service/default-dcs.js +2 -0
- package/cjs/storage/service/default-dcs.js.map +1 -1
- package/cjs/storage/service/future-salts.js +2 -1
- package/cjs/storage/service/future-salts.js.map +1 -1
- package/cjs/storage/sqlite/driver.js +10 -10
- package/cjs/storage/sqlite/driver.js.map +1 -1
- package/cjs/storage/sqlite/index.d.ts +1 -1
- package/cjs/storage/sqlite/index.js +5 -0
- package/cjs/storage/sqlite/index.js.map +1 -1
- package/cjs/storage/sqlite/repository/auth-keys.js +9 -0
- package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -1
- package/cjs/storage/sqlite/repository/kv.js +5 -0
- package/cjs/storage/sqlite/repository/kv.js.map +1 -1
- package/cjs/storage/sqlite/repository/peers.js +6 -0
- package/cjs/storage/sqlite/repository/peers.js.map +1 -1
- package/cjs/storage/sqlite/repository/ref-messages.d.ts +1 -1
- package/cjs/storage/sqlite/repository/ref-messages.js +6 -0
- package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -1
- package/cjs/storage/storage.d.ts +1 -3
- package/cjs/storage/storage.js +21 -13
- package/cjs/storage/storage.js.map +1 -1
- package/cjs/types/errors.js +13 -0
- package/cjs/types/errors.js.map +1 -1
- package/cjs/utils/async-lock.js +1 -3
- package/cjs/utils/async-lock.js.map +1 -1
- package/cjs/utils/bigint-utils.js.map +1 -1
- package/cjs/utils/binary/asn1-parser.js.map +1 -1
- package/cjs/utils/buffer-utils.js.map +1 -1
- package/cjs/utils/condition-variable.js +2 -0
- package/cjs/utils/condition-variable.js.map +1 -1
- package/cjs/utils/crypto/factorization.js.map +1 -1
- package/cjs/utils/crypto/keys.js.map +1 -1
- package/cjs/utils/crypto/miller-rabin.js.map +1 -1
- package/cjs/utils/crypto/password.js.map +1 -1
- package/cjs/utils/crypto/utils.js.map +1 -1
- package/cjs/utils/dcs.js +1 -1
- package/cjs/utils/dcs.js.map +1 -1
- package/cjs/utils/deque.js +8 -2
- package/cjs/utils/deque.js.map +1 -1
- package/cjs/utils/early-timer.js +4 -1
- package/cjs/utils/early-timer.js.map +1 -1
- package/cjs/utils/error-reporting.js.map +1 -1
- package/cjs/utils/function-utils.js.map +1 -1
- package/cjs/utils/linked-list.js +4 -1
- package/cjs/utils/linked-list.js.map +1 -1
- package/cjs/utils/links/bots.js.map +1 -1
- package/cjs/utils/links/chat.js.map +1 -1
- package/cjs/utils/links/common.js.map +1 -1
- package/cjs/utils/links/misc.js.map +1 -1
- package/cjs/utils/logger.d.ts +2 -2
- package/cjs/utils/logger.js +21 -14
- package/cjs/utils/logger.js.map +1 -1
- package/cjs/utils/long-utils.js +2 -6
- package/cjs/utils/long-utils.js.map +1 -1
- package/cjs/utils/lru-map.js +5 -1
- package/cjs/utils/lru-map.js.map +1 -1
- package/cjs/utils/lru-set.js +4 -0
- package/cjs/utils/lru-set.js.map +1 -1
- package/cjs/utils/peer-utils.js.map +1 -1
- package/cjs/utils/reloadable.d.ts +1 -1
- package/cjs/utils/reloadable.js +10 -7
- package/cjs/utils/reloadable.js.map +1 -1
- package/cjs/utils/sorted-array.js +2 -0
- package/cjs/utils/sorted-array.js.map +1 -1
- package/cjs/utils/tl-json.js.map +1 -1
- package/cjs/utils/type-assertions.js.map +1 -1
- package/esm/highlevel/base.d.ts +1 -1
- package/esm/highlevel/base.js +29 -23
- package/esm/highlevel/base.js.map +1 -1
- package/esm/highlevel/client.d.ts +2 -1
- package/esm/highlevel/client.js +1 -0
- package/esm/highlevel/client.js.map +1 -1
- package/esm/highlevel/managers/app-config-manager.js +7 -5
- package/esm/highlevel/managers/app-config-manager.js.map +1 -1
- package/esm/highlevel/methods/_init.js.map +1 -1
- package/esm/highlevel/methods/auth/start-test.js.map +1 -1
- package/esm/highlevel/methods/auth/start.js.map +1 -1
- package/esm/highlevel/methods/auth/utils.js.map +1 -1
- package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
- package/esm/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
- package/esm/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
- package/esm/highlevel/methods/bots/set-my-commands.js.map +1 -1
- package/esm/highlevel/methods/chats/add-chat-members.js.map +1 -1
- package/esm/highlevel/methods/chats/ban-chat-member.js.map +1 -1
- package/esm/highlevel/methods/chats/batched-queries.js.map +1 -1
- package/esm/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
- package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat-member.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat-members.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat-preview.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
- package/esm/highlevel/methods/chats/get-similar-channels.js.map +1 -1
- package/esm/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
- package/esm/highlevel/methods/chats/iter-chat-members.js.map +1 -1
- package/esm/highlevel/methods/chats/join-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
- package/esm/highlevel/methods/chats/leave-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/reorder-usernames.js.map +1 -1
- package/esm/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
- package/esm/highlevel/methods/chats/save-draft.js.map +1 -1
- package/esm/highlevel/methods/chats/set-chat-color.js.map +1 -1
- package/esm/highlevel/methods/chats/set-chat-photo.js.map +1 -1
- package/esm/highlevel/methods/chats/set-chat-title.js.map +1 -1
- package/esm/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
- package/esm/highlevel/methods/chats/unarchive-chats.js.map +1 -1
- package/esm/highlevel/methods/chats/unban-chat-member.js.map +1 -1
- package/esm/highlevel/methods/contacts/delete-contacts.js.map +1 -1
- package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
- package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
- package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
- package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
- package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
- package/esm/highlevel/methods/files/download-buffer.js.map +1 -1
- package/esm/highlevel/methods/files/download-iterable.js +1 -1
- package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
- package/esm/highlevel/methods/files/download-node-stream.js.map +1 -1
- package/esm/highlevel/methods/files/download-stream.js.map +1 -1
- package/esm/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
- package/esm/highlevel/methods/files/normalize-input-file.js.map +1 -1
- package/esm/highlevel/methods/files/normalize-input-media.js +1 -2
- package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
- package/esm/highlevel/methods/files/upload-file.js +8 -7
- package/esm/highlevel/methods/files/upload-file.js.map +1 -1
- package/esm/highlevel/methods/files/upload-media.js.map +1 -1
- package/esm/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
- package/esm/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
- package/esm/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
- package/esm/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
- package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
- package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/edit-inline-message.js.map +1 -1
- package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
- package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
- package/esm/highlevel/methods/messages/get-discussion-message.js.map +1 -1
- package/esm/highlevel/methods/messages/get-history.js +5 -1
- package/esm/highlevel/methods/messages/get-history.js.map +1 -1
- package/esm/highlevel/methods/messages/get-message-by-link.js.map +1 -1
- package/esm/highlevel/methods/messages/get-message-group.js.map +1 -1
- package/esm/highlevel/methods/messages/get-message-reactions.js.map +1 -1
- package/esm/highlevel/methods/messages/get-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/get-reply-to.js.map +1 -1
- package/esm/highlevel/methods/messages/iter-history.js.map +1 -1
- package/esm/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
- package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
- package/esm/highlevel/methods/messages/iter-search-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/read-history.js.map +1 -1
- package/esm/highlevel/methods/messages/send-answer.js.map +1 -1
- package/esm/highlevel/methods/messages/send-comment.js.map +1 -1
- package/esm/highlevel/methods/messages/send-common.js.map +1 -1
- package/esm/highlevel/methods/messages/send-copy-group.js.map +1 -1
- package/esm/highlevel/methods/messages/send-copy.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media.js.map +1 -1
- package/esm/highlevel/methods/messages/send-quote.js.map +1 -1
- package/esm/highlevel/methods/messages/send-text.js.map +1 -1
- package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
- package/esm/highlevel/methods/messages/send-vote.js.map +1 -1
- package/esm/highlevel/methods/messages/translate-text.js.map +1 -1
- package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
- package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
- package/esm/highlevel/methods/misc/normalize-text.js.map +1 -1
- package/esm/highlevel/methods/misc/with-params.js.map +1 -1
- package/esm/highlevel/methods/password/change-cloud-password.js.map +1 -1
- package/esm/highlevel/methods/password/enable-cloud-password.js.map +1 -1
- package/esm/highlevel/methods/password/remove-cloud-password.js.map +1 -1
- package/esm/highlevel/methods/premium/can-apply-boost.js.map +1 -1
- package/esm/highlevel/methods/premium/iter-boosters.js.map +1 -1
- package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
- package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
- package/esm/highlevel/methods/stories/can-send-story.js.map +1 -1
- package/esm/highlevel/methods/stories/edit-story.js.map +1 -1
- package/esm/highlevel/methods/stories/find-in-update.js.map +1 -1
- package/esm/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
- package/esm/highlevel/methods/stories/iter-all-stories.js.map +1 -1
- package/esm/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
- package/esm/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
- package/esm/highlevel/methods/stories/send-story.js.map +1 -1
- package/esm/highlevel/methods/users/delete-profile-photos.js.map +1 -1
- package/esm/highlevel/methods/users/get-users.js.map +1 -1
- package/esm/highlevel/methods/users/iter-profile-photos.js.map +1 -1
- package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
- package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
- package/esm/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
- package/esm/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
- package/esm/highlevel/storage/service/current-user.js +2 -0
- package/esm/highlevel/storage/service/current-user.js.map +1 -1
- package/esm/highlevel/storage/service/peers.js +5 -1
- package/esm/highlevel/storage/service/peers.js.map +1 -1
- package/esm/highlevel/storage/service/ref-messages.js +3 -0
- package/esm/highlevel/storage/service/ref-messages.js.map +1 -1
- package/esm/highlevel/storage/service/updates.js +1 -0
- package/esm/highlevel/storage/service/updates.js.map +1 -1
- package/esm/highlevel/storage/storage.d.ts +1 -1
- package/esm/highlevel/storage/storage.js +17 -4
- package/esm/highlevel/storage/storage.js.map +1 -1
- package/esm/highlevel/types/auth/sent-code.js +1 -0
- package/esm/highlevel/types/auth/sent-code.js.map +1 -1
- package/esm/highlevel/types/bots/game-high-score.js +2 -0
- package/esm/highlevel/types/bots/game-high-score.js.map +1 -1
- package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -1
- package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -1
- package/esm/highlevel/types/bots/keyboards/builder.js +2 -1
- package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -1
- package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -1
- package/esm/highlevel/types/calls/discard-reason.js.map +1 -1
- package/esm/highlevel/types/conversation.js +13 -7
- package/esm/highlevel/types/conversation.js.map +1 -1
- package/esm/highlevel/types/errors.js +3 -0
- package/esm/highlevel/types/errors.js.map +1 -1
- package/esm/highlevel/types/files/file-location.js +3 -0
- package/esm/highlevel/types/files/file-location.js.map +1 -1
- package/esm/highlevel/types/files/uploaded-file.js +1 -1
- package/esm/highlevel/types/files/uploaded-file.js.map +1 -1
- package/esm/highlevel/types/files/utils.d.ts +1 -1
- package/esm/highlevel/types/files/utils.js.map +1 -1
- package/esm/highlevel/types/files/web-document.js +1 -0
- package/esm/highlevel/types/files/web-document.js.map +1 -1
- package/esm/highlevel/types/media/audio.js +3 -2
- package/esm/highlevel/types/media/audio.js.map +1 -1
- package/esm/highlevel/types/media/contact.js +2 -1
- package/esm/highlevel/types/media/contact.js.map +1 -1
- package/esm/highlevel/types/media/dice.js +125 -124
- package/esm/highlevel/types/media/dice.js.map +1 -1
- package/esm/highlevel/types/media/document-utils.js.map +1 -1
- package/esm/highlevel/types/media/document.js +2 -4
- package/esm/highlevel/types/media/document.js.map +1 -1
- package/esm/highlevel/types/media/game.js +2 -1
- package/esm/highlevel/types/media/game.js.map +1 -1
- package/esm/highlevel/types/media/invoice.js +4 -1
- package/esm/highlevel/types/media/invoice.js.map +1 -1
- package/esm/highlevel/types/media/location.js +4 -5
- package/esm/highlevel/types/media/location.js.map +1 -1
- package/esm/highlevel/types/media/photo.js +8 -1
- package/esm/highlevel/types/media/photo.js.map +1 -1
- package/esm/highlevel/types/media/poll.js +4 -1
- package/esm/highlevel/types/media/poll.js.map +1 -1
- package/esm/highlevel/types/media/sticker.js +3 -1
- package/esm/highlevel/types/media/sticker.js.map +1 -1
- package/esm/highlevel/types/media/story.js +3 -1
- package/esm/highlevel/types/media/story.js.map +1 -1
- package/esm/highlevel/types/media/thumbnail.js +35 -22
- package/esm/highlevel/types/media/thumbnail.js.map +1 -1
- package/esm/highlevel/types/media/venue.js +2 -1
- package/esm/highlevel/types/media/venue.js.map +1 -1
- package/esm/highlevel/types/media/video.js +3 -1
- package/esm/highlevel/types/media/video.js.map +1 -1
- package/esm/highlevel/types/media/voice.js +2 -1
- package/esm/highlevel/types/media/voice.js.map +1 -1
- package/esm/highlevel/types/media/web-page.js +2 -1
- package/esm/highlevel/types/media/web-page.js.map +1 -1
- package/esm/highlevel/types/messages/dialog.js +3 -0
- package/esm/highlevel/types/messages/dialog.js.map +1 -1
- package/esm/highlevel/types/messages/draft-message.js +1 -0
- package/esm/highlevel/types/messages/draft-message.js.map +1 -1
- package/esm/highlevel/types/messages/message-action.js.map +1 -1
- package/esm/highlevel/types/messages/message-entity.js +2 -0
- package/esm/highlevel/types/messages/message-entity.js.map +1 -1
- package/esm/highlevel/types/messages/message-forward.js +2 -0
- package/esm/highlevel/types/messages/message-forward.js.map +1 -1
- package/esm/highlevel/types/messages/message-media.js.map +1 -1
- package/esm/highlevel/types/messages/message-reactions.js +4 -0
- package/esm/highlevel/types/messages/message-reactions.js.map +1 -1
- package/esm/highlevel/types/messages/message-replies.js +2 -0
- package/esm/highlevel/types/messages/message-replies.js.map +1 -1
- package/esm/highlevel/types/messages/message.js +6 -0
- package/esm/highlevel/types/messages/message.js.map +1 -1
- package/esm/highlevel/types/messages/replied-message.js +2 -0
- package/esm/highlevel/types/messages/replied-message.js.map +1 -1
- package/esm/highlevel/types/misc/sticker-set.js +7 -1
- package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
- package/esm/highlevel/types/misc/takeout-session.js +5 -0
- package/esm/highlevel/types/misc/takeout-session.js.map +1 -1
- package/esm/highlevel/types/peers/chat-colors.js +2 -0
- package/esm/highlevel/types/peers/chat-colors.js.map +1 -1
- package/esm/highlevel/types/peers/chat-event/actions.js.map +1 -1
- package/esm/highlevel/types/peers/chat-event/filters.js.map +1 -1
- package/esm/highlevel/types/peers/chat-event/index.js +2 -0
- package/esm/highlevel/types/peers/chat-event/index.js.map +1 -1
- package/esm/highlevel/types/peers/chat-invite-link-member.js +2 -0
- package/esm/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
- package/esm/highlevel/types/peers/chat-invite-link.js +2 -0
- package/esm/highlevel/types/peers/chat-invite-link.js.map +1 -1
- package/esm/highlevel/types/peers/chat-location.js +1 -0
- package/esm/highlevel/types/peers/chat-location.js.map +1 -1
- package/esm/highlevel/types/peers/chat-member.js +2 -0
- package/esm/highlevel/types/peers/chat-member.js.map +1 -1
- package/esm/highlevel/types/peers/chat-permissions.js +1 -0
- package/esm/highlevel/types/peers/chat-permissions.js.map +1 -1
- package/esm/highlevel/types/peers/chat-photo.js +5 -0
- package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
- package/esm/highlevel/types/peers/chat-preview.js +2 -0
- package/esm/highlevel/types/peers/chat-preview.js.map +1 -1
- package/esm/highlevel/types/peers/chat.js +12 -1
- package/esm/highlevel/types/peers/chat.js.map +1 -1
- package/esm/highlevel/types/peers/forum-topic.js +9 -6
- package/esm/highlevel/types/peers/forum-topic.js.map +1 -1
- package/esm/highlevel/types/peers/peer.js.map +1 -1
- package/esm/highlevel/types/peers/peers-index.js +3 -1
- package/esm/highlevel/types/peers/peers-index.js.map +1 -1
- package/esm/highlevel/types/peers/user.js +5 -1
- package/esm/highlevel/types/peers/user.js.map +1 -1
- package/esm/highlevel/types/premium/boost-slot.js +2 -0
- package/esm/highlevel/types/premium/boost-slot.js.map +1 -1
- package/esm/highlevel/types/premium/boost-stats.js +1 -0
- package/esm/highlevel/types/premium/boost-stats.js.map +1 -1
- package/esm/highlevel/types/premium/boost.js +2 -0
- package/esm/highlevel/types/premium/boost.js.map +1 -1
- package/esm/highlevel/types/reactions/emoji-status.js +1 -0
- package/esm/highlevel/types/reactions/emoji-status.js.map +1 -1
- package/esm/highlevel/types/reactions/peer-reaction.js +2 -0
- package/esm/highlevel/types/reactions/peer-reaction.js.map +1 -1
- package/esm/highlevel/types/reactions/reaction-count.js +1 -0
- package/esm/highlevel/types/reactions/reaction-count.js.map +1 -1
- package/esm/highlevel/types/reactions/types.js.map +1 -1
- package/esm/highlevel/types/stories/all-stories.d.ts +2 -2
- package/esm/highlevel/types/stories/all-stories.js +3 -1
- package/esm/highlevel/types/stories/all-stories.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/base.js +1 -0
- package/esm/highlevel/types/stories/interactive/base.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/channel-post.js +3 -1
- package/esm/highlevel/types/stories/interactive/channel-post.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/input.js +1 -0
- package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/location.js +2 -1
- package/esm/highlevel/types/stories/interactive/location.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/reaction.js +2 -1
- package/esm/highlevel/types/stories/interactive/reaction.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/venue.js +2 -1
- package/esm/highlevel/types/stories/interactive/venue.js.map +1 -1
- package/esm/highlevel/types/stories/peer-stories.js +2 -0
- package/esm/highlevel/types/stories/peer-stories.js.map +1 -1
- package/esm/highlevel/types/stories/stealth-mode.js +1 -0
- package/esm/highlevel/types/stories/stealth-mode.js.map +1 -1
- package/esm/highlevel/types/stories/story-interactions.js +2 -0
- package/esm/highlevel/types/stories/story-interactions.js.map +1 -1
- package/esm/highlevel/types/stories/story-viewer.d.ts +1 -1
- package/esm/highlevel/types/stories/story-viewer.js +6 -0
- package/esm/highlevel/types/stories/story-viewer.js.map +1 -1
- package/esm/highlevel/types/stories/story.js +2 -0
- package/esm/highlevel/types/stories/story.js.map +1 -1
- package/esm/highlevel/types/updates/bot-chat-join-request.js +2 -0
- package/esm/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
- package/esm/highlevel/types/updates/bot-reaction.js +4 -0
- package/esm/highlevel/types/updates/bot-reaction.js.map +1 -1
- package/esm/highlevel/types/updates/bot-stopped.js +2 -0
- package/esm/highlevel/types/updates/bot-stopped.js.map +1 -1
- package/esm/highlevel/types/updates/callback-query.js +4 -0
- package/esm/highlevel/types/updates/callback-query.js.map +1 -1
- package/esm/highlevel/types/updates/chat-join-request.js +2 -0
- package/esm/highlevel/types/updates/chat-join-request.js.map +1 -1
- package/esm/highlevel/types/updates/chat-member-update.js +2 -0
- package/esm/highlevel/types/updates/chat-member-update.js.map +1 -1
- package/esm/highlevel/types/updates/chosen-inline-result.js +2 -0
- package/esm/highlevel/types/updates/chosen-inline-result.js.map +1 -1
- package/esm/highlevel/types/updates/delete-message-update.js +1 -0
- package/esm/highlevel/types/updates/delete-message-update.js.map +1 -1
- package/esm/highlevel/types/updates/delete-story-update.js +2 -0
- package/esm/highlevel/types/updates/delete-story-update.js.map +1 -1
- package/esm/highlevel/types/updates/history-read-update.js +1 -0
- package/esm/highlevel/types/updates/history-read-update.js.map +1 -1
- package/esm/highlevel/types/updates/inline-query.js +2 -0
- package/esm/highlevel/types/updates/inline-query.js.map +1 -1
- package/esm/highlevel/types/updates/parse-update.js.map +1 -1
- package/esm/highlevel/types/updates/poll-update.js +2 -0
- package/esm/highlevel/types/updates/poll-update.js.map +1 -1
- package/esm/highlevel/types/updates/poll-vote.js +2 -0
- package/esm/highlevel/types/updates/poll-vote.js.map +1 -1
- package/esm/highlevel/types/updates/pre-checkout-query.js +2 -0
- package/esm/highlevel/types/updates/pre-checkout-query.js.map +1 -1
- package/esm/highlevel/types/updates/story-update.js +2 -0
- package/esm/highlevel/types/updates/story-update.js.map +1 -1
- package/esm/highlevel/types/updates/user-status-update.js +1 -0
- package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
- package/esm/highlevel/types/updates/user-typing-update.js +1 -0
- package/esm/highlevel/types/updates/user-typing-update.js.map +1 -1
- package/esm/highlevel/updates/manager.js +50 -28
- package/esm/highlevel/updates/manager.js.map +1 -1
- package/esm/highlevel/updates/parsed.js.map +1 -1
- package/esm/highlevel/updates/utils.js.map +1 -1
- package/esm/highlevel/utils/convert-file-id.js.map +1 -1
- package/esm/highlevel/utils/entities.js.map +1 -1
- package/esm/highlevel/utils/file-type.d.ts +1 -0
- package/esm/highlevel/utils/file-type.js +34 -0
- package/esm/highlevel/utils/file-type.js.map +1 -1
- package/esm/highlevel/utils/file-utils.js +1 -1
- package/esm/highlevel/utils/file-utils.js.map +1 -1
- package/esm/highlevel/utils/inline-utils.js.map +1 -1
- package/esm/highlevel/utils/inspectable.js.map +1 -1
- package/esm/highlevel/utils/memoize.js.map +1 -1
- package/esm/highlevel/utils/peer-utils.js.map +1 -1
- package/esm/highlevel/utils/query-batcher.js.map +1 -1
- package/esm/highlevel/utils/rps-meter.js +3 -0
- package/esm/highlevel/utils/rps-meter.js.map +1 -1
- package/esm/highlevel/utils/stream-utils.js.map +1 -1
- package/esm/highlevel/utils/string-session.d.ts +1 -2
- package/esm/highlevel/utils/string-session.js +27 -7
- package/esm/highlevel/utils/string-session.js.map +1 -1
- package/esm/highlevel/utils/voice-utils.js.map +1 -1
- package/esm/highlevel/worker/app-config.d.ts +2 -3
- package/esm/highlevel/worker/app-config.js +6 -3
- package/esm/highlevel/worker/app-config.js.map +1 -1
- package/esm/highlevel/worker/errors.js.map +1 -1
- package/esm/highlevel/worker/invoker.js +3 -2
- package/esm/highlevel/worker/invoker.js.map +1 -1
- package/esm/highlevel/worker/port.d.ts +16 -17
- package/esm/highlevel/worker/port.js +74 -49
- package/esm/highlevel/worker/port.js.map +1 -1
- package/esm/highlevel/worker/protocol.d.ts +1 -1
- package/esm/highlevel/worker/protocol.js.map +1 -1
- package/esm/highlevel/worker/storage.d.ts +9 -13
- package/esm/highlevel/worker/storage.js +34 -19
- package/esm/highlevel/worker/storage.js.map +1 -1
- package/esm/highlevel/worker/worker.js +3 -0
- package/esm/highlevel/worker/worker.js.map +1 -1
- package/esm/network/auth-key.js +8 -1
- package/esm/network/auth-key.js.map +1 -1
- package/esm/network/authorization.js.map +1 -1
- package/esm/network/client.js +39 -14
- package/esm/network/client.js.map +1 -1
- package/esm/network/config-manager.js.map +1 -1
- package/esm/network/mtproto-session.js +40 -30
- package/esm/network/mtproto-session.js.map +1 -1
- package/esm/network/multi-session-connection.d.ts +1 -1
- package/esm/network/multi-session-connection.js +13 -7
- package/esm/network/multi-session-connection.js.map +1 -1
- package/esm/network/network-manager.d.ts +2 -3
- package/esm/network/network-manager.js +49 -28
- package/esm/network/network-manager.js.map +1 -1
- package/esm/network/persistent-connection.d.ts +2 -2
- package/esm/network/persistent-connection.js +33 -22
- package/esm/network/persistent-connection.js.map +1 -1
- package/esm/network/server-salt.js +4 -5
- package/esm/network/server-salt.js.map +1 -1
- package/esm/network/session-connection.d.ts +1 -1
- package/esm/network/session-connection.js +22 -12
- package/esm/network/session-connection.js.map +1 -1
- package/esm/network/transports/abstract.d.ts +1 -1
- package/esm/network/transports/abstract.js +1 -0
- package/esm/network/transports/abstract.js.map +1 -1
- package/esm/network/transports/intermediate.js +1 -0
- package/esm/network/transports/intermediate.js.map +1 -1
- package/esm/network/transports/obfuscated.js +3 -0
- package/esm/network/transports/obfuscated.js.map +1 -1
- package/esm/network/transports/streamed.js +1 -4
- package/esm/network/transports/streamed.js.map +1 -1
- package/esm/network/transports/wrapped.js +2 -0
- package/esm/network/transports/wrapped.js.map +1 -1
- package/esm/platform.js.map +1 -1
- package/esm/storage/driver.js +3 -4
- package/esm/storage/driver.js.map +1 -1
- package/esm/storage/memory/driver.js +1 -3
- package/esm/storage/memory/driver.js.map +1 -1
- package/esm/storage/memory/index.js +5 -7
- package/esm/storage/memory/index.js.map +1 -1
- package/esm/storage/memory/repository/auth-keys.d.ts +1 -1
- package/esm/storage/memory/repository/auth-keys.js +2 -0
- package/esm/storage/memory/repository/auth-keys.js.map +1 -1
- package/esm/storage/memory/repository/kv.d.ts +1 -1
- package/esm/storage/memory/repository/kv.js +2 -0
- package/esm/storage/memory/repository/kv.js.map +1 -1
- package/esm/storage/memory/repository/peers.d.ts +1 -1
- package/esm/storage/memory/repository/peers.js +2 -0
- package/esm/storage/memory/repository/peers.js.map +1 -1
- package/esm/storage/memory/repository/ref-messages.d.ts +1 -1
- package/esm/storage/memory/repository/ref-messages.js +2 -0
- package/esm/storage/memory/repository/ref-messages.js.map +1 -1
- package/esm/storage/service/auth-keys.js +2 -0
- package/esm/storage/service/auth-keys.js.map +1 -1
- package/esm/storage/service/base.js +4 -0
- package/esm/storage/service/base.js.map +1 -1
- package/esm/storage/service/default-dcs.js +2 -0
- package/esm/storage/service/default-dcs.js.map +1 -1
- package/esm/storage/service/future-salts.js +2 -1
- package/esm/storage/service/future-salts.js.map +1 -1
- package/esm/storage/sqlite/driver.js +10 -10
- package/esm/storage/sqlite/driver.js.map +1 -1
- package/esm/storage/sqlite/index.d.ts +1 -1
- package/esm/storage/sqlite/index.js +5 -0
- package/esm/storage/sqlite/index.js.map +1 -1
- package/esm/storage/sqlite/repository/auth-keys.js +9 -0
- package/esm/storage/sqlite/repository/auth-keys.js.map +1 -1
- package/esm/storage/sqlite/repository/kv.js +5 -0
- package/esm/storage/sqlite/repository/kv.js.map +1 -1
- package/esm/storage/sqlite/repository/peers.js +6 -0
- package/esm/storage/sqlite/repository/peers.js.map +1 -1
- package/esm/storage/sqlite/repository/ref-messages.d.ts +1 -1
- package/esm/storage/sqlite/repository/ref-messages.js +6 -0
- package/esm/storage/sqlite/repository/ref-messages.js.map +1 -1
- package/esm/storage/storage.d.ts +1 -3
- package/esm/storage/storage.js +21 -13
- package/esm/storage/storage.js.map +1 -1
- package/esm/types/errors.js +13 -0
- package/esm/types/errors.js.map +1 -1
- package/esm/utils/async-lock.js +1 -3
- package/esm/utils/async-lock.js.map +1 -1
- package/esm/utils/bigint-utils.js.map +1 -1
- package/esm/utils/binary/asn1-parser.js.map +1 -1
- package/esm/utils/buffer-utils.js.map +1 -1
- package/esm/utils/condition-variable.js +2 -0
- package/esm/utils/condition-variable.js.map +1 -1
- package/esm/utils/crypto/factorization.js.map +1 -1
- package/esm/utils/crypto/keys.js.map +1 -1
- package/esm/utils/crypto/miller-rabin.js.map +1 -1
- package/esm/utils/crypto/password.js.map +1 -1
- package/esm/utils/crypto/utils.js.map +1 -1
- package/esm/utils/dcs.js +1 -1
- package/esm/utils/dcs.js.map +1 -1
- package/esm/utils/deque.js +8 -2
- package/esm/utils/deque.js.map +1 -1
- package/esm/utils/early-timer.js +4 -1
- package/esm/utils/early-timer.js.map +1 -1
- package/esm/utils/error-reporting.js.map +1 -1
- package/esm/utils/function-utils.js.map +1 -1
- package/esm/utils/linked-list.js +4 -1
- package/esm/utils/linked-list.js.map +1 -1
- package/esm/utils/links/bots.js.map +1 -1
- package/esm/utils/links/chat.js.map +1 -1
- package/esm/utils/links/common.js.map +1 -1
- package/esm/utils/links/misc.js.map +1 -1
- package/esm/utils/logger.d.ts +2 -2
- package/esm/utils/logger.js +21 -14
- package/esm/utils/logger.js.map +1 -1
- package/esm/utils/long-utils.js +2 -6
- package/esm/utils/long-utils.js.map +1 -1
- package/esm/utils/lru-map.js +5 -1
- package/esm/utils/lru-map.js.map +1 -1
- package/esm/utils/lru-set.js +4 -0
- package/esm/utils/lru-set.js.map +1 -1
- package/esm/utils/peer-utils.js.map +1 -1
- package/esm/utils/reloadable.js +10 -7
- package/esm/utils/reloadable.js.map +1 -1
- package/esm/utils/sorted-array.js +2 -0
- package/esm/utils/sorted-array.js.map +1 -1
- package/esm/utils/tl-json.js.map +1 -1
- package/esm/utils/type-assertions.js.map +1 -1
- package/package.json +11 -11
|
@@ -13,6 +13,10 @@ const defaultOffset = {
|
|
|
13
13
|
id: 0,
|
|
14
14
|
date: 0,
|
|
15
15
|
};
|
|
16
|
+
const defaultOffsetReverse = {
|
|
17
|
+
id: 1,
|
|
18
|
+
date: 0,
|
|
19
|
+
};
|
|
16
20
|
/**
|
|
17
21
|
* Get chat history.
|
|
18
22
|
*
|
|
@@ -22,7 +26,7 @@ const defaultOffset = {
|
|
|
22
26
|
async function getHistory(client, chatId, params) {
|
|
23
27
|
if (!params)
|
|
24
28
|
params = {};
|
|
25
|
-
const { limit = 100, offset: { id: offsetId
|
|
29
|
+
const { reverse = false, limit = 100, offset: { id: offsetId, date: offsetDate } = reverse ? defaultOffsetReverse : defaultOffset, addOffset = 0, minId = 0, maxId = 0, } = params;
|
|
26
30
|
const addOffsetAdjusted = addOffset + (reverse ? -limit : 0);
|
|
27
31
|
const peer = await (0, resolve_peer_js_1.resolvePeer)(client, chatId);
|
|
28
32
|
const res = await client.call({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-history.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAIvB,0EAAmE;AAEnE,mDAAyF;AACzF,mDAAyD;AACzD,8DAAsD;AAQtD,MAAM,aAAa,GAAqB;IACpC,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;CACV,CAAA;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAAqB,EACrB,MAsDC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,KAAK,GAAG,GAAG,EACX,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"get-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-history.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAIvB,0EAAmE;AAEnE,mDAAyF;AACzF,mDAAyD;AACzD,8DAAsD;AAQtD,MAAM,aAAa,GAAqB;IACpC,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;CACV,CAAA;AAED,MAAM,oBAAoB,GAAqB;IAC3C,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;CACV,CAAA;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAAqB,EACrB,MAsDC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,GAAG,EACX,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAC3F,SAAS,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,CAAC,GACZ,GAAG,MAAM,CAAA;IAEV,MAAM,iBAAiB,GAAG,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5D,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,qBAAqB;QACxB,IAAI;QACJ,QAAQ;QACR,UAAU;QACV,SAAS,EAAE,iBAAiB;QAC5B,KAAK;QACL,KAAK;QACL,KAAK;QACL,IAAI,EAAE,cAAI,CAAC,IAAI;KAClB,CAAC,CAAA;IAEF,IAAA,oCAAe,EAAC,YAAY,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAElE,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,kBAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAEzG,IAAI,OAAO;QAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC;QACf;YACI,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;SACtB,CAAC,CAAC;QACH,SAAS,CAAA;IAEb,OAAO,IAAA,6BAAkB,EAAC,IAAI,EAAG,GAAoC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACrG,CAAC;AAtGD,gCAsGC","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\n\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { ArrayPaginated, InputPeerLike, Message, PeersIndex } from '../../types/index.js'\nimport { makeArrayPaginated } from '../../utils/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @exported\nexport interface GetHistoryOffset {\n id: number\n date: number\n}\n\nconst defaultOffset: GetHistoryOffset = {\n id: 0,\n date: 0,\n}\n\nconst defaultOffsetReverse: GetHistoryOffset = {\n id: 1,\n date: 0,\n}\n\n/**\n * Get chat history.\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`.\n * @param params Additional fetch parameters\n */\nexport async function getHistory(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default 100\n */\n limit?: number\n\n /**\n * Offset for pagination\n */\n offset?: GetHistoryOffset\n\n /**\n * Additional offset from {@link offset}, in resulting messages.\n *\n * This can be used for advanced use cases, like:\n * - Loading 20 messages newer than message with ID `MSGID`:\n * `offset = MSGID, addOffset = -20, limit = 20`\n * - Loading 20 messages around message with ID `MSGID`:\n * `offset = MSGID, addOffset = -10, limit = 20`\n *\n * @default `0` (disabled)\n */\n\n addOffset?: number\n\n /**\n * Minimum message ID to return\n *\n * @default `0` (disabled).\n */\n minId?: number\n\n /**\n * Maximum message ID to return.\n *\n * Unless {@link addOffset} is used, this will work the same as {@link offset}.\n *\n * @default `0` (disabled).\n */\n maxId?: number\n\n /**\n * Whether to retrieve messages in reversed order (from older to recent),\n * starting from {@link offset} (inclusive).\n *\n * > **Note**: Using `reverse=true` requires you to pass offset from which to start\n * > fetching the messages \"downwards\". If you call `getHistory` with `reverse=true`\n * > and without any offset, it will return an empty array.\n *\n * @default false\n */\n reverse?: boolean\n },\n): Promise<ArrayPaginated<Message, GetHistoryOffset>> {\n if (!params) params = {}\n\n const {\n reverse = false,\n limit = 100,\n offset: { id: offsetId, date: offsetDate } = reverse ? defaultOffsetReverse : defaultOffset,\n addOffset = 0,\n minId = 0,\n maxId = 0,\n } = params\n\n const addOffsetAdjusted = addOffset + (reverse ? -limit : 0)\n\n const peer = await resolvePeer(client, chatId)\n\n const res = await client.call({\n _: 'messages.getHistory',\n peer,\n offsetId,\n offsetDate,\n addOffset: addOffsetAdjusted,\n limit,\n maxId,\n minId,\n hash: Long.ZERO,\n })\n\n assertTypeIsNot('getHistory', res, 'messages.messagesNotModified')\n\n const peers = PeersIndex.from(res)\n const msgs = res.messages.filter((msg) => msg._ !== 'messageEmpty').map((msg) => new Message(msg, peers))\n\n if (reverse) msgs.reverse()\n\n const last = msgs[msgs.length - 1]\n const next = last ?\n {\n id: last.id + (reverse ? 1 : 0),\n date: last.raw.date,\n } :\n undefined\n\n return makeArrayPaginated(msgs, (res as tl.messages.RawMessagesSlice).count ?? msgs.length, next)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-message-by-link.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-by-link.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,4DAAqD;AACrD,gEAAkE;AAGlE,8DAAsD;AACtD,2EAAmE;AACnE,uDAA+C;AAE/C;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAAuB,EAAE,IAAY;IACxE,MAAM,MAAM,GAAG,gBAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"get-message-by-link.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-by-link.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,4DAAqD;AACrD,gEAAkE;AAGlE,8DAAsD;AACtD,2EAAmE;AACnE,uDAA+C;AAE/C;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAAuB,EAAE,IAAY;IACxE,MAAM,MAAM,GAAG,gBAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,2BAAe,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,IAAI,CAAA;IAER,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrD,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAA,mCAAmB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,CAAA;IAErB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,IAAI,CAAC,GAAG,MAAM,IAAA,iDAAqB,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAC7D,KAAK,GAAG,MAAM,CAAC,SAAS,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAEpD,OAAO,GAAG,CAAA;AACd,CAAC;AAzBD,4CAyBC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { links } from '../../../utils/links/index.js'\nimport { toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { getMessages } from './get-messages.js'\n\n/**\n * Given a message link (e.g. `t.me/durov/1`), fetch the relevant message.\n */\nexport async function getMessageByLink(client: ITelegramClient, link: string): Promise<Message | null> {\n const parsed = links.message.parse(link)\n\n if (!parsed) {\n throw new MtArgumentError(`Invalid message link: ${link}`)\n }\n\n let peer\n\n if ('username' in parsed) {\n peer = await resolvePeer(client, parsed.username)\n } else {\n peer = await resolvePeer(client, toggleChannelIdMark(parsed.channelId))\n }\n\n let msgId = parsed.id\n\n if (parsed.commentId) {\n [peer] = await _getDiscussionMessage(client, peer, parsed.id)\n msgId = parsed.commentId\n }\n\n const [msg] = await getMessages(client, peer, msgId)\n\n return msg\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-message-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-group.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,0EAA6D;AAE7D,mDAAuF;AACvF,6DAA8D;AAC9D,8DAAsD;AACtD,uDAA+C;AAE/C;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CAAC,MAAuB,EAAE,MAAsB;IACjF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;IAE3D,oCAAoC;IACpC,oCAAoC;IACpC,0DAA0D;IAC1D,wBAAwB;IACxB,0CAA0C;IAE1C,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,KAAK,GAAG,IAAA,kCAAkB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/C,MAAM,GAAG,GAAa,EAAE,CAAA;IAExB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"get-message-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-group.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,0EAA6D;AAE7D,mDAAuF;AACvF,6DAA8D;AAC9D,8DAAsD;AACtD,uDAA+C;AAE/C;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CAAC,MAAuB,EAAE,MAAsB;IACjF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;IAE3D,oCAAoC;IACpC,oCAAoC;IACpC,0DAA0D;IAC1D,wBAAwB;IACxB,0CAA0C;IAE1C,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,KAAK,GAAG,IAAA,kCAAkB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/C,MAAM,GAAG,GAAa,EAAE,CAAA;IAExB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAE,CAAC,SAAS,CAAA;IAEtE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,2BAAe,CAAC,6BAA6B,CAAC,CAAA;IAExE,OAAO,QAAQ,CAAC,MAAM,CAAC,8BAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AACjF,CAAC;AAzBD,0CAyBC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { isPresent } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, Message, normalizeInputMessageId } from '../../types/index.js'\nimport { isInputPeerChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\n\n/**\n * Get all messages inside of a message group\n *\n * @param chatId Chat ID\n * @param message ID of one of the messages in the group\n */\nexport async function getMessageGroup(client: ITelegramClient, params: InputMessageId): Promise<Message[]> {\n const { chatId, message } = normalizeInputMessageId(params)\n\n // awesome hack stolen from pyrogram\n // groups have no more than 10 items\n // however, since for non-channels message ids are shared,\n // we use larger number.\n // still, this might not be enough :shrug:\n\n const peer = await resolvePeer(client, chatId)\n\n const delta = isInputPeerChannel(peer) ? 9 : 19\n\n const ids: number[] = []\n\n for (let i = Math.max(message - delta, 0); i <= message + delta; i++) {\n ids.push(i)\n }\n\n const messages = await getMessages(client, chatId, ids)\n const groupedId = messages.find((it) => it?.id === message)!.groupedId\n\n if (!groupedId) throw new MtArgumentError('This message is not grouped')\n\n return messages.filter(isPresent).filter((it) => it.groupedId?.eq(groupedId))\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-message-reactions.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-reactions.ts"],"names":[],"mappings":";;;AAAA,gEAA8D;AAC9D,0EAAgE;AAEhE,mDAA2F;AAC3F,qDAA6D;AAC7D,8DAAsD;AAEtD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,uBAAuB,CACzC,MAAuB,EACvB,MAAqB,EACrB,QAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC;QACvC,EAAE,EAAE,QAAQ;KACf,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;IAE1D,qDAAqD;IACrD,gDAAgD;IAChD,EAAE;IACF,+CAA+C;IAC/C,+CAA+C;IAE/C,MAAM,KAAK,GAAqC,EAAE,CAAA;IAElD,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"get-message-reactions.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-reactions.ts"],"names":[],"mappings":";;;AAAA,gEAA8D;AAC9D,0EAAgE;AAEhE,mDAA2F;AAC3F,qDAA6D;AAC7D,8DAAsD;AAEtD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,uBAAuB,CACzC,MAAuB,EACvB,MAAqB,EACrB,QAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC;QACvC,EAAE,EAAE,QAAQ;KACf,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;IAE1D,qDAAqD;IACrD,gDAAgD;IAChD,EAAE;IACF,+CAA+C;IAC/C,+CAA+C;IAE/C,MAAM,KAAK,GAAqC,EAAE,CAAA;IAElD,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAA,iCAAY,EAAC,+BAA+B,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAA;QAE/E,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,2BAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAA,+BAAe,EAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACnH,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAA;AAChE,CAAC;AA9BD,0DA8BC;AAED;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,QAAmB;IAEnB,OAAO,uBAAuB,CAC1B,MAAM,EACN,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9B,CAAA;AACL,CAAC;AATD,kDASC","sourcesContent":["import { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message, MessageReactions, PeersIndex } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Get reactions to messages by their IDs.\n *\n * > Apps should short-poll reactions for visible messages\n * > (that weren't sent by the user) once every 15-30 seconds,\n * > but only if `message.reactions` is set\n *\n * @param chatId ID of the chat with messages\n * @param messages Message IDs\n * @returns Reactions to corresponding messages, or `null` if there are none\n */\nexport async function getMessageReactionsById(\n client: ITelegramClient,\n chatId: InputPeerLike,\n messages: number[],\n): Promise<(MessageReactions | null)[]> {\n const res = await client.call({\n _: 'messages.getMessagesReactions',\n peer: await resolvePeer(client, chatId),\n id: messages,\n })\n\n assertIsUpdatesGroup('messages.getMessagesReactions', res)\n\n // normally the group contains updateMessageReactions\n // for each message requested that has reactions\n //\n // these updates are not ordered in any way, so\n // we don't need to pass them to updates engine\n\n const index: Record<number, MessageReactions> = {}\n\n const peers = PeersIndex.from(res)\n\n for (const update of res.updates) {\n assertTypeIs('messages.getMessagesReactions', update, 'updateMessageReactions')\n\n index[update.msgId] = new MessageReactions(update.msgId, getMarkedPeerId(update.peer), update.reactions, peers)\n }\n\n return messages.map((messageId) => index[messageId] ?? null)\n}\n\n/**\n * Get reactions to {@link Message}s.\n *\n * > **Note**: messages must all be from the same chat.\n *\n * > Apps should short-poll reactions for visible messages\n * > (that weren't sent by the user) once every 15-30 seconds,\n * > but only if `message.reactions` is set\n *\n * @param chatId ID of the chat with messages\n * @param messages Message IDs\n * @returns Reactions to corresponding messages, or `null` if there are none\n */\nexport async function getMessageReactions(\n client: ITelegramClient,\n messages: Message[],\n): Promise<(MessageReactions | null)[]> {\n return getMessageReactionsById(\n client,\n messages[0].chat.inputPeer,\n messages.map((it) => it.id),\n )\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-messages.ts"],"names":[],"mappings":";;;AAGA,0EAAmE;AAEnE,4DAAuD;AACvD,yDAAsE;AACtE,6DAA8E;AAC9E,8DAAsD;AAEtD,kBAAkB;AAClB;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,MAAqB,EACrB,UAA8B,EAC9B,SAAS,GAAG,KAAK;IAEjB,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,UAAU,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACjE,MAAM,GAAG,GAA0B,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC,EAAE,IAAI;QACP,EAAE,EAAE,EAAE;KACT,CAAC,CAAC,CAAA;IAEH,MAAM,SAAS,GAAG,IAAA,kCAAkB,EAAC,IAAI,CAAC,CAAA;IAE1C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB,SAAS,CAAC,CAAC;QACP;YACI,CAAC,EAAE,sBAAsB;YACzB,EAAE,EAAE,GAAG;YACP,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;SAChC,CAAC,CAAC;QACH;YACI,CAAC,EAAE,sBAAsB;YACzB,EAAE,EAAE,GAAG;SACV,CACR,CAAA;IAED,IAAA,oCAAe,EAAC,aAAa,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAEnE,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,IAAI,MAAM,GAA8B,SAAS,CAAA;IAEjD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,IAAI,GAAG,CAAC,CAAC,KAAK,cAAc;YAAE,OAAO,IAAI,CAAA;QAEzC,IAAI,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"get-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-messages.ts"],"names":[],"mappings":";;;AAGA,0EAAmE;AAEnE,4DAAuD;AACvD,yDAAsE;AACtE,6DAA8E;AAC9E,8DAAsD;AAEtD,kBAAkB;AAClB;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,MAAqB,EACrB,UAA8B,EAC9B,SAAS,GAAG,KAAK;IAEjB,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,UAAU,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACjE,MAAM,GAAG,GAA0B,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC,EAAE,IAAI;QACP,EAAE,EAAE,EAAE;KACT,CAAC,CAAC,CAAA;IAEH,MAAM,SAAS,GAAG,IAAA,kCAAkB,EAAC,IAAI,CAAC,CAAA;IAE1C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB,SAAS,CAAC,CAAC;QACP;YACI,CAAC,EAAE,sBAAsB;YACzB,EAAE,EAAE,GAAG;YACP,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;SAChC,CAAC,CAAC;QACH;YACI,CAAC,EAAE,sBAAsB;YACzB,EAAE,EAAE,GAAG;SACV,CACR,CAAA;IAED,IAAA,oCAAe,EAAC,aAAa,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAEnE,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,IAAI,MAAM,GAA8B,SAAS,CAAA;IAEjD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,IAAI,GAAG,CAAC,CAAC,KAAK,cAAc;YAAE,OAAO,IAAI,CAAA;QAEzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,uDAAuD;YACvD,8CAA8C;YAC9C,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;gBACb,KAAK,eAAe;oBAChB,IAAI,MAAM,KAAK,SAAS;wBAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,IAAI,IAAI,CAAA;oBAElF,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;wBACjE,OAAO,IAAI,CAAA;oBACf,CAAC;oBACD,MAAK;gBACT,KAAK,eAAe,CAAC;gBACrB,KAAK,0BAA0B;oBAC3B,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtE,OAAO,IAAI,CAAA;oBACf,CAAC;oBACD,MAAK;gBACT,KAAK,eAAe;oBAChB,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtE,OAAO,IAAI,CAAA;oBACf,CAAC;oBACD,MAAK;YACb,CAAC;QACL,CAAC;QAED,OAAO,IAAI,kBAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACN,CAAC;AAlED,kCAkEC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MaybeArray } from '../../../types/utils.js'\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=both\n/**\n * Get messages in chat by their IDs\n *\n * Fot messages that were not found, `null` will be\n * returned at that position.\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`\n * @param messageIds Messages IDs\n * @param [fromReply=false]\n * Whether the reply to a given message should be fetched\n * (i.e. `getMessages(msg.chat.id, msg.id, true).id === msg.replyToMessageId`)\n */\nexport async function getMessages(\n client: ITelegramClient,\n chatId: InputPeerLike,\n messageIds: MaybeArray<number>,\n fromReply = false,\n): Promise<(Message | null)[]> {\n const peer = await resolvePeer(client, chatId)\n if (!Array.isArray(messageIds)) messageIds = [messageIds]\n\n const type = fromReply ? 'inputMessageReplyTo' : 'inputMessageID'\n const ids: tl.TypeInputMessage[] = messageIds.map((it) => ({\n _: type,\n id: it,\n }))\n\n const isChannel = isInputPeerChannel(peer)\n\n const res = await client.call(\n isChannel ?\n {\n _: 'channels.getMessages',\n id: ids,\n channel: toInputChannel(peer),\n } :\n {\n _: 'messages.getMessages',\n id: ids,\n },\n )\n\n assertTypeIsNot('getMessages', res, 'messages.messagesNotModified')\n\n const peers = PeersIndex.from(res)\n\n let selfId: number | null | undefined = undefined\n\n return res.messages.map((msg) => {\n if (msg._ === 'messageEmpty') return null\n\n if (!isChannel) {\n // make sure that the messages belong to the given chat\n // (channels have their own message numbering)\n switch (peer._) {\n case 'inputPeerSelf':\n if (selfId === undefined) selfId = client.storage.self.getCached()?.userId ?? null\n\n if (!(msg.peerId._ === 'peerUser' && msg.peerId.userId === selfId)) {\n return null\n }\n break\n case 'inputPeerUser':\n case 'inputPeerUserFromMessage':\n if (!(msg.peerId._ === 'peerUser' && msg.peerId.userId === peer.userId)) {\n return null\n }\n break\n case 'inputPeerChat':\n if (!(msg.peerId._ === 'peerChat' && msg.peerId.chatId === peer.chatId)) {\n return null\n }\n break\n }\n }\n\n return new Message(msg, peers)\n })\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-reply-to.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-reply-to.ts"],"names":[],"mappings":";;;AAEA,uDAA+C;AAC/C,qEAA4D;AAE5D;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAAC,MAAuB,EAAE,OAAgB;IACtE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"get-reply-to.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-reply-to.ts"],"names":[],"mappings":";;;AAEA,uDAA+C;AAC/C,qEAA4D;AAE5D;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAAC,MAAuB,EAAE,OAAgB;IACtE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAEjF,OAAO,GAAG,CAAA;IACd,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,0CAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO,GAAG,CAAA;AACd,CAAC;AAdD,gCAcC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { getMessages } from './get-messages.js'\nimport { getMessagesUnsafe } from './get-messages-unsafe.js'\n\n/**\n * For messages containing a reply, fetch the message that is being replied.\n *\n * Note that even if a message has {@link replyToMessage},\n * the message itself may have been deleted, in which case\n * this method will also return `null`.\n */\nexport async function getReplyTo(client: ITelegramClient, message: Message): Promise<Message | null> {\n if (!message.replyToMessage?.id) {\n return null\n }\n\n if (message.raw.peerId._ === 'peerChannel') {\n const [msg] = await getMessages(client, message.chat.inputPeer, message.id, true)\n\n return msg\n }\n\n const [msg] = await getMessagesUnsafe(client, message.id, true)\n\n return msg\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iter-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-history.ts"],"names":[],"mappings":";;;AAEA,8DAAsD;AACtD,qDAA6C;AAE7C;;;;;GAKG;AACI,KAAK,SAAS,CAAC,CAAC,WAAW,CAC9B,MAAuB,EACvB,MAAqB,EACrB,MAcC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAE3F,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,MAAM,CAAA;IACtC,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,qDAAqD;IACrD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS;
|
|
1
|
+
{"version":3,"file":"iter-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-history.ts"],"names":[],"mappings":";;;AAEA,8DAAsD;AACtD,qDAA6C;AAE7C;;;;;GAKG;AACI,KAAK,SAAS,CAAC,CAAC,WAAW,CAC9B,MAAuB,EACvB,MAAqB,EACrB,MAcC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAE3F,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,MAAM,CAAA;IACtC,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,qDAAqD;IACrD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAU,EAAC,MAAM,EAAE,IAAI,EAAE;YACvC,MAAM;YACN,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;YAC3C,KAAK;YACL,KAAK;YACL,OAAO;SACV,CAAC,CAAA;QAEF,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,GAAG,CAAA;YAET,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;QAClC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAM;QACrB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QACjB,SAAS,GAAG,CAAC,CAAA;IACjB,CAAC;AACL,CAAC;AAjDD,kCAiDC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getHistory } from './get-history.js'\n\n/**\n * Iterate over chat history. Wrapper over {@link getHistory}\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`.\n * @param params Additional fetch parameters\n */\nexport async function* iterHistory(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: Parameters<typeof getHistory>[2] & {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default Infinity, i.e. all messages\n */\n limit?: number\n\n /**\n * Chunk size. Usually you shouldn't care about this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Message> {\n if (!params) params = {}\n\n const { limit = Infinity, chunkSize = 100, minId = 0, maxId = 0, reverse = false } = params\n\n let { offset, addOffset = 0 } = params\n let current = 0\n\n // resolve peer once and pass an InputPeer afterwards\n const peer = await resolvePeer(client, chatId)\n\n for (;;) {\n const res = await getHistory(client, peer, {\n offset,\n addOffset,\n limit: Math.min(chunkSize, limit - current),\n maxId,\n minId,\n reverse,\n })\n\n for (const msg of res) {\n yield msg\n\n if (++current >= limit) return\n }\n\n if (!res.next) return\n offset = res.next\n addOffset = 0\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iter-reaction-users.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-reaction-users.ts"],"names":[],"mappings":";;;AACA,mDAAoG;AACpG,8DAAsD;AACtD,mEAA0D;AAE1D;;;;;;;;GAQG;AACI,KAAK,SAAS,CAAC,CAAC,iBAAiB,CACpC,MAAuB,EACvB,MAcC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAEpD,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEvB,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAErD,SAAS;
|
|
1
|
+
{"version":3,"file":"iter-reaction-users.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-reaction-users.ts"],"names":[],"mappings":";;;AACA,mDAAoG;AACpG,8DAAsD;AACtD,mEAA0D;AAE1D;;;;;;;;GAQG;AACI,KAAK,SAAS,CAAC,CAAC,iBAAiB,CACpC,MAAuB,EACvB,MAcC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAEpD,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEvB,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAErD,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,IAAA,wCAAgB,EAAC,MAAM,EAAE;YACvC,MAAM,EAAE,IAAI;YACZ,OAAO;YACP,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;YAC3C,MAAM;SACT,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QAEjB,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;YACzB,MAAM,QAAQ,CAAA;YAEd,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,MAAK;QACjC,CAAC;IACL,CAAC;AACL,CAAC;AA7CD,8CA6CC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { normalizeInputMessageId, normalizeInputReaction, PeerReaction } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getReactionUsers } from './get-reaction-users.js'\n\n/**\n * Iterate over users who have reacted to the message.\n *\n * Wrapper over {@link getReactionUsers}.\n *\n * @param chatId Chat ID\n * @param messageId Message ID\n * @param params\n */\nexport async function* iterReactionUsers(\n client: ITelegramClient,\n params: Parameters<typeof getReactionUsers>[1] & {\n /**\n * Limit the number of events returned.\n *\n * @default `Infinity`, i.e. all events are returned\n */\n limit?: number\n\n /**\n * Chunk size, usually not needed.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<PeerReaction> {\n const { chatId, message } = normalizeInputMessageId(params)\n const peer = await resolvePeer(client, chatId)\n\n const { limit = Infinity, chunkSize = 100 } = params\n\n let current = 0\n let { offset } = params\n\n const reaction = normalizeInputReaction(params.emoji)\n\n for (;;) {\n const res = await getReactionUsers(client, {\n chatId: peer,\n message,\n emoji: reaction,\n limit: Math.min(chunkSize, limit - current),\n offset,\n })\n\n offset = res.next\n\n for (const reaction of res) {\n yield reaction\n\n if (++current >= limit) break\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iter-search-global.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-search-global.ts"],"names":[],"mappings":";;;AACA,mDAA6D;AAC7D,mDAAoD;AACpD,yDAAiD;AAEjD;;;;;;;;GAQG;AACI,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACnC,MAAuB,EACvB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,wBAAa,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAE9F,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS;
|
|
1
|
+
{"version":3,"file":"iter-search-global.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-search-global.ts"],"names":[],"mappings":";;;AACA,mDAA6D;AAC7D,mDAAoD;AACpD,yDAAiD;AAEjD;;;;;;;;GAQG;AACI,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACnC,MAAuB,EACvB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,wBAAa,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAE9F,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAY,EAAC,MAAM,EAAE;YACnC,KAAK;YACL,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;YAC3C,OAAO;YACP,OAAO;YACP,MAAM;SACT,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAM;QAEvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,GAAG,CAAA;YAET,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;QAClC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAM;QACrB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;IACrB,CAAC;AACL,CAAC;AAlDD,4CAkDC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message, SearchFilters } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/index.js'\nimport { searchGlobal } from './search-global.js'\n\n/**\n * Search for messages globally from all of your chats.\n *\n * Iterable version of {@link searchGlobal}\n *\n * **Note**: Due to Telegram limitations, you can only get up to ~10000 messages\n *\n * @param params Search parameters\n */\nexport async function* iterSearchGlobal(\n client: ITelegramClient,\n params?: Parameters<typeof searchGlobal>[1] & {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default `Infinity`, i.e. all messages are returned\n */\n limit?: number\n\n /**\n * Chunk size, which will be passed as `limit` parameter\n * for `messages.search`. Usually you shouldn't care about this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Message> {\n if (!params) params = {}\n\n const { query = '', filter = SearchFilters.Empty, limit = Infinity, chunkSize = 100 } = params\n\n const minDate = normalizeDate(params.minDate) ?? 0\n const maxDate = normalizeDate(params.maxDate) ?? 0\n\n let { offset } = params\n let current = 0\n\n for (;;) {\n const res = await searchGlobal(client, {\n query,\n filter,\n limit: Math.min(chunkSize, limit - current),\n minDate,\n maxDate,\n offset,\n })\n\n if (!res.length) return\n\n for (const msg of res) {\n yield msg\n\n if (++current >= limit) return\n }\n\n if (!res.next) return\n offset = res.next\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iter-search-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-search-messages.ts"],"names":[],"mappings":";;;AACA,mDAA6D;AAC7D,6DAAyD;AACzD,8DAAsD;AACtD,6DAAqD;AAErD;;;;;;;GAOG;AACI,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACrC,MAAuB,EACvB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAChC,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,CAAC,EACT,QAAQ,EACR,KAAK,GAAG,QAAQ,EAChB,SAAS,GAAG,GAAG,EACf,MAAM,GAAG,wBAAa,CAAC,KAAK,GAC/B,GAAG,MAAM,CAAA;IAEV,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEzF,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAClC,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS;
|
|
1
|
+
{"version":3,"file":"iter-search-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-search-messages.ts"],"names":[],"mappings":";;;AACA,mDAA6D;AAC7D,6DAAyD;AACzD,8DAAsD;AACtD,6DAAqD;AAErD;;;;;;;GAOG;AACI,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACrC,MAAuB,EACvB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAChC,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,CAAC,EACT,QAAQ,EACR,KAAK,GAAG,QAAQ,EAChB,SAAS,GAAG,GAAG,EACf,MAAM,GAAG,wBAAa,CAAC,KAAK,GAC/B,GAAG,MAAM,CAAA;IAEV,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEzF,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAClC,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,IAAA,mCAAc,EAAC,MAAM,EAAE;YACrC,KAAK;YACL,MAAM,EAAE,IAAI;YACZ,MAAM;YACN,SAAS;YACT,KAAK;YACL,KAAK;YACL,QAAQ;YACR,MAAM;YACN,QAAQ;YACR,OAAO;YACP,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;SAC9C,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,MAAK;QAEtB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,GAAG,CAAA;YAET,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;QAClC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAK;QACpB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QACjB,SAAS,GAAG,SAAS,CAAA;IACzB,CAAC;AACL,CAAC;AApED,gDAoEC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message, SearchFilters } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { searchMessages } from './search-messages.js'\n\n/**\n * Search for messages inside a specific chat\n *\n * Iterable version of {@link searchMessages}\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`.\n * @param params Additional search parameters\n */\nexport async function* iterSearchMessages(\n client: ITelegramClient,\n params?: Parameters<typeof searchMessages>[1] & {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default `Infinity`, i.e. all messages are returned\n */\n limit?: number\n\n /**\n * Chunk size, which will be passed as `limit` parameter\n * for `messages.search`. Usually you shouldn't care about this.\n *\n * @default `100`\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Message> {\n if (!params) params = {}\n\n const {\n query = '',\n chatId = { _: 'inputPeerEmpty' },\n minId = 0,\n maxId = 0,\n threadId,\n limit = Infinity,\n chunkSize = 100,\n filter = SearchFilters.Empty,\n } = params\n\n const minDate = normalizeDate(params.minDate) ?? 0\n const maxDate = normalizeDate(params.maxDate) ?? 0\n const peer = await resolvePeer(client, chatId)\n const fromUser = params.fromUser ? await resolvePeer(client, params.fromUser) : undefined\n\n let { offset, addOffset } = params\n let current = 0\n\n for (;;) {\n const res = await searchMessages(client, {\n query,\n chatId: peer,\n offset,\n addOffset,\n minId,\n maxId,\n threadId,\n filter,\n fromUser,\n minDate,\n maxDate,\n limit: Math.min(chunkSize, limit - current),\n })\n\n if (!res.length) break\n\n for (const msg of res) {\n yield msg\n\n if (++current >= limit) return\n }\n\n if (!res.next) break\n offset = res.next\n addOffset = undefined\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/read-history.ts"],"names":[],"mappings":";;;AAAA,0EAA8D;AAG9D,qDAA0D;AAC1D,6DAA8E;AAC9E,8DAAsD;AAEtD;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,MAAqB,EACrB,MAYC;IAED,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEjD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,aAAa,EAAE;
|
|
1
|
+
{"version":3,"file":"read-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/read-history.ts"],"names":[],"mappings":";;;AAAA,0EAA8D;AAG9D,qDAA0D;AAC1D,6DAA8E;AAC9E,8DAAsD;AAEtD;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,MAAqB,EACrB,MAYC;IAED,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEjD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,uBAAuB;YAC1B,IAAI;SACP,CAAC,CAAA;QAEF,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,kBAAkB,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QACvF,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,kBAAkB,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QACvE,CAAC;IACL,CAAC;IAED,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,sBAAsB;YACzB,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;YAC7B,KAAK;SACR,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,sBAAsB;YACzB,IAAI;YACJ,KAAK;SACR,CAAC,CAAA;QACF,MAAM,CAAC,kBAAkB,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvE,CAAC;AACL,CAAC;AAlDD,kCAkDC","sourcesContent":["import { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { createDummyUpdate } from '../../updates/utils.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Mark chat history as read.\n *\n * @param chatId Chat ID\n */\nexport async function readHistory(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * Message up until which to read history\n *\n * @default 0, i.e. read everything\n */\n maxId?: number\n\n /**\n * Whether to also clear all mentions in the chat\n */\n clearMentions?: boolean\n },\n): Promise<void> {\n const { maxId = 0, clearMentions } = params ?? {}\n\n const peer = await resolvePeer(client, chatId)\n\n if (clearMentions) {\n const res = await client.call({\n _: 'messages.readMentions',\n peer,\n })\n\n if (isInputPeerChannel(peer)) {\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount, peer.channelId))\n } else {\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount))\n }\n }\n\n if (isInputPeerChannel(peer)) {\n const r = await client.call({\n _: 'channels.readHistory',\n channel: toInputChannel(peer),\n maxId,\n })\n\n assertTrue('channels.readHistory', r)\n } else {\n const res = await client.call({\n _: 'messages.readHistory',\n peer,\n maxId,\n })\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount))\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-answer.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-answer.ts"],"names":[],"mappings":";;;AAGA,mDAA2C;AAC3C,+DAAsD;AACtD,iDAAyC;AAEzC,iFAAiF;AACjF,SAAgB,UAAU,CACtB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAwC;IAE3C,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"send-answer.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-answer.ts"],"names":[],"mappings":";;;AAGA,mDAA2C;AAC3C,+DAAsD;AACtD,iDAAyC;AAEzC,iFAAiF;AACjF,SAAgB,UAAU,CACtB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAwC;IAE3C,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;QAC/D,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACnC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;IAEjD,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAbD,gCAaC;AAED,kFAAkF;AAClF,SAAgB,WAAW,CACvB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAyC;IAE5C,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;QAC/D,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;IAEjD,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACpE,CAAC;AAbD,kCAaC;AAED,wFAAwF;AACxF,SAAgB,gBAAgB,CAC5B,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAA8C;IAEjD,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;QAC/D,OAAO,IAAA,oCAAc,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;IAEjD,OAAO,IAAA,oCAAc,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACzE,CAAC;AAbD,4CAaC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { ParametersSkip2 } from '../../types/utils.js'\nimport { sendMedia } from './send-media.js'\nimport { sendMediaGroup } from './send-media-group.js'\nimport { sendText } from './send-text.js'\n\n/** Send a text to the same chat (and topic, if applicable) as a given message */\nexport function answerText(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendText>\n): ReturnType<typeof sendText> {\n if (!message.isTopicMessage || !message.replyToMessage?.threadId) {\n return sendText(client, message.chat.inputPeer, ...params)\n }\n\n const [text, params_ = {}] = params\n params_.replyTo = message.replyToMessage.threadId\n\n return sendText(client, message.chat.inputPeer, text, params_)\n}\n\n/** Send a media to the same chat (and topic, if applicable) as a given message */\nexport function answerMedia(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMedia>\n): ReturnType<typeof sendMedia> {\n if (!message.isTopicMessage || !message.replyToMessage?.threadId) {\n return sendMedia(client, message.chat.inputPeer, ...params)\n }\n\n const [media, params_ = {}] = params\n params_.replyTo = message.replyToMessage.threadId\n\n return sendMedia(client, message.chat.inputPeer, media, params_)\n}\n\n/** Send a media group to the same chat (and topic, if applicable) as a given message */\nexport function answerMediaGroup(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMediaGroup>\n): ReturnType<typeof sendMediaGroup> {\n if (!message.isTopicMessage || !message.replyToMessage?.threadId) {\n return sendMediaGroup(client, message.chat.inputPeer, ...params)\n }\n\n const [media, params_ = {}] = params\n params_.replyTo = message.replyToMessage.threadId\n\n return sendMediaGroup(client, message.chat.inputPeer, media, params_)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-comment.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-comment.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAI1D,mDAA2C;AAC3C,+DAAsD;AACtD,mDAAwE;AACxE,iDAAyC;AAEzC;;;;;;;;;GASG;AACH,SAAgB,WAAW,CACvB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAwC;IAE3C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"send-comment.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-comment.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAI1D,mDAA2C;AAC3C,+DAAsD;AACtD,mDAAwE;AACxE,iDAAyC;AAEzC;;;;;;;;;GASG;AACH,SAAgB,WAAW,CACvB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAwC;IAE3C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,2BAAe,CAAC,6CAA6C,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACnC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;IAE9B,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAjBD,kCAiBC;AAED;;;;;;;;;GASG;AACH,SAAgB,YAAY,CACxB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAyC;IAE5C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAA,0BAAU,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,2BAAe,CAAC,6CAA6C,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;IAE9B,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACpE,CAAC;AAjBD,oCAiBC;AAED;;;;;;;;;GASG;AACH,SAAgB,iBAAiB,CAC7B,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAA8C;IAEjD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAA,+BAAe,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,2BAAe,CAAC,6CAA6C,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;IAE9B,OAAO,IAAA,oCAAc,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACzE,CAAC;AAjBD,8CAiBC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { ParametersSkip2 } from '../../types/utils.js'\nimport { sendMedia } from './send-media.js'\nimport { sendMediaGroup } from './send-media-group.js'\nimport { replyMedia, replyMediaGroup, replyText } from './send-reply.js'\nimport { sendText } from './send-text.js'\n\n/**\n * Send a text comment to a given message.\n *\n * If this is a normal message (not a channel post),\n * a simple reply will be sent.\n *\n * @throws MtArgumentError\n * If this is a channel post which does not have comments section.\n * To check if a post has comments, use {@link Message#replies}.hasComments\n */\nexport function commentText(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendText>\n): ReturnType<typeof sendText> {\n if (message.chat.chatType !== 'channel') {\n return replyText(client, message, ...params)\n }\n\n if (!message.replies || !message.replies.hasComments) {\n throw new MtArgumentError('This message does not have comments section')\n }\n\n const [text, params_ = {}] = params\n params_.commentTo = message.id\n\n return sendText(client, message.chat.inputPeer, text, params_)\n}\n\n/**\n * Send a text comment to a given message.\n *\n * If this is a normal message (not a channel post),\n * a simple reply will be sent.\n *\n * @throws MtArgumentError\n * If this is a channel post which does not have comments section.\n * To check if a post has comments, use {@link Message#replies}.hasComments\n */\nexport function commentMedia(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMedia>\n): ReturnType<typeof sendMedia> {\n if (message.chat.chatType !== 'channel') {\n return replyMedia(client, message, ...params)\n }\n\n if (!message.replies || !message.replies.hasComments) {\n throw new MtArgumentError('This message does not have comments section')\n }\n\n const [media, params_ = {}] = params\n params_.commentTo = message.id\n\n return sendMedia(client, message.chat.inputPeer, media, params_)\n}\n\n/**\n * Send a text comment to a given message.\n *\n * If this is a normal message (not a channel post),\n * a simple reply will be sent.\n *\n * @throws MtArgumentError\n * If this is a channel post which does not have comments section.\n * To check if a post has comments, use {@link Message#replies}.hasComments\n */\nexport function commentMediaGroup(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMediaGroup>\n): ReturnType<typeof sendMediaGroup> {\n if (message.chat.chatType !== 'channel') {\n return replyMediaGroup(client, message, ...params)\n }\n\n if (!message.replies || !message.replies.hasComments) {\n throw new MtArgumentError('This message does not have comments section')\n }\n\n const [media, params_ = {}] = params\n params_.commentTo = message.id\n\n return sendMediaGroup(client, message.chat.inputPeer, media, params_)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-common.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-common.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,gEAA8D;AAE9D,qDAA8D;AAI9D,mDAAwE;AACxE,qDAAqD;AAErD,8DAAsD;AACtD,2EAAmE;AACnE,uDAA+C;AA+F/C;;;GAGG;AACI,KAAK,UAAU,4BAA4B,CAC9C,MAAuB,EACvB,MAAqB,EACrB,MAAwB;IAExB,IAAI,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5C,IAAI,OAAO,GAAG,IAAA,6BAAkB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAA;IAEnG,IAAI,MAAM,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"send-common.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-common.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,gEAA8D;AAE9D,qDAA8D;AAI9D,mDAAwE;AACxE,qDAAqD;AAErD,8DAAsD;AACtD,2EAAmE;AACnE,uDAA+C;AA+F/C;;;GAGG;AACI,KAAK,UAAU,4BAA4B,CAC9C,MAAuB,EACvB,MAAqB,EACrB,MAAwB;IAExB,IAAI,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5C,IAAI,OAAO,GAAG,IAAA,6BAAkB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAA;IAEnG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,IAAA,iDAAqB,EAAC,MAAM,EAAE,IAAI,EAAE,IAAA,6BAAkB,EAAC,MAAM,CAAC,SAAS,CAAE,CAAC,CAAA;IACtG,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,2BAAe,CAAC,4CAA4C,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpD,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,kCAAsB,CAAC,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;QACnF,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,2BAAe,CAAC,4DAA4D,CAAC,CAAA;IAC3F,CAAC;IAED,IAAI,SAAS,GAAoC,SAAS,CAAA;IAE1D,IAAI,OAAO,EAAE,CAAC;QACV,SAAS,GAAG;YACR,CAAC,EAAE,qBAAqB;YACxB,YAAY,EAAE,OAAO;YACrB,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI;YAC7B,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,QAAkC;YAC/D,WAAW,EAAE,MAAM,CAAC,WAAW;SAClC,CAAA;IACL,CAAC;SAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAC7B,SAAS,GAAG;YACR,CAAC,EAAE,mBAAmB;YACtB,OAAO,EAAE,MAAM,CAAC,YAAY;YAC5B,IAAI;SACP,CAAA;IACL,CAAC;IAED,IAAI,YAAY,GAAuB,SAAS,CAAA;IAEhD,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,YAAY,GAAG,UAAU,CAAA;IAC7B,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzB,YAAY,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED,OAAO;QACH,IAAI;QACJ,OAAO,EAAE,SAAS;QAClB,YAAY;QACZ,OAAO,EAAE,IAAA,6BAAe,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;KACjD,CAAA;AACL,CAAC;AA/DD,oEA+DC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { MtMessageNotFoundError } from '../../types/errors.js'\nimport { Message } from '../../types/messages/message.js'\nimport { TextWithEntities } from '../../types/misc/entities.js'\nimport { InputPeerLike } from '../../types/peers/index.js'\nimport { normalizeDate, normalizeMessageId } from '../../utils/index.js'\nimport { _getPeerChainId } from '../misc/chain-id.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { getMessages } from './get-messages.js'\n\n// @exported\nexport interface CommonSendParams {\n /**\n * Message to reply to. Either a message object or message ID.\n *\n * For forums - can also be an ID of the topic (i.e. its top message ID)\n *\n * Can also be a message from another chat, in which case a quote will be sent.\n */\n replyTo?: number | Message\n\n /**\n * Whether to throw an error if {@link replyTo}\n * message does not exist.\n *\n * If that message was not found, `NotFoundError` is thrown,\n * with `text` set to `MESSAGE_NOT_FOUND`.\n *\n * Incurs an additional request, so only use when really needed.\n *\n * @default `false`\n */\n mustReply?: boolean\n\n /**\n * Message to comment to. Either a message object or message ID.\n *\n * This overwrites `replyTo` if it was passed\n */\n commentTo?: number | Message\n\n /**\n * Story to reply to.\n *\n * Must be the story sent by the peer you are sending the message to.\n *\n * Can't be used together with {@link replyTo} or {@link commentTo}.\n */\n replyToStory?: number\n\n /**\n * Quoted text. Must be exactly contained in the message\n * being quoted to be accepted by the server (as well as entities)\n */\n quote?: TextWithEntities\n\n /**\n * Offset of the start of the quote in the message.\n */\n quoteOffset?: number\n\n /**\n * Whether to send this message silently.\n */\n silent?: boolean\n\n /**\n * If set, the message will be scheduled to this date.\n * When passing a number, a UNIX time in ms is expected.\n *\n * You can also pass `online` - this will send the message\n * once the peer is online. Note that this requires that\n * peer's online status to be visible to you.\n */\n schedule?: Date | number | 'online'\n\n /**\n * Whether to clear draft after sending this message.\n *\n * @default `false`\n */\n clearDraft?: boolean\n\n /**\n * Whether to disallow further forwards of this message.\n *\n * Only for bots, works even if the target chat does not\n * have content protection.\n */\n forbidForwards?: boolean\n\n /**\n * Peer to use when sending the message.\n */\n sendAs?: InputPeerLike\n\n /**\n * Whether to dispatch the returned message\n * to the client's update handler.\n */\n shouldDispatch?: true\n}\n\n/**\n * @internal\n * @noemit\n */\nexport async function _processCommonSendParameters(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params: CommonSendParams,\n) {\n let peer = await resolvePeer(client, chatId)\n\n let replyTo = normalizeMessageId(params.replyTo)\n const replyToPeer = typeof params.replyTo === 'number' ? undefined : params.replyTo?.chat.inputPeer\n\n if (params.commentTo) {\n [peer, replyTo] = await _getDiscussionMessage(client, peer, normalizeMessageId(params.commentTo)!)\n }\n\n if (params.mustReply) {\n if (!replyTo) {\n throw new MtArgumentError('mustReply used, but replyTo was not passed')\n }\n\n const msg = await getMessages(client, peer, replyTo)\n\n if (!msg) {\n throw new MtMessageNotFoundError(getMarkedPeerId(peer), replyTo, 'to reply to')\n }\n }\n\n if (params.replyToStory && replyTo) {\n throw new MtArgumentError('replyTo/commentTo and replyToStory cannot be used together')\n }\n\n let tlReplyTo: tl.TypeInputReplyTo | undefined = undefined\n\n if (replyTo) {\n tlReplyTo = {\n _: 'inputReplyToMessage',\n replyToMsgId: replyTo,\n replyToPeerId: replyToPeer,\n quoteText: params.quote?.text,\n quoteEntities: params.quote?.entities as tl.TypeMessageEntity[],\n quoteOffset: params.quoteOffset,\n }\n } else if (params.replyToStory) {\n tlReplyTo = {\n _: 'inputReplyToStory',\n storyId: params.replyToStory,\n peer,\n }\n }\n\n let scheduleDate: number | undefined = undefined\n\n if (params.schedule === 'online') {\n scheduleDate = 0x7ffffffe\n } else if (params.schedule) {\n scheduleDate = normalizeDate(params.schedule)\n }\n\n return {\n peer,\n replyTo: tlReplyTo,\n scheduleDate,\n chainId: _getPeerChainId(client, peer, 'send'),\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-copy-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-copy-group.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,0EAA6D;AAI7D,8DAAsD;AACtD,uDAA+C;AAE/C,+DAAsD;AAQtD;;;;GAIG;AACI,KAAK,UAAU,aAAa,CAC/B,MAAuB,EACvB,MASK;IAEL,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,IAAI,IAAI,CAAA;IAER,IAAI,YAAY,IAAI,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"send-copy-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-copy-group.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,0EAA6D;AAI7D,8DAAsD;AACtD,uDAA+C;AAE/C,+DAAsD;AAQtD;;;;GAIG;AACI,KAAK,UAAU,aAAa,CAC/B,MAAuB,EACvB,MASK;IAEL,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,IAAI,IAAI,CAAA;IAER,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAE7D,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,8BAAS,CAAC,CAAC,CAAA;IAChG,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;IAC1B,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAU,CAAA;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,IAAI,2BAAe,CAAC,gDAAgD,CAAC,CAAA;QAC/E,CAAC;IACL,CAAC;IAED,OAAO,IAAA,oCAAc,EACjB,MAAM,EACN,QAAQ,EACR,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,GAAG,CAAC,GAAoB,CAAA;QAEpC,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,GAAG,CAAC,KAAM,CAAC,UAAU;YAC3B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACzB,CAAA;IACL,CAAC,CAAC,EACF,IAAI,CACP,CAAA;AACL,CAAC;AAhDD,sCAgDC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { isPresent } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputPeerLike } from '../../types/peers/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\nimport { CommonSendParams } from './send-common.js'\nimport { sendMediaGroup } from './send-media-group.js'\n\n// @exported\nexport interface SendCopyGroupParams extends CommonSendParams {\n /** Destination chat ID */\n toChatId: InputPeerLike\n}\n\n/**\n * Copy a message group (i.e. send the same message group, but do not forward it).\n *\n * Note that all the provided messages must be in the same message group\n */\nexport async function sendCopyGroup(\n client: ITelegramClient,\n params: SendCopyGroupParams &\n (\n | {\n /** Source chat ID */\n fromChatId: InputPeerLike\n /** Message IDs to forward */\n messages: number[]\n }\n | { messages: Message[] }\n ),\n): Promise<Message[]> {\n const { toChatId, ...rest } = params\n\n let msgs\n\n if ('fromChatId' in params) {\n const fromPeer = await resolvePeer(client, params.fromChatId)\n\n msgs = await getMessages(client, fromPeer, params.messages).then((r) => r.filter(isPresent))\n } else {\n msgs = params.messages\n }\n\n const messageGroupId = msgs[0].groupedId!\n\n for (let i = 1; i < msgs.length; i++) {\n if (!msgs[i].groupedId?.eq(messageGroupId) || !msgs[i].media) {\n throw new MtArgumentError('All messages must be in the same message group')\n }\n }\n\n return sendMediaGroup(\n client,\n toChatId,\n msgs.map((msg) => {\n const raw = msg.raw as tl.RawMessage\n\n return {\n type: 'auto',\n file: msg.media!.inputMedia,\n caption: raw.message,\n entities: raw.entities,\n }\n }),\n rest,\n )\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-copy.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-copy.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,gEAA8D;AAE9D,mDAA6G;AAC7G,8DAAsD;AACtD,uDAA+C;AAE/C,mDAA2C;AAC3C,iDAAyC;AAmBzC;;;;;;;GAOG;AACI,KAAK,UAAU,QAAQ,CAC1B,MAAuB,EACvB,MASK;IAEL,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,IAAI,GAAG,CAAA;IAEP,IAAI,YAAY,IAAI,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"send-copy.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-copy.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,gEAA8D;AAE9D,mDAA6G;AAC7G,8DAAsD;AACtD,uDAA+C;AAE/C,mDAA2C;AAC3C,iDAAyC;AAmBzC;;;;;;;GAOG;AACI,KAAK,UAAU,QAAQ,CAC1B,MAAuB,EACvB,MASK;IAEL,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,IAAI,GAAG,CAAA;IAEP,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAE5D;QAAA,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAE5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,iCAAsB,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC1F,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,GAAG,GAAG,MAAM,CAAC,OAAO,CAAA;IACxB,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,2BAAe,CAAC,kCAAkC,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5E,IAAI,OAAO,GAA0B,MAAM,CAAC,OAAO,CAAA;QAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC3B,OAAO,GAAG;oBACN,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO;oBACrB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ;iBAC7B,CAAA;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAA;YAC7B,CAAC;QACL,CAAC;QAED,OAAO,IAAA,yBAAS,EACZ,MAAM,EACN,QAAQ,EACR;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;YAC1B,OAAO;SACV,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAED,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AAC5D,CAAC;AA5DD,4BA4DC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, InputText, Message, MtMessageNotFoundError, ReplyMarkup } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\nimport { CommonSendParams } from './send-common.js'\nimport { sendMedia } from './send-media.js'\nimport { sendText } from './send-text.js'\n\n// @exported\nexport interface SendCopyParams extends CommonSendParams {\n /** Target chat ID */\n toChatId: InputPeerLike\n\n /**\n * New message caption (only used for media)\n */\n caption?: InputText\n\n /**\n * For bots: inline or reply markup or an instruction\n * to hide a reply keyboard or to force a reply.\n */\n replyMarkup?: ReplyMarkup\n}\n\n/**\n * Copy a message (i.e. send the same message, but do not forward it).\n *\n * Note that if the message contains a webpage,\n * it will be copied simply as a text message,\n * and if the message contains an invoice,\n * it can't be copied.\n */\nexport async function sendCopy(\n client: ITelegramClient,\n params: SendCopyParams &\n (\n | {\n /** Source chat ID */\n fromChatId: InputPeerLike\n /** Message ID to forward */\n message: number\n }\n | { message: Message }\n ),\n): Promise<Message> {\n const { toChatId, ...rest } = params\n\n let msg\n\n if ('fromChatId' in params) {\n const fromPeer = await resolvePeer(client, params.fromChatId)\n\n ;[msg] = await getMessages(client, fromPeer, params.message)\n\n if (!msg) {\n throw new MtMessageNotFoundError(getMarkedPeerId(fromPeer), params.message, 'to copy')\n }\n } else {\n msg = params.message\n }\n\n if (msg.raw._ === 'messageService') {\n throw new MtArgumentError(\"Service messages can't be copied\")\n }\n\n if (msg.media && msg.media.type !== 'webpage' && msg.media.type !== 'invoice') {\n let caption: InputText | undefined = params.caption\n\n if (!caption) {\n if (msg.raw.entities?.length) {\n caption = {\n text: msg.raw.message,\n entities: msg.raw.entities,\n }\n } else {\n caption = msg.raw.message\n }\n }\n\n return sendMedia(\n client,\n toChatId,\n {\n type: 'auto',\n file: msg.media.inputMedia,\n caption,\n },\n rest,\n )\n }\n\n return sendText(client, toChatId, msg.raw.message, rest)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-media-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-media-group.ts"],"names":[],"mappings":";;;AAEA,gEAAyD;AAGzD,gEAAyD;AACzD,yDAAsE;AACtE,qDAA6D;AAC7D,gFAAwE;AACxE,iEAA+D;AAC/D,8DAAsD;AAEtD,qDAAiF;AAEjF;;;;;;;;;;GAUG;AACI,KAAK,UAAU,cAAc,CAChC,MAAuB,EACvB,MAAqB,EACrB,MAAmC,EACnC,MAmBC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,6CAA4B,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAE3G,MAAM,UAAU,GAA6B,EAAE,CAAA;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"send-media-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-media-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMediaLike } from '../../types/media/input-media/types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { _processCommonSendParameters, CommonSendParams } from './send-common.js'\n\n/**\n * Send a group of media.\n *\n * To add a caption to the group, add caption to the first\n * media in the group and don't add caption for any other.\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param medias Medias contained in the message.\n * @param params Additional sending parameters\n * @link InputMedia\n */\nexport async function sendMediaGroup(\n client: ITelegramClient,\n chatId: InputPeerLike,\n medias: (InputMediaLike | string)[],\n params?: CommonSendParams & {\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invertMedia?: boolean\n\n /**\n * Function that will be called after some part has been uploaded.\n * Only used when a file that requires uploading is passed,\n * and not used when uploading a thumbnail.\n *\n * @param index Index of the media in the original array\n * @param uploaded Number of bytes already uploaded\n * @param total Total file size\n */\n progressCallback?: (index: number, uploaded: number, total: number) => void\n },\n): Promise<Message[]> {\n if (!params) params = {}\n\n const { peer, replyTo, scheduleDate, chainId } = await _processCommonSendParameters(client, chatId, params)\n\n const multiMedia: tl.RawInputSingleMedia[] = []\n\n for (let i = 0; i < medias.length; i++) {\n let media = medias[i]\n\n if (typeof media === 'string') {\n media = {\n type: 'auto',\n file: media,\n }\n }\n\n const inputMedia = await _normalizeInputMedia(\n client,\n media,\n {\n progressCallback: params.progressCallback?.bind(null, i),\n // i have no fucking clue why we should upload it manually,\n // but otherwise Telegram throws MEDIA_INVALID\n // fuck my life\n uploadPeer: peer,\n },\n true,\n )\n\n const [message, entities] = await _normalizeInputText(\n client,\n // some types dont have `caption` field, and ts warns us,\n // but since it's JS, they'll just be `undefined` and properly handled by the method\n (media as Extract<typeof media, { caption?: unknown }>).caption,\n )\n\n multiMedia.push({\n _: 'inputSingleMedia',\n randomId: randomLong(),\n media: inputMedia,\n message,\n entities,\n })\n }\n\n const res = await client.call(\n {\n _: 'messages.sendMultiMedia',\n peer,\n multiMedia,\n silent: params.silent,\n replyTo,\n scheduleDate,\n clearDraft: params.clearDraft,\n noforwards: params.forbidForwards,\n sendAs: params.sendAs ? await resolvePeer(client, params.sendAs) : undefined,\n invertMedia: params.invertMedia,\n },\n { chainId },\n )\n\n assertIsUpdatesGroup('sendMediaGroup', res)\n client.handleClientUpdate(res)\n\n const peers = PeersIndex.from(res)\n\n const msgs = res.updates\n .filter(\n (u): u is tl.RawUpdateNewMessage | tl.RawUpdateNewChannelMessage | tl.RawUpdateNewScheduledMessage =>\n u._ === 'updateNewMessage' || u._ === 'updateNewChannelMessage' || u._ === 'updateNewScheduledMessage',\n )\n .map((u) => new Message(u.message, peers, u._ === 'updateNewScheduledMessage'))\n\n return msgs\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-media.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-media.ts"],"names":[],"mappings":";;;AAAA,gEAAyD;AAEzD,kEAA8E;AAK9E,gFAAwE;AACxE,iEAA+D;AAC/D,8DAAsD;AACtD,2DAA0D;AAE1D,qDAAiF;AAEjF;;;;;;;;;;GAUG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAAqB,EACrB,KAA8B,EAC9B,MAgCC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"send-media.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-media.ts"],"names":[],"mappings":";;;AAAA,gEAAyD;AAEzD,kEAA8E;AAK9E,gFAAwE;AACxE,iEAA+D;AAC/D,8DAAsD;AACtD,2DAA0D;AAE1D,qDAAiF;AAEjF;;;;;;;;;;GAUG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAAqB,EACrB,KAA8B,EAC9B,MAgCC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,KAAK,GAAG;YACJ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;SACd,CAAA;IACL,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,+CAAoB,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAEpE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,uCAAmB,EACjD,MAAM;IACN,yDAAyD;IACzD,oFAAoF;IACpF,MAAM,CAAC,OAAO,IAAK,KAAsD,CAAC,OAAO,CACpF,CAAA;IAED,MAAM,WAAW,GAAG,sBAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,6CAA4B,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAE3G,MAAM,QAAQ,GAAG,IAAA,0BAAU,GAAE,CAAA;IAC7B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB;QACI,CAAC,EAAE,oBAAoB;QACvB,IAAI;QACJ,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,OAAO;QACP,QAAQ;QACR,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,cAAc;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5E,WAAW,EAAE,MAAM,CAAC,MAAM;KAC7B,EACD,EAAE,OAAO,EAAE,CACd,CAAA;IAED,MAAM,GAAG,GAAG,IAAA,wCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE7F,OAAO,GAAG,CAAA;AACd,CAAC;AAnFD,8BAmFC","sourcesContent":["import { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { BotKeyboard, ReplyMarkup } from '../../types/bots/keyboards/index.js'\nimport { InputMediaLike } from '../../types/media/input-media/types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputText } from '../../types/misc/entities.js'\nimport { InputPeerLike } from '../../types/peers/index.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _findMessageInUpdate } from './find-in-update.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { _processCommonSendParameters, CommonSendParams } from './send-common.js'\n\n/**\n * Send a single media (a photo or a document-based media)\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param media\n * Media contained in the message. You can also pass TDLib\n * and Bot API compatible File ID, which will be wrapped\n * in {@link InputMedia.auto}\n * @param params Additional sending parameters\n * @link InputMedia\n */\nexport async function sendMedia(\n client: ITelegramClient,\n chatId: InputPeerLike,\n media: InputMediaLike | string,\n params?: CommonSendParams & {\n /**\n * For bots: inline or reply markup or an instruction\n * to hide a reply keyboard or to force a reply.\n */\n replyMarkup?: ReplyMarkup\n\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invert?: boolean\n\n /**\n * Override caption for `media`.\n *\n * Can be used, for example. when using File IDs\n * or when using existing InputMedia objects.\n */\n caption?: InputText\n\n /**\n * Function that will be called after some part has been uploaded.\n * Only used when a file that requires uploading is passed,\n * and not used when uploading a thumbnail.\n *\n * @param uploaded Number of bytes already uploaded\n * @param total Total file size\n */\n progressCallback?: (uploaded: number, total: number) => void\n },\n): Promise<Message> {\n if (!params) params = {}\n\n if (typeof media === 'string') {\n media = {\n type: 'auto',\n file: media,\n }\n }\n\n const inputMedia = await _normalizeInputMedia(client, media, params)\n\n const [message, entities] = await _normalizeInputText(\n client,\n // some types dont have `caption` field, and ts warns us,\n // but since it's JS, they'll just be `undefined` and properly handled by the method\n params.caption || (media as Extract<typeof media, { caption?: unknown }>).caption,\n )\n\n const replyMarkup = BotKeyboard._convertToTl(params.replyMarkup)\n const { peer, replyTo, scheduleDate, chainId } = await _processCommonSendParameters(client, chatId, params)\n\n const randomId = randomLong()\n const res = await client.call(\n {\n _: 'messages.sendMedia',\n peer,\n media: inputMedia,\n silent: params.silent,\n replyTo,\n randomId,\n scheduleDate,\n replyMarkup,\n message,\n entities,\n clearDraft: params.clearDraft,\n noforwards: params.forbidForwards,\n sendAs: params.sendAs ? await resolvePeer(client, params.sendAs) : undefined,\n invertMedia: params.invert,\n },\n { chainId },\n )\n\n const msg = _findMessageInUpdate(client, res, false, !params.shouldDispatch, false, randomId)\n\n return msg\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-quote.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-quote.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAK1D,mDAA2C;AAC3C,+DAAsD;AACtD,iDAAyC;AAkBzC,SAAS,YAAY,CAAC,OAAgB,EAAE,IAAY,EAAE,EAAU;IAC5D,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;IACvB,IAAI,GAAG,CAAC,CAAC,KAAK,gBAAgB;QAAE,MAAM,IAAI,2BAAe,CAAC,8BAA8B,CAAC,CAAA;IAEzF,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,MAAM,IAAI,2BAAe,CAAC,4BAA4B,CAAC,CAAA;IAEzE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;IACxB,IAAI,IAAI,GAAG,CAAC;QAAE,IAAI,GAAG,CAAC,CAAA;IACtB,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM;QAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;IAEtC,IAAI,IAAI,IAAI,EAAE;QAAE,MAAM,IAAI,2BAAe,CAAC,qBAAqB,CAAC,CAAA;IAEhE,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;IAE7E,MAAM,QAAQ,GAA2B,EAAE,CAAA;IAE3C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"send-quote.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-quote.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { TextWithEntities } from '../../types/misc/entities.js'\nimport { InputPeerLike } from '../../types/peers/peer.js'\nimport { sendMedia } from './send-media.js'\nimport { sendMediaGroup } from './send-media-group.js'\nimport { sendText } from './send-text.js'\n\n// @exported\nexport type QuoteParamsFrom<T> = Omit<NonNullable<T>, 'quoteText' | 'quoteEntities'> & {\n /**\n * Destination chat ID, username, phone, `\"me\"` or `\"self\"`\n *\n * @default `message.chat`\n */\n toChatId?: InputPeerLike\n\n /** Index of the first character to quote (inclusive) */\n start: number\n\n /** Index of the last character to quote (exclusive) */\n end: number\n}\n\nfunction extractQuote(message: Message, from: number, to: number): TextWithEntities {\n const { raw } = message\n if (raw._ === 'messageService') throw new MtArgumentError('Cannot quote service message')\n\n if (!raw.message) throw new MtArgumentError('Cannot quote empty message')\n\n const text = raw.message\n if (from < 0) from = 0\n if (to > text.length) to = text.length\n\n if (from >= to) throw new MtArgumentError('Invalid quote range')\n\n if (!raw.entities) return { text: text.slice(from, to), entities: undefined }\n\n const entities: tl.TypeMessageEntity[] = []\n\n for (const ent of raw.entities) {\n const start = ent.offset\n const end = ent.offset + ent.length\n\n if (start >= to || end <= from) continue\n\n const newStart = Math.max(start, from) - from\n const newEnd = Math.min(end, to) - from\n\n const newEnt = { ...ent, offset: newStart, length: newEnd - newStart }\n entities.push(newEnt)\n }\n\n return { text: text.slice(from, to), entities }\n}\n\n/** Send a text in reply to a given quote */\nexport function quoteWithText(\n client: ITelegramClient,\n message: Message,\n params: QuoteParamsFrom<Parameters<typeof sendText>[3]> & {\n /** Text to send */\n text: Parameters<typeof sendText>[2]\n },\n): ReturnType<typeof sendText> {\n const { toChatId = message.chat, start, end, text, ...params__ } = params\n const params_ = params__ as NonNullable<Parameters<typeof sendText>[3]>\n params_.replyTo = message\n params_.quote = extractQuote(message, params.start, params.end)\n params_.quoteOffset = params.start\n\n return sendText(client, toChatId, text, params_)\n}\n\n/** Send a media in reply to a given quote */\nexport function quoteWithMedia(\n client: ITelegramClient,\n message: Message,\n params: QuoteParamsFrom<Parameters<typeof sendMedia>[3]> & {\n /** Media to send */\n media: Parameters<typeof sendMedia>[2]\n },\n): ReturnType<typeof sendMedia> {\n const { toChatId = message.chat, start, end, media, ...params__ } = params\n const params_ = params__ as NonNullable<Parameters<typeof sendMedia>[3]>\n params_.replyTo = message\n params_.quote = extractQuote(message, params.start, params.end)\n params_.quoteOffset = params.start\n\n return sendMedia(client, toChatId, media, params_)\n}\n\n/** Send a media group in reply to a given quote */\nexport function quoteWithMediaGroup(\n client: ITelegramClient,\n message: Message,\n params: QuoteParamsFrom<Parameters<typeof sendMediaGroup>[3]> & {\n /** Media group to send */\n medias: Parameters<typeof sendMediaGroup>[2]\n },\n): ReturnType<typeof sendMediaGroup> {\n const { toChatId, start, end, medias, ...params__ } = params\n const params_ = params__ as NonNullable<Parameters<typeof sendMediaGroup>[3]>\n params_.replyTo = message\n params_.quote = extractQuote(message, params.start, params.end)\n params_.quoteOffset = params.start\n\n return sendMediaGroup(client, message.chat.inputPeer, medias, params_)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-text.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-text.ts"],"names":[],"mappings":";;;AAEA,wDAA+D;AAC/D,gEAAyD;AACzD,gEAA8D;AAE9D,kEAA8E;AAC9E,gEAAyD;AAEzD,yDAAsE;AACtE,qDAA0D;AAC1D,6DAA2D;AAC3D,oEAAgE;AAChE,iEAA+D;AAC/D,8DAAsD;AACtD,2DAA0D;AAE1D,qDAAiF;AAEjF;;;;;;GAMG;AACI,KAAK,UAAU,QAAQ,CAC1B,MAAuB,EACvB,MAAqB,EACrB,IAAe,EACf,MAmBC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,uCAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEnE,MAAM,WAAW,GAAG,sBAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,6CAA4B,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAE3G,MAAM,QAAQ,GAAG,IAAA,0BAAU,GAAE,CAAA;IAC7B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB;QACI,CAAC,EAAE,sBAAsB;QACzB,IAAI;QACJ,SAAS,EAAE,MAAM,CAAC,iBAAiB;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,OAAO;QACP,QAAQ;QACR,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,cAAc;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5E,WAAW,EAAE,MAAM,CAAC,WAAW;KAClC,EACD,EAAE,OAAO,EAAE,CACd,CAAA;IAED,IAAI,GAAG,CAAC,CAAC,KAAK,wBAAwB,EAAE;
|
|
1
|
+
{"version":3,"file":"send-text.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-text.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { BotKeyboard, ReplyMarkup } from '../../types/bots/keyboards/index.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputText } from '../../types/misc/entities.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { createDummyUpdate } from '../../updates/utils.js'\nimport { inputPeerToPeer } from '../../utils/peer-utils.js'\nimport { _getRawPeerBatched } from '../chats/batched-queries.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _findMessageInUpdate } from './find-in-update.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { _processCommonSendParameters, CommonSendParams } from './send-common.js'\n\n/**\n * Send a text message\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param text Text of the message\n * @param params Additional sending parameters\n */\nexport async function sendText(\n client: ITelegramClient,\n chatId: InputPeerLike,\n text: InputText,\n params?: CommonSendParams & {\n /**\n * For bots: inline or reply markup or an instruction\n * to hide a reply keyboard or to force a reply.\n */\n replyMarkup?: ReplyMarkup\n\n /**\n * Whether to disable links preview in this message\n */\n disableWebPreview?: boolean\n\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invertMedia?: boolean\n },\n): Promise<Message> {\n if (!params) params = {}\n\n const [message, entities] = await _normalizeInputText(client, text)\n\n const replyMarkup = BotKeyboard._convertToTl(params.replyMarkup)\n const { peer, replyTo, scheduleDate, chainId } = await _processCommonSendParameters(client, chatId, params)\n\n const randomId = randomLong()\n const res = await client.call(\n {\n _: 'messages.sendMessage',\n peer,\n noWebpage: params.disableWebPreview,\n silent: params.silent,\n replyTo,\n randomId,\n scheduleDate,\n replyMarkup,\n message,\n entities,\n clearDraft: params.clearDraft,\n noforwards: params.forbidForwards,\n sendAs: params.sendAs ? await resolvePeer(client, params.sendAs) : undefined,\n invertMedia: params.invertMedia,\n },\n { chainId },\n )\n\n if (res._ === 'updateShortSentMessage') {\n // todo extract this to updates manager?\n const msg: tl.RawMessage = {\n _: 'message',\n id: res.id,\n peerId: inputPeerToPeer(peer),\n fromId: { _: 'peerUser', userId: client.storage.self.getCached()!.userId },\n message,\n date: res.date,\n out: res.out,\n replyMarkup,\n entities: res.entities,\n }\n\n // is this needed?\n // this._date = res.date\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount))\n\n const peers = new PeersIndex()\n\n const fetchPeer = async (peer: tl.TypePeer | tl.TypeInputPeer): Promise<void> => {\n const id = getMarkedPeerId(peer)\n\n let cached = await client.storage.peers.getCompleteById(id)\n\n if (!cached) {\n cached = await _getRawPeerBatched(client, await resolvePeer(client, peer))\n }\n\n if (!cached) {\n throw new MtTypeAssertionError('sendText (@ getFullPeerById)', 'user | chat', 'null')\n }\n\n switch (cached._) {\n case 'user':\n peers.users.set(cached.id, cached)\n break\n case 'chat':\n case 'chatForbidden':\n case 'channel':\n case 'channelForbidden':\n peers.chats.set(cached.id, cached)\n break\n default:\n throw new MtTypeAssertionError(\n 'sendText (@ users.getUsers)',\n 'user | chat | channel', // not very accurate, but good enough\n cached._,\n )\n }\n }\n\n await Promise.all([fetchPeer(peer), fetchPeer(msg.fromId!)])\n\n const ret = new Message(msg, peers)\n\n return ret\n }\n\n const msg = _findMessageInUpdate(client, res, false, !params.shouldDispatch, false, randomId)\n\n return msg\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-typing.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-typing.ts"],"names":[],"mappings":";;;AAEA,sDAAqD;AACrD,0EAA8D;AAG9D,8DAAsD;AAEtD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAAqB,EACrB,SAA+F,QAAQ,EACvG,MAUC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"send-typing.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-typing.ts"],"names":[],"mappings":";;;AAEA,sDAAqD;AACrD,0EAA8D;AAG9D,8DAAsD;AAEtD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAAqB,EACrB,SAA+F,QAAQ,EACvG,MAUC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAA;QAEtC,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,QAAQ;gBACT,MAAM,GAAG,EAAE,CAAC,EAAE,yBAAyB,EAAE,CAAA;gBACzC,MAAK;YACT,KAAK,QAAQ;gBACT,MAAM,GAAG,EAAE,CAAC,EAAE,yBAAyB,EAAE,CAAA;gBACzC,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,iBAAiB;gBAClB,MAAM,GAAG,EAAE,CAAC,EAAE,iCAAiC,EAAE,QAAQ,EAAE,CAAA;gBAC3D,MAAK;YACT,KAAK,KAAK;gBACN,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,SAAS;gBACV,MAAM,GAAG,EAAE,CAAC,EAAE,gCAAgC,EAAE,CAAA;gBAChD,MAAK;YACT,KAAK,MAAM;gBACP,MAAM,GAAG,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAA;gBAC3C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,YAAY;gBACb,MAAM,GAAG,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAA;gBAC3C,MAAK;YACT,KAAK,gBAAgB;gBACjB,MAAM,GAAG,EAAE,CAAC,EAAE,gCAAgC,EAAE,QAAQ,EAAE,CAAA;gBAC1D,MAAK;YACT,KAAK,SAAS;gBACV,MAAM,GAAG,EAAE,CAAC,EAAE,gCAAgC,EAAE,CAAA;gBAChD,MAAK;YACT;gBACI,IAAA,sBAAW,EAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,oBAAoB;QACvB,IAAI,EAAE,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,MAAM,EAAE,QAAQ;KAC7B,CAAC,CAAA;IAEF,IAAA,+BAAU,EAAC,oBAAoB,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC;AAjFD,gCAiFC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertNever } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, TypingStatus } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Sends a current user/bot typing event\n * to a conversation partner or group.\n *\n * This status is set for 6 seconds, and is\n * automatically cancelled if you send a\n * message.\n *\n * @param chatId Chat ID\n * @param status Typing status\n * @param params\n */\nexport async function sendTyping(\n client: ITelegramClient,\n chatId: InputPeerLike,\n status: Exclude<TypingStatus, 'interaction' | 'interaction_seen'> | tl.TypeSendMessageAction = 'typing',\n params?: {\n /**\n * For `upload_*` and history import actions, progress of the upload\n */\n progress?: number\n\n /**\n * For comment threads, ID of the thread (i.e. top message)\n */\n threadId?: number\n },\n): Promise<void> {\n if (typeof status === 'string') {\n const progress = params?.progress ?? 0\n\n switch (status) {\n case 'typing':\n status = { _: 'sendMessageTypingAction' }\n break\n case 'cancel':\n status = { _: 'sendMessageCancelAction' }\n break\n case 'record_video':\n status = { _: 'sendMessageRecordVideoAction' }\n break\n case 'upload_video':\n status = { _: 'sendMessageUploadVideoAction', progress }\n break\n case 'record_voice':\n status = { _: 'sendMessageRecordAudioAction' }\n break\n case 'upload_voice':\n status = { _: 'sendMessageUploadAudioAction', progress }\n break\n case 'upload_photo':\n status = { _: 'sendMessageUploadPhotoAction', progress }\n break\n case 'upload_document':\n status = { _: 'sendMessageUploadDocumentAction', progress }\n break\n case 'geo':\n status = { _: 'sendMessageGeoLocationAction' }\n break\n case 'contact':\n status = { _: 'sendMessageChooseContactAction' }\n break\n case 'game':\n status = { _: 'sendMessageGamePlayAction' }\n break\n case 'record_round':\n status = { _: 'sendMessageRecordRoundAction' }\n break\n case 'upload_round':\n status = { _: 'sendMessageUploadRoundAction', progress }\n break\n case 'speak_call':\n status = { _: 'speakingInGroupCallAction' }\n break\n case 'history_import':\n status = { _: 'sendMessageHistoryImportAction', progress }\n break\n case 'sticker':\n status = { _: 'sendMessageChooseStickerAction' }\n break\n default:\n assertNever(status)\n }\n }\n\n const r = await client.call({\n _: 'messages.setTyping',\n peer: await resolvePeer(client, chatId),\n action: status,\n topMsgId: params?.threadId,\n })\n\n assertTrue('messages.setTyping', r)\n}\n"]}
|