@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replied-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/replied-message.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/inspectable.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeerSender } from '../peers/peer.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\nimport { MessageEntity } from './message-entity.js'\nimport { _messageMediaFromTl, MessageMedia } from './message-media.js'\n\n/**\n * Origin of the replied-to message\n * - `same_chat` — reply to a message in the same chat as this message\n * - `other_chat` — reply to a message in a different chat\n * - `private` — reply to a message in a private chat\n */\nexport type RepliedMessageOrigin = 'same_chat' | 'other_chat' | 'private'\n\n/** @hidden */\nexport interface _RepliedMessageAssertionsByOrigin {\n same_chat: {\n id: number\n chat: null\n media: null\n sender: null\n }\n other_chat: {\n id: number\n chat: Chat\n sender: PeerSender\n }\n private: {\n id: null\n chat: null\n sender: PeerSender\n }\n}\n\n/**\n * Information about a message that this message is a reply to\n */\nexport class RepliedMessageInfo {\n constructor(\n readonly raw: tl.RawMessageReplyHeader,\n readonly _peers: PeersIndex,\n ) {}\n\n /** Whether this message is a reply to another scheduled message */\n get isScheduled(): boolean {\n return this.raw.replyToScheduled!\n }\n\n /** Whether this message was sent to a forum topic */\n get isForumTopic(): boolean {\n return this.raw.forumTopic!\n }\n\n /** Whether this message is quoting another message */\n get isQuote(): boolean {\n return this.raw.quote!\n }\n\n /** Origin of the replied-to message */\n get origin(): RepliedMessageOrigin {\n if (!this.raw.replyToMsgId) return 'private'\n if (!this.raw.replyFrom) return 'same_chat'\n\n return 'other_chat'\n }\n\n /**\n * Helper method to check {@link origin} that will also\n * narrow the type of this object respectively\n */\n originIs<T extends RepliedMessageOrigin>(\n origin: T,\n ): this is RepliedMessageInfo & _RepliedMessageAssertionsByOrigin[T] {\n if (this.origin === origin) {\n // do some type assertions just in case\n switch (origin) {\n case 'same_chat':\n // no need, `null` is pretty safe, and `id` is checked in `origin` getter\n return true\n case 'other_chat':\n // replyToMsgId != null, replyFrom != null. checking for replyToPeerId is enough\n return this.raw.replyToPeerId !== undefined\n case 'private':\n // replyFrom.fromId should be available\n return this.raw.replyFrom?.fromId !== undefined\n }\n }\n\n return false\n }\n\n /**\n * For non-`private` origin, ID of the replied-to message in the original chat.\n */\n get id(): number | null {\n return this.raw.replyToMsgId ?? null\n }\n\n /** ID of the replies thread where this message belongs to */\n get threadId(): number | null {\n return this.raw.replyToTopId ?? null\n }\n\n /**\n * If replied-to message is available, chat where the message was sent.\n *\n * If `null`, the message was sent in the same chat.\n */\n get chat(): Chat | null {\n if (!this.raw.replyToPeerId || !this.raw.replyFrom) {\n // same chat or private. even if `replyToPeerId` is available,\n // without `replyFrom` it would contain the sender, not the chat\n return null\n }\n\n return Chat._parseFromPeer(this.raw.replyToPeerId, this._peers)\n }\n\n /**\n * Sender of the replied-to message (either user or a channel)\n * or their name (for users with private forwards).\n *\n * For replies to channel messages, this will be the channel itself.\n *\n * `null` if the sender is not available (for `same_chat` origin)\n */\n get sender(): PeerSender | null {\n const { replyFrom, replyToPeerId } = this.raw\n if (!replyFrom && !replyToPeerId) return null\n\n if (replyFrom?.fromName) {\n return {\n type: 'anonymous',\n displayName: replyFrom.fromName,\n }\n }\n\n const peer = replyFrom?.fromId ?? replyToPeerId\n\n if (peer) {\n switch (peer._) {\n case 'peerChannel':\n return new Chat(this._peers.chat(peer.channelId))\n case 'peerUser':\n return new User(this._peers.user(peer.userId))\n default:\n throw new MtTypeAssertionError('fromId ?? replyToPeerId', 'peerUser | peerChannel', peer._)\n }\n }\n\n throw new MtTypeAssertionError('replyFrom', 'to have fromId, replyToPeerId or fromName', 'neither')\n }\n\n /**\n * For non-`same_chat` origin, date the original message was sent.\n */\n get date(): Date | null {\n if (!this.raw.replyFrom?.date) return null\n\n return new Date(this.raw.replyFrom.date * 1000)\n }\n\n /**\n * If this message is a quote, text of the quote.\n *\n * For non-`same_chat` origin, this will be the full text of the\n * replied-to message in case `.isQuote` is `false`\n */\n get quoteText(): string {\n return this.raw.quoteText ?? ''\n }\n\n /** Message entities contained in the quote */\n get quoteEntities(): MessageEntity[] {\n return this.raw.quoteEntities?.map((e) => new MessageEntity(e)) ?? []\n }\n\n /**\n * Offset of the start of the {@link quoteText} in the replied-to message.\n *\n * Note that this offset should only be used as a hint, as the actual\n * quote offset may be different due to message being edited after the quote\n *\n * `null` if not available, in which case it should be assumed that the quote\n * starts at `.indexOf(quoteText)` of the replied-to message text.\n */\n get quoteOffset(): number | null {\n if (!this.raw.quoteOffset) return null\n\n return this.raw.quoteOffset\n }\n\n /**\n * Media contained in the replied-to message\n *\n * Only available for non-`same_chat` origin\n */\n get media(): MessageMedia {\n if (!this.raw.replyMedia) return null\n\n return _messageMediaFromTl(this._peers, this.raw.replyMedia)\n }\n}\n\nmemoizeGetters(RepliedMessageInfo, ['chat', 'sender', 'quoteEntities', 'media'])\nmakeInspectable(RepliedMessageInfo)\n"]}
|
|
1
|
+
{"version":3,"file":"replied-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/replied-message.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/inspectable.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeerSender } from '../peers/peer.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\nimport { MessageEntity } from './message-entity.js'\nimport { _messageMediaFromTl, MessageMedia } from './message-media.js'\n\n/**\n * Origin of the replied-to message\n * - `same_chat` — reply to a message in the same chat as this message\n * - `other_chat` — reply to a message in a different chat\n * - `private` — reply to a message in a private chat\n */\nexport type RepliedMessageOrigin = 'same_chat' | 'other_chat' | 'private'\n\n/** @hidden */\nexport interface _RepliedMessageAssertionsByOrigin {\n same_chat: {\n id: number\n chat: null\n media: null\n sender: null\n }\n other_chat: {\n id: number\n chat: Chat\n sender: PeerSender\n }\n private: {\n id: null\n chat: null\n sender: PeerSender\n }\n}\n\n/**\n * Information about a message that this message is a reply to\n */\nexport class RepliedMessageInfo {\n constructor(\n readonly raw: tl.RawMessageReplyHeader,\n readonly _peers: PeersIndex,\n ) {}\n\n /** Whether this message is a reply to another scheduled message */\n get isScheduled(): boolean {\n return this.raw.replyToScheduled!\n }\n\n /** Whether this message was sent to a forum topic */\n get isForumTopic(): boolean {\n return this.raw.forumTopic!\n }\n\n /** Whether this message is quoting another message */\n get isQuote(): boolean {\n return this.raw.quote!\n }\n\n /** Origin of the replied-to message */\n get origin(): RepliedMessageOrigin {\n if (!this.raw.replyToMsgId) return 'private'\n if (!this.raw.replyFrom) return 'same_chat'\n\n return 'other_chat'\n }\n\n /**\n * Helper method to check {@link origin} that will also\n * narrow the type of this object respectively\n */\n originIs<T extends RepliedMessageOrigin>(\n origin: T,\n ): this is RepliedMessageInfo & _RepliedMessageAssertionsByOrigin[T] {\n if (this.origin === origin) {\n // do some type assertions just in case\n switch (origin) {\n case 'same_chat':\n // no need, `null` is pretty safe, and `id` is checked in `origin` getter\n return true\n case 'other_chat':\n // replyToMsgId != null, replyFrom != null. checking for replyToPeerId is enough\n return this.raw.replyToPeerId !== undefined\n case 'private':\n // replyFrom.fromId should be available\n return this.raw.replyFrom?.fromId !== undefined\n }\n }\n\n return false\n }\n\n /**\n * For non-`private` origin, ID of the replied-to message in the original chat.\n */\n get id(): number | null {\n return this.raw.replyToMsgId ?? null\n }\n\n /** ID of the replies thread where this message belongs to */\n get threadId(): number | null {\n return this.raw.replyToTopId ?? null\n }\n\n /**\n * If replied-to message is available, chat where the message was sent.\n *\n * If `null`, the message was sent in the same chat.\n */\n get chat(): Chat | null {\n if (!this.raw.replyToPeerId || !this.raw.replyFrom) {\n // same chat or private. even if `replyToPeerId` is available,\n // without `replyFrom` it would contain the sender, not the chat\n return null\n }\n\n return Chat._parseFromPeer(this.raw.replyToPeerId, this._peers)\n }\n\n /**\n * Sender of the replied-to message (either user or a channel)\n * or their name (for users with private forwards).\n *\n * For replies to channel messages, this will be the channel itself.\n *\n * `null` if the sender is not available (for `same_chat` origin)\n */\n get sender(): PeerSender | null {\n const { replyFrom, replyToPeerId } = this.raw\n if (!replyFrom && !replyToPeerId) return null\n\n if (replyFrom?.fromName) {\n return {\n type: 'anonymous',\n displayName: replyFrom.fromName,\n }\n }\n\n const peer = replyFrom?.fromId ?? replyToPeerId\n\n if (peer) {\n switch (peer._) {\n case 'peerChannel':\n return new Chat(this._peers.chat(peer.channelId))\n case 'peerUser':\n return new User(this._peers.user(peer.userId))\n default:\n throw new MtTypeAssertionError('fromId ?? replyToPeerId', 'peerUser | peerChannel', peer._)\n }\n }\n\n throw new MtTypeAssertionError('replyFrom', 'to have fromId, replyToPeerId or fromName', 'neither')\n }\n\n /**\n * For non-`same_chat` origin, date the original message was sent.\n */\n get date(): Date | null {\n if (!this.raw.replyFrom?.date) return null\n\n return new Date(this.raw.replyFrom.date * 1000)\n }\n\n /**\n * If this message is a quote, text of the quote.\n *\n * For non-`same_chat` origin, this will be the full text of the\n * replied-to message in case `.isQuote` is `false`\n */\n get quoteText(): string {\n return this.raw.quoteText ?? ''\n }\n\n /** Message entities contained in the quote */\n get quoteEntities(): MessageEntity[] {\n return this.raw.quoteEntities?.map((e) => new MessageEntity(e)) ?? []\n }\n\n /**\n * Offset of the start of the {@link quoteText} in the replied-to message.\n *\n * Note that this offset should only be used as a hint, as the actual\n * quote offset may be different due to message being edited after the quote\n *\n * `null` if not available, in which case it should be assumed that the quote\n * starts at `.indexOf(quoteText)` of the replied-to message text.\n */\n get quoteOffset(): number | null {\n if (!this.raw.quoteOffset) return null\n\n return this.raw.quoteOffset\n }\n\n /**\n * Media contained in the replied-to message\n *\n * Only available for non-`same_chat` origin\n */\n get media(): MessageMedia {\n if (!this.raw.replyMedia) return null\n\n return _messageMediaFromTl(this._peers, this.raw.replyMedia)\n }\n}\n\nmemoizeGetters(RepliedMessageInfo, ['chat', 'sender', 'quoteEntities', 'media'])\nmakeInspectable(RepliedMessageInfo)\n"]}
|
|
@@ -43,6 +43,12 @@ export function normalizeInputStickerSet(input) {
|
|
|
43
43
|
* A sticker set (aka sticker pack)
|
|
44
44
|
*/
|
|
45
45
|
class StickerSet {
|
|
46
|
+
brief;
|
|
47
|
+
full;
|
|
48
|
+
/**
|
|
49
|
+
* Whether this object contains information about stickers inside the set
|
|
50
|
+
*/
|
|
51
|
+
isFull;
|
|
46
52
|
constructor(raw) {
|
|
47
53
|
if (raw._ === 'messages.stickerSet') {
|
|
48
54
|
this.full = raw;
|
|
@@ -146,7 +152,7 @@ class StickerSet {
|
|
|
146
152
|
}
|
|
147
153
|
const info = {
|
|
148
154
|
alt: sticker.emoji,
|
|
149
|
-
emoji: '',
|
|
155
|
+
emoji: '', // populated later
|
|
150
156
|
sticker,
|
|
151
157
|
};
|
|
152
158
|
stickers.push(info);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticker-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/sticker-set.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { LongMap } from '../../../utils/long-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { MtEmptyError } from '../errors.js'\nimport { InputFileLike } from '../files/index.js'\nimport { parseDocument } from '../media/document-utils.js'\nimport { MaskPosition, Sticker, StickerSourceType, StickerType, Thumbnail } from '../media/index.js'\n\n/**\n * Input sticker set.\n * Can be one of:\n * - Raw TL object\n * - Sticker set short name\n * - {@link StickerSet} object\n * - `{ dice: \"<emoji>\" }` (e.g. `{ dice: \"🎲\" }`) - Used for fetching animated dice stickers\n * - `{ system: string }` - for system stickersets:\n * - `\"animated\"` - Animated emojis stickerset\n * - `\"animated_animations\"` - Animated emoji reaction stickerset\n * (contains animations to play when a user clicks on a given animated emoji)\n * - `\"premium_gifts\"` - Stickers to show when receiving a gifted Telegram Premium subscription,\n * - `\"generic_animations\"` - Generic animation stickerset containing animations to play\n * when reacting to messages using a normal emoji without a custom animation\n * - `\"default_statuses\"` - Default custom emoji status stickerset\n * - `\"default_topic_icons\"` - Default custom emoji stickerset for forum topic icons\n * - `\"default_channel_statuses\"` - Default custom emoji status stickerset for channels\n */\nexport type InputStickerSet =\n | tl.TypeInputStickerSet\n | { dice: string }\n | {\n system:\n | 'animated'\n | 'animated_animations'\n | 'premium_gifts'\n | 'generic_animations'\n | 'default_statuses'\n | 'default_topic_icons'\n | 'default_channel_statuses'\n }\n | StickerSet\n | string\n\nexport function normalizeInputStickerSet(input: InputStickerSet): tl.TypeInputStickerSet {\n if (typeof input === 'string') {\n return {\n _: 'inputStickerSetShortName',\n shortName: input,\n }\n }\n if ('_' in input) return input\n if (input instanceof StickerSet) return input.inputStickerSet\n\n if ('dice' in input) {\n return {\n _: 'inputStickerSetDice',\n emoticon: input.dice,\n }\n }\n\n switch (input.system) {\n case 'animated':\n return { _: 'inputStickerSetAnimatedEmoji' }\n case 'animated_animations':\n return { _: 'inputStickerSetAnimatedEmojiAnimations' }\n case 'premium_gifts':\n return { _: 'inputStickerSetPremiumGifts' }\n case 'generic_animations':\n return { _: 'inputStickerSetEmojiGenericAnimations' }\n case 'default_statuses':\n return { _: 'inputStickerSetEmojiDefaultStatuses' }\n case 'default_topic_icons':\n return { _: 'inputStickerSetEmojiDefaultTopicIcons' }\n case 'default_channel_statuses':\n return { _: 'inputStickerSetEmojiChannelDefaultStatuses' }\n }\n}\n\n/**\n * Information about one sticker inside the set\n */\nexport interface StickerInfo {\n /**\n * Primary alt emoji that is displayed in dialogs list\n */\n readonly alt: string\n\n /**\n * One or more emojis representing this sticker\n */\n readonly emoji: string\n\n /**\n * Document with the actual sticker\n */\n readonly sticker: Sticker\n}\n\n/**\n * A sticker set (aka sticker pack)\n */\nexport class StickerSet {\n readonly brief: tl.RawStickerSet\n readonly full?: tl.messages.RawStickerSet\n\n /**\n * Whether this object contains information about stickers inside the set\n */\n readonly isFull: boolean\n\n constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet) {\n if (raw._ === 'messages.stickerSet') {\n this.full = raw\n this.brief = raw.set\n } else if (raw._ === 'stickerSet') {\n this.brief = raw\n } else {\n throw new MtTypeAssertionError('StickerSet', 'messages.stickerSet | stickerSet', raw._)\n }\n\n this.isFull = raw._ === 'messages.stickerSet'\n }\n\n /**\n * Whether this sticker set was archived\n * (due to too many saved stickers in the current account)\n */\n get isArchived(): boolean {\n return this.brief.archived!\n }\n\n /**\n * Whether this stickerset is official\n */\n get isOfficial(): boolean {\n return this.brief.official!\n }\n\n /**\n * Type of the stickers in this set\n */\n get type(): StickerType {\n if (this.brief.masks) {\n return 'mask'\n }\n\n if (this.brief.emojis) {\n return 'emoji'\n }\n\n return 'sticker'\n }\n\n /**\n * Source file type of the stickers in this set\n */\n get sourceType(): StickerSourceType {\n if (this.brief.animated) {\n return 'animated'\n }\n\n if (this.brief.videos) {\n return 'video'\n }\n\n return 'static'\n }\n\n /**\n * Date when this sticker set was installed\n */\n get installedDate(): Date | null {\n return this.brief.installedDate ? new Date(this.brief.installedDate * 1000) : null\n }\n\n /**\n * Number of stickers in this sticker set\n */\n get count(): number {\n return this.brief.count\n }\n\n /**\n * Input sticker set to be used in other API methods\n */\n get inputStickerSet(): tl.TypeInputStickerSet {\n return {\n _: 'inputStickerSetID',\n id: this.brief.id,\n accessHash: this.brief.accessHash,\n }\n }\n\n /**\n * Title of the sticker set\n */\n get title(): string {\n return this.brief.title\n }\n\n /**\n * Short name of sticker set to use in `tg://addstickers?set=short_name`\n * or `https://t.me/addstickers/short_name`\n */\n get shortName(): string {\n return this.brief.shortName\n }\n\n /**\n * List of stickers inside this sticker set\n *\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n get stickers(): ReadonlyArray<StickerInfo> {\n if (!this.isFull) throw new MtEmptyError()\n\n const stickers: StickerInfo[] = []\n const index = new LongMap<tl.Mutable<StickerInfo>>()\n\n this.full!.documents.forEach((doc) => {\n const sticker = parseDocument(doc as tl.RawDocument)\n\n if (!(sticker instanceof Sticker)) {\n throw new MtTypeAssertionError('full.documents', 'Sticker', sticker.mimeType)\n }\n\n const info: tl.Mutable<StickerInfo> = {\n alt: sticker.emoji,\n emoji: '', // populated later\n sticker,\n }\n stickers.push(info)\n index.set(doc.id, info)\n })\n\n this.full!.packs.forEach((pack) => {\n pack.documents.forEach((id) => {\n const item = index.get(id)\n\n if (item) {\n item.emoji += pack.emoticon\n }\n })\n })\n\n return stickers\n }\n\n /**\n * Available sticker set thumbnails.\n *\n * Returns empty array if not available\n * (i.e. first sticker should be used as thumbnail)\n */\n get thumbnails(): ReadonlyArray<Thumbnail> {\n return this.brief.thumbs?.map((sz) => new Thumbnail(this.brief, sz)) ?? []\n }\n\n /**\n * Get a sticker set thumbnail by its type.\n *\n * Thumbnail types are described in the\n * [Telegram docs](https://core.telegram.org/api/files#image-thumbnail-types),\n * and are also available as static members of {@link Thumbnail} for convenience.\n *\n * @param type Thumbnail type\n */\n getThumbnail(type: string): Thumbnail | null {\n return this.thumbnails.find((it) => it.type === type) ?? null\n }\n\n /**\n * Find stickers given their emoji.\n *\n * @param emoji Emoji to search for\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n getStickersByEmoji(emoji: string): StickerInfo[] {\n return this.stickers.filter((it) => it.alt === emoji || it.emoji.includes(emoji))\n }\n\n private _getInputDocument(idx: number): tl.TypeInputDocument {\n if (!this.full) throw new MtEmptyError()\n\n if (idx < 0) idx = this.full.documents.length + idx\n const doc = this.full.documents[idx] as tl.RawDocument\n\n if (!doc) {\n throw new RangeError(`Sticker set does not have sticker ${idx}`)\n }\n\n return {\n _: 'inputDocument',\n id: doc.id,\n accessHash: doc.accessHash,\n fileReference: doc.fileReference,\n }\n }\n}\n\nmemoizeGetters(StickerSet, ['thumbnails', 'stickers'])\nmakeInspectable(StickerSet, ['isFull'])\n\nexport interface InputStickerSetItem {\n /**\n * File containing the sticker.\n *\n * For normal stickers: must be a `.png` or `.webp` file\n * up to 512kb, having both dimensions `<=512px`, and having\n * one of the dimensions `==512px`\n *\n * For animated stickers: must be a `.tgs` file\n * up to 64kb, having canvas dimensions exactly\n * `512x512`px, duration no more than 3 seconds\n * and animated at 60fps ([source](https://core.telegram.org/animated_stickers#technical-requirements))\n */\n file: InputFileLike\n\n /**\n * One or more emojis that represent this sticker\n */\n emojis: string\n\n /**\n * In case this is a mask sticker,\n * position of the mask\n */\n maskPosition?: MaskPosition\n}\n"]}
|
|
1
|
+
{"version":3,"file":"sticker-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/sticker-set.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAgB,OAAO,EAAkC,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAoCpG,MAAM,UAAU,wBAAwB,CAAC,KAAsB;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACH,CAAC,EAAE,0BAA0B;YAC7B,SAAS,EAAE,KAAK;SACnB,CAAA;IACL,CAAC;IACD,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IAC9B,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,KAAK,CAAC,eAAe,CAAA;IAE7D,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QAClB,OAAO;YACH,CAAC,EAAE,qBAAqB;YACxB,QAAQ,EAAE,KAAK,CAAC,IAAI;SACvB,CAAA;IACL,CAAC;IAED,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,UAAU;YACX,OAAO,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;QAChD,KAAK,qBAAqB;YACtB,OAAO,EAAE,CAAC,EAAE,wCAAwC,EAAE,CAAA;QAC1D,KAAK,eAAe;YAChB,OAAO,EAAE,CAAC,EAAE,6BAA6B,EAAE,CAAA;QAC/C,KAAK,oBAAoB;YACrB,OAAO,EAAE,CAAC,EAAE,uCAAuC,EAAE,CAAA;QACzD,KAAK,kBAAkB;YACnB,OAAO,EAAE,CAAC,EAAE,qCAAqC,EAAE,CAAA;QACvD,KAAK,qBAAqB;YACtB,OAAO,EAAE,CAAC,EAAE,uCAAuC,EAAE,CAAA;QACzD,KAAK,0BAA0B;YAC3B,OAAO,EAAE,CAAC,EAAE,4CAA4C,EAAE,CAAA;IAClE,CAAC;AACL,CAAC;AAsBD;;GAEG;AACH,MAAM,OAAO,UAAU;IACV,KAAK,CAAkB;IACvB,IAAI,CAA4B;IAEzC;;OAEG;IACM,MAAM,CAAS;IAExB,YAAY,GAAmD;QAC3D,IAAI,GAAG,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;YACf,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAA;QACxB,CAAC;aAAM,IAAI,GAAG,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAA;QACpB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,oBAAoB,CAAC,YAAY,EAAE,kCAAkC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3F,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,qBAAqB,CAAA;IACjD,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAS,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAS,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,MAAM,CAAA;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,OAAO,CAAA;QAClB,CAAC;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,UAAU,CAAA;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,OAAO,CAAA;QAClB,CAAC;QAED,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACtF,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACf,OAAO;YACH,CAAC,EAAE,mBAAmB;YACtB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACjB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;SACpC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;IAC/B,CAAC;IAED;;;;;OAKG;IACH,IAAI,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,YAAY,EAAE,CAAA;QAE1C,MAAM,QAAQ,GAAkB,EAAE,CAAA;QAClC,MAAM,KAAK,GAAG,IAAI,OAAO,EAA2B,CAAA;QAEpD,IAAI,CAAC,IAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAqB,CAAC,CAAA;YAEpD,IAAI,CAAC,CAAC,OAAO,YAAY,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,oBAAoB,CAAC,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;YACjF,CAAC;YAED,MAAM,IAAI,GAA4B;gBAClC,GAAG,EAAE,OAAO,CAAC,KAAK;gBAClB,KAAK,EAAE,EAAE,EAAE,kBAAkB;gBAC7B,OAAO;aACV,CAAA;YACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAE1B,IAAI,IAAI,EAAE,CAAC;oBACP,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAA;gBAC/B,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAC9E,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAA;IACjE,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACrF,CAAC;IAEO,iBAAiB,CAAC,GAAW;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,YAAY,EAAE,CAAA;QAExC,IAAI,GAAG,GAAG,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAA;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAmB,CAAA;QAEtD,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,UAAU,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAA;QACpE,CAAC;QAED,OAAO;YACH,CAAC,EAAE,eAAe;YAClB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;SACnC,CAAA;IACL,CAAC;CACJ;AAED,cAAc,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;AACtD,eAAe,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { LongMap } from '../../../utils/long-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { MtEmptyError } from '../errors.js'\nimport { InputFileLike } from '../files/index.js'\nimport { parseDocument } from '../media/document-utils.js'\nimport { MaskPosition, Sticker, StickerSourceType, StickerType, Thumbnail } from '../media/index.js'\n\n/**\n * Input sticker set.\n * Can be one of:\n * - Raw TL object\n * - Sticker set short name\n * - {@link StickerSet} object\n * - `{ dice: \"<emoji>\" }` (e.g. `{ dice: \"🎲\" }`) - Used for fetching animated dice stickers\n * - `{ system: string }` - for system stickersets:\n * - `\"animated\"` - Animated emojis stickerset\n * - `\"animated_animations\"` - Animated emoji reaction stickerset\n * (contains animations to play when a user clicks on a given animated emoji)\n * - `\"premium_gifts\"` - Stickers to show when receiving a gifted Telegram Premium subscription,\n * - `\"generic_animations\"` - Generic animation stickerset containing animations to play\n * when reacting to messages using a normal emoji without a custom animation\n * - `\"default_statuses\"` - Default custom emoji status stickerset\n * - `\"default_topic_icons\"` - Default custom emoji stickerset for forum topic icons\n * - `\"default_channel_statuses\"` - Default custom emoji status stickerset for channels\n */\nexport type InputStickerSet =\n | tl.TypeInputStickerSet\n | { dice: string }\n | {\n system:\n | 'animated'\n | 'animated_animations'\n | 'premium_gifts'\n | 'generic_animations'\n | 'default_statuses'\n | 'default_topic_icons'\n | 'default_channel_statuses'\n }\n | StickerSet\n | string\n\nexport function normalizeInputStickerSet(input: InputStickerSet): tl.TypeInputStickerSet {\n if (typeof input === 'string') {\n return {\n _: 'inputStickerSetShortName',\n shortName: input,\n }\n }\n if ('_' in input) return input\n if (input instanceof StickerSet) return input.inputStickerSet\n\n if ('dice' in input) {\n return {\n _: 'inputStickerSetDice',\n emoticon: input.dice,\n }\n }\n\n switch (input.system) {\n case 'animated':\n return { _: 'inputStickerSetAnimatedEmoji' }\n case 'animated_animations':\n return { _: 'inputStickerSetAnimatedEmojiAnimations' }\n case 'premium_gifts':\n return { _: 'inputStickerSetPremiumGifts' }\n case 'generic_animations':\n return { _: 'inputStickerSetEmojiGenericAnimations' }\n case 'default_statuses':\n return { _: 'inputStickerSetEmojiDefaultStatuses' }\n case 'default_topic_icons':\n return { _: 'inputStickerSetEmojiDefaultTopicIcons' }\n case 'default_channel_statuses':\n return { _: 'inputStickerSetEmojiChannelDefaultStatuses' }\n }\n}\n\n/**\n * Information about one sticker inside the set\n */\nexport interface StickerInfo {\n /**\n * Primary alt emoji that is displayed in dialogs list\n */\n readonly alt: string\n\n /**\n * One or more emojis representing this sticker\n */\n readonly emoji: string\n\n /**\n * Document with the actual sticker\n */\n readonly sticker: Sticker\n}\n\n/**\n * A sticker set (aka sticker pack)\n */\nexport class StickerSet {\n readonly brief: tl.RawStickerSet\n readonly full?: tl.messages.RawStickerSet\n\n /**\n * Whether this object contains information about stickers inside the set\n */\n readonly isFull: boolean\n\n constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet) {\n if (raw._ === 'messages.stickerSet') {\n this.full = raw\n this.brief = raw.set\n } else if (raw._ === 'stickerSet') {\n this.brief = raw\n } else {\n throw new MtTypeAssertionError('StickerSet', 'messages.stickerSet | stickerSet', raw._)\n }\n\n this.isFull = raw._ === 'messages.stickerSet'\n }\n\n /**\n * Whether this sticker set was archived\n * (due to too many saved stickers in the current account)\n */\n get isArchived(): boolean {\n return this.brief.archived!\n }\n\n /**\n * Whether this stickerset is official\n */\n get isOfficial(): boolean {\n return this.brief.official!\n }\n\n /**\n * Type of the stickers in this set\n */\n get type(): StickerType {\n if (this.brief.masks) {\n return 'mask'\n }\n\n if (this.brief.emojis) {\n return 'emoji'\n }\n\n return 'sticker'\n }\n\n /**\n * Source file type of the stickers in this set\n */\n get sourceType(): StickerSourceType {\n if (this.brief.animated) {\n return 'animated'\n }\n\n if (this.brief.videos) {\n return 'video'\n }\n\n return 'static'\n }\n\n /**\n * Date when this sticker set was installed\n */\n get installedDate(): Date | null {\n return this.brief.installedDate ? new Date(this.brief.installedDate * 1000) : null\n }\n\n /**\n * Number of stickers in this sticker set\n */\n get count(): number {\n return this.brief.count\n }\n\n /**\n * Input sticker set to be used in other API methods\n */\n get inputStickerSet(): tl.TypeInputStickerSet {\n return {\n _: 'inputStickerSetID',\n id: this.brief.id,\n accessHash: this.brief.accessHash,\n }\n }\n\n /**\n * Title of the sticker set\n */\n get title(): string {\n return this.brief.title\n }\n\n /**\n * Short name of sticker set to use in `tg://addstickers?set=short_name`\n * or `https://t.me/addstickers/short_name`\n */\n get shortName(): string {\n return this.brief.shortName\n }\n\n /**\n * List of stickers inside this sticker set\n *\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n get stickers(): ReadonlyArray<StickerInfo> {\n if (!this.isFull) throw new MtEmptyError()\n\n const stickers: StickerInfo[] = []\n const index = new LongMap<tl.Mutable<StickerInfo>>()\n\n this.full!.documents.forEach((doc) => {\n const sticker = parseDocument(doc as tl.RawDocument)\n\n if (!(sticker instanceof Sticker)) {\n throw new MtTypeAssertionError('full.documents', 'Sticker', sticker.mimeType)\n }\n\n const info: tl.Mutable<StickerInfo> = {\n alt: sticker.emoji,\n emoji: '', // populated later\n sticker,\n }\n stickers.push(info)\n index.set(doc.id, info)\n })\n\n this.full!.packs.forEach((pack) => {\n pack.documents.forEach((id) => {\n const item = index.get(id)\n\n if (item) {\n item.emoji += pack.emoticon\n }\n })\n })\n\n return stickers\n }\n\n /**\n * Available sticker set thumbnails.\n *\n * Returns empty array if not available\n * (i.e. first sticker should be used as thumbnail)\n */\n get thumbnails(): ReadonlyArray<Thumbnail> {\n return this.brief.thumbs?.map((sz) => new Thumbnail(this.brief, sz)) ?? []\n }\n\n /**\n * Get a sticker set thumbnail by its type.\n *\n * Thumbnail types are described in the\n * [Telegram docs](https://core.telegram.org/api/files#image-thumbnail-types),\n * and are also available as static members of {@link Thumbnail} for convenience.\n *\n * @param type Thumbnail type\n */\n getThumbnail(type: string): Thumbnail | null {\n return this.thumbnails.find((it) => it.type === type) ?? null\n }\n\n /**\n * Find stickers given their emoji.\n *\n * @param emoji Emoji to search for\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n getStickersByEmoji(emoji: string): StickerInfo[] {\n return this.stickers.filter((it) => it.alt === emoji || it.emoji.includes(emoji))\n }\n\n private _getInputDocument(idx: number): tl.TypeInputDocument {\n if (!this.full) throw new MtEmptyError()\n\n if (idx < 0) idx = this.full.documents.length + idx\n const doc = this.full.documents[idx] as tl.RawDocument\n\n if (!doc) {\n throw new RangeError(`Sticker set does not have sticker ${idx}`)\n }\n\n return {\n _: 'inputDocument',\n id: doc.id,\n accessHash: doc.accessHash,\n fileReference: doc.fileReference,\n }\n }\n}\n\nmemoizeGetters(StickerSet, ['thumbnails', 'stickers'])\nmakeInspectable(StickerSet, ['isFull'])\n\nexport interface InputStickerSetItem {\n /**\n * File containing the sticker.\n *\n * For normal stickers: must be a `.png` or `.webp` file\n * up to 512kb, having both dimensions `<=512px`, and having\n * one of the dimensions `==512px`\n *\n * For animated stickers: must be a `.tgs` file\n * up to 64kb, having canvas dimensions exactly\n * `512x512`px, duration no more than 3 seconds\n * and animated at 60fps ([source](https://core.telegram.org/animated_stickers#technical-requirements))\n */\n file: InputFileLike\n\n /**\n * One or more emojis that represent this sticker\n */\n emojis: string\n\n /**\n * In case this is a mask sticker,\n * position of the mask\n */\n maskPosition?: MaskPosition\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"takeout-session.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/takeout-session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,MAAM,OAAO,cAAc;
|
|
1
|
+
{"version":3,"file":"takeout-session.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/takeout-session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,MAAM,OAAO,cAAc;IAOV;IANb;;OAEG;IACM,EAAE,CAAS;IAEpB,YACa,MAAuB,EAChC,OAA8B;QADrB,WAAM,GAAN,MAAM,CAAiB;QAGhC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CACN,OAAmC,EACnC,MAAuB;QAEvB,+DAA+D;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB;YACI,CAAC,EAAE,mBAAmB;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,KAAK,EAAE,OAAO;YACd,8DAA8D;SAC1D,EACR,MAAM,CACT,CAAA;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,SAAyC;QACjD,MAAM,SAAS,GAA2B,SAAS,CAAC,CAAC;YACjD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACZ,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;gBACjC,CAAC;gBAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAExB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACtB,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,SAAS,CAAA;gBAErC,+DAA+D;gBAC/D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC9C,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI;QACvB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YACtB,CAAC,EAAE,8BAA8B;YACjC,OAAO;SACV,CAAC,CAAA;QAEF,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC;CACJ;AAED,eAAe,CAAC,cAAc,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { RpcCallOptions } from '../../../network/network-manager.js'\nimport { MustEqual } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * Account takeout session\n */\nexport class TakeoutSession {\n /**\n * Takeout session id\n */\n readonly id: tl.Long\n\n constructor(\n readonly client: ITelegramClient,\n session: tl.account.RawTakeout,\n ) {\n this.id = session.id\n }\n\n /**\n * Make an API call using this takeout session\n *\n * This method just wraps the query into `invokeWithTakeout`\n * and passes the control down to {@link TelegramClient.call}.\n *\n * @param message RPC method to call\n * @param params Additional call parameters\n */\n async call<T extends tl.RpcMethod>(\n message: MustEqual<T, tl.RpcMethod>,\n params?: RpcCallOptions,\n ): Promise<tl.RpcCallReturn[T['_']]> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return this.client.call(\n {\n _: 'invokeWithTakeout',\n takeoutId: this.id,\n query: message,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any,\n params,\n )\n }\n\n /**\n * Create a proxy over {@link TelegramClient}\n * that will use this takeout session to call methods.\n *\n * You can optionally provide a function to check if some\n * RPC method should be called via a takeout session or directly,\n * otherwise all methods are called through the takeout session.\n *\n * > **Note**: This will return a `Proxy` object that\n * > overrides `call` method. Using this method requires\n * > that your target environment supports `Proxy` and `Reflect` APIs\n *\n * @param predicate\n * Function that given the RPC call should determine whether\n * that call should be called via takeout session or not.\n * Returning `true` will use takeout session, `false` will not.\n */\n createProxy(predicate?: (obj: tl.TlObject) => boolean): ITelegramClient {\n const boundCall: TakeoutSession['call'] = predicate ?\n (obj, params) => {\n if (predicate(obj)) {\n return this.call(obj, params)\n }\n\n return this.client.call(obj, params)\n } :\n this.call.bind(this)\n\n return new Proxy(this.client, {\n get(target, prop, receiver) {\n if (prop === 'call') return boundCall\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return Reflect.get(target, prop, receiver)\n },\n })\n }\n\n /**\n * Finish account takeout session\n *\n * @param success Whether the data was successfully exported\n */\n async finish(success = true): Promise<void> {\n const r = await this.call({\n _: 'account.finishTakeoutSession',\n success,\n })\n\n assertTrue('account.finishTakeoutSession', r)\n }\n}\n\nmakeInspectable(TakeoutSession)\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-colors.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-colors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D;;GAEG;AACH,MAAM,OAAO,UAAU;
|
|
1
|
+
{"version":3,"file":"chat-colors.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-colors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D;;GAEG;AACH,MAAM,OAAO,UAAU;IAEE;IACR;IAFb,YACqB,OAAe,EACvB,GAAqB;QADb,YAAO,GAAP,OAAO,CAAQ;QACvB,QAAG,GAAH,GAAG,CAAkB;IAC/B,CAAC;IAEJ;;;;;;;;;OASG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,GAAG,EAAE,iBAAiB,IAAI,IAAI,CAAA;IAC9C,CAAC;CACJ;AAED,eAAe,CAAC,UAAU,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/inspectable.js'\n\n/**\n * Information about colors of a chat\n */\nexport class ChatColors {\n constructor(\n private readonly _peerId: number,\n readonly raw?: tl.RawPeerColor,\n ) {}\n\n /**\n * Color ID\n *\n * Note that this value is **not** an RGB color representation. Instead, it is\n * a number which should be used to pick a color from a predefined\n * list of colors:\n * - `0-6` are the default colors used by Telegram clients:\n * `red, orange, purple, green, sea, blue, pink`\n * - `>= 7` are returned by `help.getAppConfig`.\n */\n get color(): number {\n return this.raw?.color ?? this._peerId % 7\n }\n\n /**\n * ID of the emoji that should be used as a background pattern\n * when rendering the color\n */\n get backgroundEmojiId(): tl.Long | null {\n return this.raw?.backgroundEmojiId ?? null\n }\n}\n\nmakeInspectable(ChatColors)\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../../../src/highlevel/types/peers/chat-event/actions.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { toggleChannelIdMark } from '../../../../utils/peer-utils.js'\nimport { assertTypeIs } from '../../../../utils/type-assertions.js'\nimport { Photo } from '../../media/photo.js'\nimport { Message } from '../../messages/message.js'\nimport { ChatInviteLink } from '../chat-invite-link.js'\nimport { ChatLocation } from '../chat-location.js'\nimport { ChatMember } from '../chat-member.js'\nimport { ChatPermissions } from '../chat-permissions.js'\nimport { ForumTopic } from '../forum-topic.js'\nimport { PeersIndex } from '../peers-index.js'\nimport { User } from '../user.js'\n\n/** A user has joined the channel (in the case of big groups, info of the user that has joined isn't shown) */\nexport interface ChatActionUserJoined {\n type: 'user_joined'\n}\n\n/** A user has joined the channel using an invite link */\nexport interface ChatActionUserJoinedInvite {\n type: 'user_joined_invite'\n\n /** Invite link user to join */\n link: ChatInviteLink\n}\n\n/** A user has joined the channel using an invite link and was approved by an admin */\nexport interface ChatActionUserJoinedApproved {\n type: 'user_joined_approved'\n\n /** Invite link user to join */\n link: ChatInviteLink\n\n /** User who approved the join */\n approvedBy: User\n}\n\n/** A user has left the channel (in the case of big groups, info of the user that has joined isn't shown) */\nexport interface ChatActionUserLeft {\n type: 'user_left'\n}\n\n/** A user was invited to the channel */\nexport interface ChatActionUserInvited {\n type: 'user_invited'\n\n /** Member who has been invited */\n member: ChatMember\n}\n\n/** Channel title has been changed */\nexport interface ChatActionTitleChanged {\n type: 'title_changed'\n\n /** Old chat title */\n old: string\n\n /** New chat title */\n new: string\n}\n\n/** Channel description has been changed */\nexport interface ChatActionDescriptionChanged {\n type: 'description_changed'\n\n /** Old description */\n old: string\n\n /** New description */\n new: string\n}\n\n/** Channel username has been changed */\nexport interface ChatActionUsernameChanged {\n type: 'username_changed'\n\n /** Old username */\n old: string\n\n /** New username */\n new: string\n}\n\n/** Channel username list has been changed */\nexport interface ChatActionUsernamesChanged {\n type: 'usernames_changed'\n\n /** Old username */\n old: string[]\n\n /** New username */\n new: string[]\n}\n\n/** Channel photo has been changed */\nexport interface ChatActionPhotoChanged {\n type: 'photo_changed'\n\n /** Old photo */\n old: Photo\n\n /** New photo */\n new: Photo\n}\n\n/** Invites were enabled/disabled */\nexport interface ChatActionInvitesToggled {\n type: 'invites_toggled'\n\n /** Old value */\n old: boolean\n\n /** New value */\n new: boolean\n}\n\n/** Signatures were enabled/disabled */\nexport interface ChatActionSignaturesToggled {\n type: 'signatures_toggled'\n\n /** Old value */\n old: boolean\n\n /** New value */\n new: boolean\n}\n\n/** A message has been pinned */\nexport interface ChatActionMessagePinned {\n type: 'msg_pinned'\n\n /** Message which was pinned */\n message: Message\n}\n\n/** A message has been edited */\nexport interface ChatActionMessageEdited {\n type: 'msg_edited'\n\n /** Old message */\n old: Message\n\n /** New message */\n new: Message\n}\n\n/** A message has been deleted */\nexport interface ChatActionMessageDeleted {\n type: 'msg_deleted'\n\n /** Message which was deleted */\n message: Message\n}\n\n/** User's permissions were changed */\nexport interface ChatActionUserPermissionsChanged {\n type: 'user_perms_changed'\n\n /** Information about member before change */\n old: ChatMember\n\n /** Information about member after change */\n new: ChatMember\n}\n\n/** User's admin permissions were changed */\nexport interface ChatActionUserAdminPermissionsChanged {\n type: 'user_admin_perms_changed'\n\n /** Information about member before change */\n old: ChatMember\n\n /** Information about member after change */\n new: ChatMember\n}\n\n/** Group stickerset has been changed */\nexport interface ChatActionStickersetChanged {\n type: 'stickerset_changed'\n\n /** Old stickerset */\n old: tl.TypeInputStickerSet\n\n /** New stickerset */\n new: tl.TypeInputStickerSet\n}\n\n/** History visibility for new users has been toggled */\nexport interface ChatActionHistoryToggled {\n type: 'history_toggled'\n\n /** Old value (`false` if new users can see history) */\n old: boolean\n\n /** New value (`false` if new users can see history) */\n new: boolean\n}\n\n/** Group default permissions have been changed */\nexport interface ChatActionDefaultPermissionsChanged {\n type: 'def_perms_changed'\n\n /** Old default permissions */\n old: ChatPermissions\n\n /** New default permissions */\n new: ChatPermissions\n}\n\n/** Poll has been stopped */\nexport interface ChatActionPollStopped {\n type: 'poll_stopped'\n\n /** Message containing the poll */\n message: Message\n}\n\n/** Linked chat has been changed */\nexport interface ChatActionLinkedChatChanged {\n type: 'linked_chat_changed'\n\n /** ID of the old linked chat */\n old: number\n\n /** ID of the new linked chat */\n new: number\n}\n\n/** Group location has been changed */\nexport interface ChatActionLocationChanged {\n type: 'location_changed'\n\n /** Old location */\n old: ChatLocation | null\n\n /** New location */\n new: ChatLocation | null\n}\n\n/** Group slow mode delay has been changed */\nexport interface ChatActionSlowModeChanged {\n type: 'slow_mode_changed'\n\n /** Old delay (can be 0) */\n old: number\n\n /** New delay (can be 0) */\n new: number\n}\n\n/** Group call has been started */\nexport interface ChatActionCallStarted {\n type: 'call_started'\n\n /** TL object representing the call */\n call: tl.TypeInputGroupCall\n}\n\n/** Group call has ended */\nexport interface ChatActionCallEnded {\n type: 'call_ended'\n\n /** TL object representing the call */\n call: tl.TypeInputGroupCall\n}\n\n/** Group call \"join muted\" setting has been changed */\nexport interface ChatActionCallSettingChanged {\n type: 'call_setting_changed'\n\n /** Whether new call participants should join muted */\n joinMuted: boolean\n}\n\n/** Invite link has been deleted */\nexport interface ChatActionInviteLinkDeleted {\n type: 'invite_deleted'\n\n /** Invite link which was deleted */\n link: ChatInviteLink\n}\n\n/** Invite link has been edited */\nexport interface ChatActionInviteLinkEdited {\n type: 'invite_edited'\n\n /** Old invite link */\n old: ChatInviteLink\n\n /** New invite link */\n new: ChatInviteLink\n}\n\n/** Invite link has been revoked */\nexport interface ChatActionInviteLinkRevoked {\n type: 'invite_revoked'\n\n /** Invite link which was revoked */\n link: ChatInviteLink\n}\n\n/** History TTL has been changed */\nexport interface ChatActionTtlChanged {\n type: 'ttl_changed'\n\n /** Old TTL value (can be 0) */\n old: number\n\n /** New TTL value (can be 0) */\n new: number\n}\n\n/** Content protection has been toggled */\nexport interface ChatActionNoForwardsToggled {\n type: 'no_forwards_toggled'\n\n /** New status */\n enabled: boolean\n}\n\n/** Forum has been toggled */\nexport interface ChatActionForumToggled {\n type: 'forum_toggled'\n\n /** New status */\n enabled: boolean\n}\n\n/** Forum topic has been created */\nexport interface ChatActionTopicCreated {\n type: 'topic_created'\n\n /** Topic that has been created */\n topic: ForumTopic\n}\n\n/** Forum topic has been edited */\nexport interface ChatActionTopicEdited {\n type: 'topic_edited'\n\n /** Old topic info */\n old: ForumTopic\n\n /** New topic info */\n new: ForumTopic\n}\n\n/** Forum topic has been edited */\nexport interface ChatActionTopicDeleted {\n type: 'topic_deleted'\n\n /** Old topic info */\n topic: ForumTopic\n}\n\n/** Chat event action (`null` if unsupported) */\nexport type ChatAction =\n | ChatActionUserJoined\n | ChatActionUserLeft\n | ChatActionUserInvited\n | ChatActionTitleChanged\n | ChatActionDescriptionChanged\n | ChatActionUsernameChanged\n | ChatActionUsernamesChanged\n | ChatActionPhotoChanged\n | ChatActionInvitesToggled\n | ChatActionSignaturesToggled\n | ChatActionMessagePinned\n | ChatActionMessageEdited\n | ChatActionMessageDeleted\n | ChatActionUserPermissionsChanged\n | ChatActionUserAdminPermissionsChanged\n | ChatActionStickersetChanged\n | ChatActionHistoryToggled\n | ChatActionDefaultPermissionsChanged\n | ChatActionPollStopped\n | ChatActionLinkedChatChanged\n | ChatActionLocationChanged\n | ChatActionSlowModeChanged\n | ChatActionCallStarted\n | ChatActionCallEnded\n | ChatActionCallSettingChanged\n | ChatActionUserJoinedInvite\n | ChatActionInviteLinkDeleted\n | ChatActionInviteLinkEdited\n | ChatActionInviteLinkRevoked\n | ChatActionUserJoinedApproved\n | ChatActionTtlChanged\n | ChatActionNoForwardsToggled\n | ChatActionForumToggled\n | ChatActionTopicCreated\n | ChatActionTopicEdited\n | ChatActionTopicDeleted\n | null\n\n/** @internal */\nexport function _actionFromTl(e: tl.TypeChannelAdminLogEventAction, peers: PeersIndex): ChatAction {\n // todo - MTQ-72\n // channelAdminLogEventActionSendMessage#278f2868 message:Message = ChannelAdminLogEventAction;\n // channelAdminLogEventActionChangeAvailableReactions#be4e0ef8 prev_value:ChatReactions new_value:ChatReactions\n // channelAdminLogEventActionToggleAntiSpam#64f36dfc new_value:Bool = ChannelAdminLogEventAction;\n\n switch (e._) {\n case 'channelAdminLogEventActionParticipantJoin':\n return { type: 'user_joined' }\n case 'channelAdminLogEventActionChangeTitle':\n return {\n type: 'title_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionChangeAbout':\n return {\n type: 'description_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionChangeUsername':\n return {\n type: 'username_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionChangeUsernames':\n return {\n type: 'usernames_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionChangePhoto':\n return {\n type: 'photo_changed',\n old: new Photo(e.prevPhoto as tl.RawPhoto),\n new: new Photo(e.newPhoto as tl.RawPhoto),\n }\n case 'channelAdminLogEventActionToggleInvites':\n return {\n type: 'invites_toggled',\n old: !e.newValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionToggleSignatures':\n return {\n type: 'signatures_toggled',\n old: !e.newValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionUpdatePinned':\n return {\n type: 'msg_pinned',\n message: new Message(e.message, peers),\n }\n case 'channelAdminLogEventActionEditMessage':\n return {\n type: 'msg_edited',\n old: new Message(e.prevMessage, peers),\n new: new Message(e.newMessage, peers),\n }\n case 'channelAdminLogEventActionDeleteMessage':\n return {\n type: 'msg_deleted',\n message: new Message(e.message, peers),\n }\n case 'channelAdminLogEventActionParticipantLeave':\n return { type: 'user_left' }\n case 'channelAdminLogEventActionParticipantInvite':\n return {\n type: 'user_invited',\n member: new ChatMember(e.participant, peers),\n }\n case 'channelAdminLogEventActionParticipantToggleBan':\n return {\n type: 'user_perms_changed',\n old: new ChatMember(e.prevParticipant, peers),\n new: new ChatMember(e.newParticipant, peers),\n }\n case 'channelAdminLogEventActionParticipantToggleAdmin':\n return {\n type: 'user_admin_perms_changed',\n old: new ChatMember(e.prevParticipant, peers),\n new: new ChatMember(e.newParticipant, peers),\n }\n case 'channelAdminLogEventActionChangeStickerSet':\n return {\n type: 'stickerset_changed',\n old: e.prevStickerset,\n new: e.newStickerset,\n }\n case 'channelAdminLogEventActionTogglePreHistoryHidden':\n return {\n type: 'history_toggled',\n old: !e.newValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionDefaultBannedRights':\n return {\n type: 'def_perms_changed',\n old: new ChatPermissions(e.prevBannedRights),\n new: new ChatPermissions(e.newBannedRights),\n }\n case 'channelAdminLogEventActionStopPoll':\n return {\n type: 'poll_stopped',\n message: new Message(e.message, peers),\n }\n case 'channelAdminLogEventActionChangeLinkedChat':\n return {\n type: 'linked_chat_changed',\n old: toggleChannelIdMark(e.prevValue),\n new: toggleChannelIdMark(e.newValue),\n }\n case 'channelAdminLogEventActionChangeLocation':\n return {\n type: 'location_changed',\n old: e.prevValue._ === 'channelLocationEmpty' ? null : new ChatLocation(e.prevValue),\n new: e.newValue._ === 'channelLocationEmpty' ? null : new ChatLocation(e.newValue),\n }\n case 'channelAdminLogEventActionToggleSlowMode':\n return {\n type: 'slow_mode_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionStartGroupCall':\n return {\n type: 'call_started',\n call: e.call,\n }\n case 'channelAdminLogEventActionDiscardGroupCall':\n return {\n type: 'call_ended',\n call: e.call,\n }\n case 'channelAdminLogEventActionParticipantMute':\n case 'channelAdminLogEventActionParticipantUnmute':\n case 'channelAdminLogEventActionParticipantVolume':\n // todo\n return null\n case 'channelAdminLogEventActionToggleGroupCallSetting':\n return {\n type: 'call_setting_changed',\n joinMuted: e.joinMuted,\n }\n case 'channelAdminLogEventActionParticipantJoinByInvite':\n return {\n type: 'user_joined_invite',\n link: new ChatInviteLink(e.invite, peers),\n }\n case 'channelAdminLogEventActionExportedInviteDelete':\n return {\n type: 'invite_deleted',\n link: new ChatInviteLink(e.invite, peers),\n }\n case 'channelAdminLogEventActionExportedInviteRevoke':\n return {\n type: 'invite_revoked',\n link: new ChatInviteLink(e.invite, peers),\n }\n case 'channelAdminLogEventActionExportedInviteEdit':\n return {\n type: 'invite_edited',\n old: new ChatInviteLink(e.prevInvite, peers),\n new: new ChatInviteLink(e.newInvite, peers),\n }\n case 'channelAdminLogEventActionChangeHistoryTTL':\n return {\n type: 'ttl_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionParticipantJoinByRequest':\n return {\n type: 'user_joined_approved',\n link: new ChatInviteLink(e.invite, peers),\n approvedBy: new User(peers.user(e.approvedBy)),\n }\n // channelAdminLogEventActionCreateTopic#58707d28 topic:ForumTopic = ChannelAdminLogEventAction;\n // channelAdminLogEventActionEditTopic#f06fe208 prev_topic:ForumTopic new_topic:ForumTopic\n // channelAdminLogEventActionDeleteTopic#ae168909 topic:ForumTopic = ChannelAdminLogEventAction;\n case 'channelAdminLogEventActionToggleForum':\n return {\n type: 'forum_toggled',\n enabled: e.newValue,\n }\n case 'channelAdminLogEventActionCreateTopic':\n assertTypeIs('ChannelAdminLogEventActionCreateTopic#topic', e.topic, 'forumTopic')\n\n return {\n type: 'topic_created',\n topic: new ForumTopic(e.topic, peers),\n }\n case 'channelAdminLogEventActionEditTopic':\n assertTypeIs('ChannelAdminLogEventActionCreateTopic#topic', e.prevTopic, 'forumTopic')\n assertTypeIs('ChannelAdminLogEventActionCreateTopic#topic', e.newTopic, 'forumTopic')\n\n return {\n type: 'topic_edited',\n old: new ForumTopic(e.prevTopic, peers),\n new: new ForumTopic(e.newTopic, peers),\n }\n case 'channelAdminLogEventActionDeleteTopic':\n assertTypeIs('ChannelAdminLogEventActionCreateTopic#topic', e.topic, 'forumTopic')\n\n return {\n type: 'topic_deleted',\n topic: new ForumTopic(e.topic, peers),\n }\n case 'channelAdminLogEventActionToggleNoForwards':\n return {\n type: 'no_forwards_toggled',\n enabled: e.newValue,\n }\n // case 'channelAdminLogEventActionPinTopic'\n // ^ looks like it is not used, and pinned topics are not at all presented in the event log\n default:\n return null\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../../../src/highlevel/types/peers/chat-event/actions.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { toggleChannelIdMark } from '../../../../utils/peer-utils.js'\nimport { assertTypeIs } from '../../../../utils/type-assertions.js'\nimport { Photo } from '../../media/photo.js'\nimport { Message } from '../../messages/message.js'\nimport { ChatInviteLink } from '../chat-invite-link.js'\nimport { ChatLocation } from '../chat-location.js'\nimport { ChatMember } from '../chat-member.js'\nimport { ChatPermissions } from '../chat-permissions.js'\nimport { ForumTopic } from '../forum-topic.js'\nimport { PeersIndex } from '../peers-index.js'\nimport { User } from '../user.js'\n\n/** A user has joined the channel (in the case of big groups, info of the user that has joined isn't shown) */\nexport interface ChatActionUserJoined {\n type: 'user_joined'\n}\n\n/** A user has joined the channel using an invite link */\nexport interface ChatActionUserJoinedInvite {\n type: 'user_joined_invite'\n\n /** Invite link user to join */\n link: ChatInviteLink\n}\n\n/** A user has joined the channel using an invite link and was approved by an admin */\nexport interface ChatActionUserJoinedApproved {\n type: 'user_joined_approved'\n\n /** Invite link user to join */\n link: ChatInviteLink\n\n /** User who approved the join */\n approvedBy: User\n}\n\n/** A user has left the channel (in the case of big groups, info of the user that has joined isn't shown) */\nexport interface ChatActionUserLeft {\n type: 'user_left'\n}\n\n/** A user was invited to the channel */\nexport interface ChatActionUserInvited {\n type: 'user_invited'\n\n /** Member who has been invited */\n member: ChatMember\n}\n\n/** Channel title has been changed */\nexport interface ChatActionTitleChanged {\n type: 'title_changed'\n\n /** Old chat title */\n old: string\n\n /** New chat title */\n new: string\n}\n\n/** Channel description has been changed */\nexport interface ChatActionDescriptionChanged {\n type: 'description_changed'\n\n /** Old description */\n old: string\n\n /** New description */\n new: string\n}\n\n/** Channel username has been changed */\nexport interface ChatActionUsernameChanged {\n type: 'username_changed'\n\n /** Old username */\n old: string\n\n /** New username */\n new: string\n}\n\n/** Channel username list has been changed */\nexport interface ChatActionUsernamesChanged {\n type: 'usernames_changed'\n\n /** Old username */\n old: string[]\n\n /** New username */\n new: string[]\n}\n\n/** Channel photo has been changed */\nexport interface ChatActionPhotoChanged {\n type: 'photo_changed'\n\n /** Old photo */\n old: Photo\n\n /** New photo */\n new: Photo\n}\n\n/** Invites were enabled/disabled */\nexport interface ChatActionInvitesToggled {\n type: 'invites_toggled'\n\n /** Old value */\n old: boolean\n\n /** New value */\n new: boolean\n}\n\n/** Signatures were enabled/disabled */\nexport interface ChatActionSignaturesToggled {\n type: 'signatures_toggled'\n\n /** Old value */\n old: boolean\n\n /** New value */\n new: boolean\n}\n\n/** A message has been pinned */\nexport interface ChatActionMessagePinned {\n type: 'msg_pinned'\n\n /** Message which was pinned */\n message: Message\n}\n\n/** A message has been edited */\nexport interface ChatActionMessageEdited {\n type: 'msg_edited'\n\n /** Old message */\n old: Message\n\n /** New message */\n new: Message\n}\n\n/** A message has been deleted */\nexport interface ChatActionMessageDeleted {\n type: 'msg_deleted'\n\n /** Message which was deleted */\n message: Message\n}\n\n/** User's permissions were changed */\nexport interface ChatActionUserPermissionsChanged {\n type: 'user_perms_changed'\n\n /** Information about member before change */\n old: ChatMember\n\n /** Information about member after change */\n new: ChatMember\n}\n\n/** User's admin permissions were changed */\nexport interface ChatActionUserAdminPermissionsChanged {\n type: 'user_admin_perms_changed'\n\n /** Information about member before change */\n old: ChatMember\n\n /** Information about member after change */\n new: ChatMember\n}\n\n/** Group stickerset has been changed */\nexport interface ChatActionStickersetChanged {\n type: 'stickerset_changed'\n\n /** Old stickerset */\n old: tl.TypeInputStickerSet\n\n /** New stickerset */\n new: tl.TypeInputStickerSet\n}\n\n/** History visibility for new users has been toggled */\nexport interface ChatActionHistoryToggled {\n type: 'history_toggled'\n\n /** Old value (`false` if new users can see history) */\n old: boolean\n\n /** New value (`false` if new users can see history) */\n new: boolean\n}\n\n/** Group default permissions have been changed */\nexport interface ChatActionDefaultPermissionsChanged {\n type: 'def_perms_changed'\n\n /** Old default permissions */\n old: ChatPermissions\n\n /** New default permissions */\n new: ChatPermissions\n}\n\n/** Poll has been stopped */\nexport interface ChatActionPollStopped {\n type: 'poll_stopped'\n\n /** Message containing the poll */\n message: Message\n}\n\n/** Linked chat has been changed */\nexport interface ChatActionLinkedChatChanged {\n type: 'linked_chat_changed'\n\n /** ID of the old linked chat */\n old: number\n\n /** ID of the new linked chat */\n new: number\n}\n\n/** Group location has been changed */\nexport interface ChatActionLocationChanged {\n type: 'location_changed'\n\n /** Old location */\n old: ChatLocation | null\n\n /** New location */\n new: ChatLocation | null\n}\n\n/** Group slow mode delay has been changed */\nexport interface ChatActionSlowModeChanged {\n type: 'slow_mode_changed'\n\n /** Old delay (can be 0) */\n old: number\n\n /** New delay (can be 0) */\n new: number\n}\n\n/** Group call has been started */\nexport interface ChatActionCallStarted {\n type: 'call_started'\n\n /** TL object representing the call */\n call: tl.TypeInputGroupCall\n}\n\n/** Group call has ended */\nexport interface ChatActionCallEnded {\n type: 'call_ended'\n\n /** TL object representing the call */\n call: tl.TypeInputGroupCall\n}\n\n/** Group call \"join muted\" setting has been changed */\nexport interface ChatActionCallSettingChanged {\n type: 'call_setting_changed'\n\n /** Whether new call participants should join muted */\n joinMuted: boolean\n}\n\n/** Invite link has been deleted */\nexport interface ChatActionInviteLinkDeleted {\n type: 'invite_deleted'\n\n /** Invite link which was deleted */\n link: ChatInviteLink\n}\n\n/** Invite link has been edited */\nexport interface ChatActionInviteLinkEdited {\n type: 'invite_edited'\n\n /** Old invite link */\n old: ChatInviteLink\n\n /** New invite link */\n new: ChatInviteLink\n}\n\n/** Invite link has been revoked */\nexport interface ChatActionInviteLinkRevoked {\n type: 'invite_revoked'\n\n /** Invite link which was revoked */\n link: ChatInviteLink\n}\n\n/** History TTL has been changed */\nexport interface ChatActionTtlChanged {\n type: 'ttl_changed'\n\n /** Old TTL value (can be 0) */\n old: number\n\n /** New TTL value (can be 0) */\n new: number\n}\n\n/** Content protection has been toggled */\nexport interface ChatActionNoForwardsToggled {\n type: 'no_forwards_toggled'\n\n /** New status */\n enabled: boolean\n}\n\n/** Forum has been toggled */\nexport interface ChatActionForumToggled {\n type: 'forum_toggled'\n\n /** New status */\n enabled: boolean\n}\n\n/** Forum topic has been created */\nexport interface ChatActionTopicCreated {\n type: 'topic_created'\n\n /** Topic that has been created */\n topic: ForumTopic\n}\n\n/** Forum topic has been edited */\nexport interface ChatActionTopicEdited {\n type: 'topic_edited'\n\n /** Old topic info */\n old: ForumTopic\n\n /** New topic info */\n new: ForumTopic\n}\n\n/** Forum topic has been edited */\nexport interface ChatActionTopicDeleted {\n type: 'topic_deleted'\n\n /** Old topic info */\n topic: ForumTopic\n}\n\n/** Chat event action (`null` if unsupported) */\nexport type ChatAction =\n | ChatActionUserJoined\n | ChatActionUserLeft\n | ChatActionUserInvited\n | ChatActionTitleChanged\n | ChatActionDescriptionChanged\n | ChatActionUsernameChanged\n | ChatActionUsernamesChanged\n | ChatActionPhotoChanged\n | ChatActionInvitesToggled\n | ChatActionSignaturesToggled\n | ChatActionMessagePinned\n | ChatActionMessageEdited\n | ChatActionMessageDeleted\n | ChatActionUserPermissionsChanged\n | ChatActionUserAdminPermissionsChanged\n | ChatActionStickersetChanged\n | ChatActionHistoryToggled\n | ChatActionDefaultPermissionsChanged\n | ChatActionPollStopped\n | ChatActionLinkedChatChanged\n | ChatActionLocationChanged\n | ChatActionSlowModeChanged\n | ChatActionCallStarted\n | ChatActionCallEnded\n | ChatActionCallSettingChanged\n | ChatActionUserJoinedInvite\n | ChatActionInviteLinkDeleted\n | ChatActionInviteLinkEdited\n | ChatActionInviteLinkRevoked\n | ChatActionUserJoinedApproved\n | ChatActionTtlChanged\n | ChatActionNoForwardsToggled\n | ChatActionForumToggled\n | ChatActionTopicCreated\n | ChatActionTopicEdited\n | ChatActionTopicDeleted\n | null\n\n/** @internal */\nexport function _actionFromTl(e: tl.TypeChannelAdminLogEventAction, peers: PeersIndex): ChatAction {\n // todo - MTQ-72\n // channelAdminLogEventActionSendMessage#278f2868 message:Message = ChannelAdminLogEventAction;\n // channelAdminLogEventActionChangeAvailableReactions#be4e0ef8 prev_value:ChatReactions new_value:ChatReactions\n // channelAdminLogEventActionToggleAntiSpam#64f36dfc new_value:Bool = ChannelAdminLogEventAction;\n\n switch (e._) {\n case 'channelAdminLogEventActionParticipantJoin':\n return { type: 'user_joined' }\n case 'channelAdminLogEventActionChangeTitle':\n return {\n type: 'title_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionChangeAbout':\n return {\n type: 'description_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionChangeUsername':\n return {\n type: 'username_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionChangeUsernames':\n return {\n type: 'usernames_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionChangePhoto':\n return {\n type: 'photo_changed',\n old: new Photo(e.prevPhoto as tl.RawPhoto),\n new: new Photo(e.newPhoto as tl.RawPhoto),\n }\n case 'channelAdminLogEventActionToggleInvites':\n return {\n type: 'invites_toggled',\n old: !e.newValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionToggleSignatures':\n return {\n type: 'signatures_toggled',\n old: !e.newValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionUpdatePinned':\n return {\n type: 'msg_pinned',\n message: new Message(e.message, peers),\n }\n case 'channelAdminLogEventActionEditMessage':\n return {\n type: 'msg_edited',\n old: new Message(e.prevMessage, peers),\n new: new Message(e.newMessage, peers),\n }\n case 'channelAdminLogEventActionDeleteMessage':\n return {\n type: 'msg_deleted',\n message: new Message(e.message, peers),\n }\n case 'channelAdminLogEventActionParticipantLeave':\n return { type: 'user_left' }\n case 'channelAdminLogEventActionParticipantInvite':\n return {\n type: 'user_invited',\n member: new ChatMember(e.participant, peers),\n }\n case 'channelAdminLogEventActionParticipantToggleBan':\n return {\n type: 'user_perms_changed',\n old: new ChatMember(e.prevParticipant, peers),\n new: new ChatMember(e.newParticipant, peers),\n }\n case 'channelAdminLogEventActionParticipantToggleAdmin':\n return {\n type: 'user_admin_perms_changed',\n old: new ChatMember(e.prevParticipant, peers),\n new: new ChatMember(e.newParticipant, peers),\n }\n case 'channelAdminLogEventActionChangeStickerSet':\n return {\n type: 'stickerset_changed',\n old: e.prevStickerset,\n new: e.newStickerset,\n }\n case 'channelAdminLogEventActionTogglePreHistoryHidden':\n return {\n type: 'history_toggled',\n old: !e.newValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionDefaultBannedRights':\n return {\n type: 'def_perms_changed',\n old: new ChatPermissions(e.prevBannedRights),\n new: new ChatPermissions(e.newBannedRights),\n }\n case 'channelAdminLogEventActionStopPoll':\n return {\n type: 'poll_stopped',\n message: new Message(e.message, peers),\n }\n case 'channelAdminLogEventActionChangeLinkedChat':\n return {\n type: 'linked_chat_changed',\n old: toggleChannelIdMark(e.prevValue),\n new: toggleChannelIdMark(e.newValue),\n }\n case 'channelAdminLogEventActionChangeLocation':\n return {\n type: 'location_changed',\n old: e.prevValue._ === 'channelLocationEmpty' ? null : new ChatLocation(e.prevValue),\n new: e.newValue._ === 'channelLocationEmpty' ? null : new ChatLocation(e.newValue),\n }\n case 'channelAdminLogEventActionToggleSlowMode':\n return {\n type: 'slow_mode_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionStartGroupCall':\n return {\n type: 'call_started',\n call: e.call,\n }\n case 'channelAdminLogEventActionDiscardGroupCall':\n return {\n type: 'call_ended',\n call: e.call,\n }\n case 'channelAdminLogEventActionParticipantMute':\n case 'channelAdminLogEventActionParticipantUnmute':\n case 'channelAdminLogEventActionParticipantVolume':\n // todo\n return null\n case 'channelAdminLogEventActionToggleGroupCallSetting':\n return {\n type: 'call_setting_changed',\n joinMuted: e.joinMuted,\n }\n case 'channelAdminLogEventActionParticipantJoinByInvite':\n return {\n type: 'user_joined_invite',\n link: new ChatInviteLink(e.invite, peers),\n }\n case 'channelAdminLogEventActionExportedInviteDelete':\n return {\n type: 'invite_deleted',\n link: new ChatInviteLink(e.invite, peers),\n }\n case 'channelAdminLogEventActionExportedInviteRevoke':\n return {\n type: 'invite_revoked',\n link: new ChatInviteLink(e.invite, peers),\n }\n case 'channelAdminLogEventActionExportedInviteEdit':\n return {\n type: 'invite_edited',\n old: new ChatInviteLink(e.prevInvite, peers),\n new: new ChatInviteLink(e.newInvite, peers),\n }\n case 'channelAdminLogEventActionChangeHistoryTTL':\n return {\n type: 'ttl_changed',\n old: e.prevValue,\n new: e.newValue,\n }\n case 'channelAdminLogEventActionParticipantJoinByRequest':\n return {\n type: 'user_joined_approved',\n link: new ChatInviteLink(e.invite, peers),\n approvedBy: new User(peers.user(e.approvedBy)),\n }\n // channelAdminLogEventActionCreateTopic#58707d28 topic:ForumTopic = ChannelAdminLogEventAction;\n // channelAdminLogEventActionEditTopic#f06fe208 prev_topic:ForumTopic new_topic:ForumTopic\n // channelAdminLogEventActionDeleteTopic#ae168909 topic:ForumTopic = ChannelAdminLogEventAction;\n case 'channelAdminLogEventActionToggleForum':\n return {\n type: 'forum_toggled',\n enabled: e.newValue,\n }\n case 'channelAdminLogEventActionCreateTopic':\n assertTypeIs('ChannelAdminLogEventActionCreateTopic#topic', e.topic, 'forumTopic')\n\n return {\n type: 'topic_created',\n topic: new ForumTopic(e.topic, peers),\n }\n case 'channelAdminLogEventActionEditTopic':\n assertTypeIs('ChannelAdminLogEventActionCreateTopic#topic', e.prevTopic, 'forumTopic')\n assertTypeIs('ChannelAdminLogEventActionCreateTopic#topic', e.newTopic, 'forumTopic')\n\n return {\n type: 'topic_edited',\n old: new ForumTopic(e.prevTopic, peers),\n new: new ForumTopic(e.newTopic, peers),\n }\n case 'channelAdminLogEventActionDeleteTopic':\n assertTypeIs('ChannelAdminLogEventActionCreateTopic#topic', e.topic, 'forumTopic')\n\n return {\n type: 'topic_deleted',\n topic: new ForumTopic(e.topic, peers),\n }\n case 'channelAdminLogEventActionToggleNoForwards':\n return {\n type: 'no_forwards_toggled',\n enabled: e.newValue,\n }\n // case 'channelAdminLogEventActionPinTopic'\n // ^ looks like it is not used, and pinned topics are not at all presented in the event log\n default:\n return null\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../src/highlevel/types/peers/chat-event/filters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAc,MAAM,4BAA4B,CAAA;AAcpE,gBAAgB;AAChB,MAAM,UAAU,yBAAyB,CAAC,KAA4B;IAClE,IAAI,CAAC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../src/highlevel/types/peers/chat-event/filters.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertNever, MaybeArray } from '../../../../types/utils.js'\nimport { ChatAction } from './actions.js'\n\nexport interface ChatEventFilters {\n serverFilter?: tl.TypeChannelAdminLogEventsFilter\n localFilter?: Record<string, true>\n}\n\nexport type InputChatEventFilters =\n | ChatEventFilters\n | tl.TypeChannelAdminLogEventsFilter\n | MaybeArray<Exclude<ChatAction, null>['type']>\n | undefined\n\n/** @internal */\nexport function normalizeChatEventFilters(input: InputChatEventFilters): ChatEventFilters {\n if (!input) {\n return {}\n }\n\n if (typeof input === 'string' || Array.isArray(input)) {\n if (!Array.isArray(input)) input = [input]\n\n const serverFilter: tl.Mutable<tl.TypeChannelAdminLogEventsFilter> = {\n _: 'channelAdminLogEventsFilter',\n }\n const localFilter: Record<string, true> = {}\n\n input.forEach((type) => {\n localFilter[type] = true\n\n switch (type) {\n case 'user_joined':\n case 'user_joined_invite':\n case 'user_joined_approved':\n serverFilter.join = true\n break\n case 'user_left':\n serverFilter.leave = true\n break\n case 'user_invited':\n serverFilter.invite = true\n break\n case 'title_changed':\n case 'description_changed':\n case 'linked_chat_changed':\n case 'location_changed':\n case 'photo_changed':\n case 'username_changed':\n case 'usernames_changed':\n case 'stickerset_changed':\n case 'slow_mode_changed':\n case 'ttl_changed':\n serverFilter.info = true\n break\n case 'invites_toggled':\n case 'history_toggled':\n case 'signatures_toggled':\n case 'def_perms_changed':\n case 'forum_toggled':\n case 'no_forwards_toggled':\n serverFilter.settings = true\n break\n case 'msg_pinned':\n serverFilter.pinned = true\n break\n case 'msg_edited':\n case 'poll_stopped':\n serverFilter.edit = true\n break\n case 'msg_deleted':\n serverFilter.delete = true\n break\n case 'user_perms_changed':\n serverFilter.ban = true\n serverFilter.unban = true\n serverFilter.kick = true\n serverFilter.unkick = true\n break\n case 'user_admin_perms_changed':\n serverFilter.promote = true\n serverFilter.demote = true\n break\n case 'call_started':\n case 'call_ended':\n serverFilter.groupCall = true\n break\n case 'call_setting_changed':\n // not documented so idk, enable all\n serverFilter.groupCall = true\n serverFilter.settings = true\n serverFilter.info = true\n break\n case 'invite_deleted':\n case 'invite_edited':\n case 'invite_revoked':\n serverFilter.invites = true\n break\n case 'topic_created':\n case 'topic_edited':\n case 'topic_deleted':\n serverFilter.forums = true\n break\n default:\n assertNever(type)\n }\n })\n\n return {\n serverFilter,\n localFilter,\n }\n }\n\n if ('_' in input) {\n return {\n serverFilter: input,\n }\n }\n\n return input\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/highlevel/types/peers/chat-event/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,aAAa,EAAc,MAAM,cAAc,CAAA;AAExD,cAAc,cAAc,CAAA;AAG5B,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/highlevel/types/peers/chat-event/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,aAAa,EAAc,MAAM,cAAc,CAAA;AAExD,cAAc,cAAc,CAAA;AAG5B,MAAM,OAAO,SAAS;IAEL;IACA;IAFb,YACa,GAAgC,EAChC,MAAkB;QADlB,QAAG,GAAH,GAAG,CAA6B;QAChC,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;;;;OAKG;IACH,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACzC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,MAAM;QACN,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;CACJ;AAED,cAAc,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC9C,eAAe,CAAC,SAAS,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../../utils/index.js'\nimport { memoizeGetters } from '../../../utils/memoize.js'\nimport { PeersIndex } from '../peers-index.js'\nimport { User } from '../user.js'\nimport { _actionFromTl, ChatAction } from './actions.js'\n\nexport * from './actions.js'\nexport type { ChatEventFilters, InputChatEventFilters } from './filters.js'\n\nexport class ChatEvent {\n constructor(\n readonly raw: tl.TypeChannelAdminLogEvent,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Event ID.\n *\n * Event IDs are generated in direct chronological order\n * (i.e. newer events have bigger event ID)\n */\n get id(): tl.Long {\n return this.raw.id\n }\n\n /**\n * Date of the event\n */\n get date(): Date {\n return new Date(this.raw.date * 1000)\n }\n\n /**\n * Actor of the event\n */\n get actor(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n get action(): ChatAction {\n return _actionFromTl(this.raw.action, this._peers)\n }\n}\n\nmemoizeGetters(ChatEvent, ['actor', 'action'])\nmakeInspectable(ChatEvent)\n"]}
|
|
@@ -2,6 +2,8 @@ import { makeInspectable } from '../../utils/index.js';
|
|
|
2
2
|
import { memoizeGetters } from '../../utils/memoize.js';
|
|
3
3
|
import { User } from './user.js';
|
|
4
4
|
class ChatInviteLinkMember {
|
|
5
|
+
raw;
|
|
6
|
+
_peers;
|
|
5
7
|
constructor(raw, _peers) {
|
|
6
8
|
this.raw = raw;
|
|
7
9
|
this._peers = _peers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-invite-link-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-invite-link-member.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,OAAO,oBAAoB;
|
|
1
|
+
{"version":3,"file":"chat-invite-link-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-invite-link-member.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,OAAO,oBAAoB;IAEhB;IACA;IAFb,YACa,GAA6B,EAC7B,MAAkB;QADlB,QAAG,GAAH,GAAG,CAA0B;QAC7B,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACzC,CAAC;IAED;;;OAGG;IACH,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,SAAU,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,SAAU,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAErC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;IAC1D,CAAC;CACJ;AAED,cAAc,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;AAC5D,eAAe,CAAC,oBAAoB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { PeersIndex } from './peers-index.js'\nimport { User } from './user.js'\n\nexport class ChatInviteLinkMember {\n constructor(\n readonly raw: tl.RawChatInviteImporter,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * User who joined the chat\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /**\n * Date when the user joined the chat\n */\n get date(): Date {\n return new Date(this.raw.date * 1000)\n }\n\n /**\n * Whether this user currently has a pending join request\n * (and is actually not a member yet)\n */\n get isPendingRequest(): boolean {\n return this.raw.requested!\n }\n\n /**\n * Whether the participant joined by importing a chat folder deep link\n */\n get isViaChatlist(): boolean {\n return this.raw.requested!\n }\n\n /**\n * For users with pending requests, contains bio of the user that requested to join\n */\n get bio(): string | null {\n return this.raw.about ?? null\n }\n\n /**\n * The administrator that approved the join request of the user\n */\n get approvedBy(): User | null {\n if (!this.raw.approvedBy) return null\n\n return new User(this._peers.user(this.raw.approvedBy))\n }\n}\n\nmemoizeGetters(ChatInviteLinkMember, ['user', 'approvedBy'])\nmakeInspectable(ChatInviteLinkMember)\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-invite-link.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-invite-link.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC;;GAEG;AACH,MAAM,OAAO,cAAc;
|
|
1
|
+
{"version":3,"file":"chat-invite-link.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-invite-link.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC;;GAEG;AACH,MAAM,OAAO,cAAc;IAKV;IAJJ,GAAG,CAA0B;IAEtC,YACI,GAA8B,EACrB,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QAE5B,eAAe,CAAC,gBAAgB,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;QAEtE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjE,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAE7B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IACvD,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACzC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAU,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,OAAQ,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1E,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5E,CAAC;IAED;;;;;OAKG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;;OAGG;IACH,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,aAAc,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAA;IAClC,CAAC;CACJ;AAED,cAAc,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AAC3C,eAAe,CAAC,cAAc,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { PeersIndex } from './index.js'\nimport { User } from './user.js'\n\n/**\n * An invite link\n */\nexport class ChatInviteLink {\n readonly raw: tl.RawChatInviteExported\n\n constructor(\n raw: tl.TypeExportedChatInvite,\n readonly _peers?: PeersIndex,\n ) {\n assertTypeIsNot('ChatInviteLink', raw, 'chatInvitePublicJoinRequests')\n\n this.raw = raw\n }\n\n /**\n * The invite link as a `t.me/joinchat/` string.\n *\n * If the link was created by another administrator, the second\n * part of the link will be censored with `...` (e.g. `https://t.me/joinchat/BGxxHIg4...`\n *\n * See also: {@link isMyLink}\n */\n get link(): string {\n return this.raw.link\n }\n\n /**\n * Whether this invite link was created by the current user.\n *\n * If so, {@link link} will be a full invite link.\n */\n get isMyLink(): boolean {\n return this.creator?.isSelf ?? !this.raw.link.endsWith('...')\n }\n\n /**\n * Creator of the invite link, if available\n */\n get creator(): User | null {\n if (!this._peers) return null\n\n return new User(this._peers.user(this.raw.adminId))\n }\n\n /**\n * Creation date of the link\n */\n get date(): Date {\n return new Date(this.raw.date * 1000)\n }\n\n /**\n * Whether this link is primary (i.e. \"permanent\")\n */\n get isPrimary(): boolean {\n return this.raw.permanent!\n }\n\n /**\n * Whether this link was revoked and can't be used anymore\n */\n get isRevoked(): boolean {\n return this.raw.revoked!\n }\n\n /**\n * The date since which the link will be valid (if any)\n */\n get startDate(): Date | null {\n return this.raw.startDate ? new Date(this.raw.startDate * 1000) : null\n }\n\n /**\n * The date until which the link will be valid (if any)\n */\n get endDate(): Date | null {\n return this.raw.expireDate ? new Date(this.raw.expireDate * 1000) : null\n }\n\n /**\n * Maximum number of users that can be members of this chat\n * at the same time after joining using this link.\n *\n * Integer in range `[1, 99999]` or `Infinity` if unspecified\n */\n get usageLimit(): number {\n return this.raw.usageLimit ?? Infinity\n }\n\n /**\n * Number of users currently in the chat that joined using this link\n */\n get usage(): number {\n return this.raw.usage ?? 0\n }\n\n /**\n * Whether users joined by this link need to be\n * approved by the group administrator before they can join\n */\n get approvalNeeded(): boolean {\n return this.raw.requestNeeded!\n }\n\n /**\n * Number of users currently awaiting admin approval.\n *\n * 0 in case the link is not using approvals\n */\n get pendingApprovals(): number {\n return this.raw.requested ?? 0\n }\n}\n\nmemoizeGetters(ChatInviteLink, ['creator'])\nmakeInspectable(ChatInviteLink)\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-location.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-location.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C;;GAEG;AACH,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"chat-location.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-location.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C;;GAEG;AACH,MAAM,OAAO,YAAY;IACA;IAArB,YAAqB,GAA0B;QAA1B,QAAG,GAAH,GAAG,CAAuB;IAAG,CAAC;IAEnD;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAA0B,CAAC,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;CACJ;AAED,cAAc,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1C,eAAe,CAAC,YAAY,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Location } from '../media/location.js'\n\n/**\n * Geolocation of a supergroup\n */\nexport class ChatLocation {\n constructor(readonly raw: tl.RawChannelLocation) {}\n\n /**\n * Location of the chat\n */\n get location(): Location {\n return new Location(this.raw.geoPoint as tl.RawGeoPoint)\n }\n\n /**\n * Textual description of the address\n */\n get address(): string {\n return this.raw.address\n }\n}\n\nmemoizeGetters(ChatLocation, ['location'])\nmakeInspectable(ChatLocation)\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-member.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAahC;;GAEG;AACH,MAAM,OAAO,UAAU;
|
|
1
|
+
{"version":3,"file":"chat-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-member.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { ChatPermissions } from './chat-permissions.js'\nimport { PeersIndex } from './index.js'\nimport { User } from './user.js'\n\n/**\n * Status of the member:\n * - `creator`: user is the creator of the chat\n * - `admin`: user has admin rights in the chat\n * - `member`: user is a normal member of the chat\n * - `restricted`: user has some restrictions applied\n * - `banned`: user was banned from the chat\n * - `left`: user left the chat on their own\n */\nexport type ChatMemberStatus = 'creator' | 'admin' | 'member' | 'restricted' | 'banned' | 'left'\n\n/**\n * Information about one chat member\n */\nexport class ChatMember {\n constructor(\n readonly raw: tl.TypeChatParticipant | tl.TypeChannelParticipant,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Information about the user\n */\n get user(): User {\n switch (this.raw._) {\n case 'channelParticipantBanned':\n case 'channelParticipantLeft':\n assertTypeIs('ChatMember#user (raw.peer)', this.raw.peer, 'peerUser')\n\n return new User(this._peers.user(this.raw.peer.userId))\n break\n default:\n return new User(this._peers.user(this.raw.userId))\n break\n }\n }\n\n /**\n * Get the chat member status\n */\n get status(): ChatMemberStatus {\n switch (this.raw._) {\n case 'channelParticipant':\n case 'channelParticipantSelf':\n case 'chatParticipant':\n return 'member'\n case 'channelParticipantCreator':\n case 'chatParticipantCreator':\n return 'creator'\n case 'channelParticipantAdmin':\n case 'chatParticipantAdmin':\n return 'admin'\n case 'channelParticipantLeft':\n return 'left'\n case 'channelParticipantBanned':\n return this.raw.bannedRights.viewMessages ? 'banned' : 'restricted'\n }\n }\n\n /**\n * Custom title (for creators and admins).\n *\n * `null` for non-admins and in case custom title is not set.\n */\n get title(): string | null {\n switch (this.raw._) {\n case 'channelParticipantCreator':\n case 'channelParticipantAdmin':\n return this.raw.rank ?? null\n default:\n return null\n }\n }\n\n /**\n * Date when the user has joined the chat.\n *\n * Not available for creators and left members\n */\n get joinedDate(): Date | null {\n switch (this.raw._) {\n case 'channelParticipantCreator':\n case 'chatParticipantCreator':\n case 'channelParticipantLeft':\n return null\n default:\n return new Date(this.raw.date * 1000)\n }\n }\n\n /**\n * Information about whoever invited this member to the chat.\n *\n * Only available in the following cases:\n * - `user` is yourself\n * - `chat` is a legacy group\n * - `chat` is a supergroup/channel, and `user` is an admin\n */\n get invitedBy(): User | null {\n if ('inviterId' in this.raw && this.raw.inviterId) {\n return new User(this._peers.user(this.raw.inviterId))\n }\n\n return null\n }\n\n /**\n * Information about whoever promoted this admin.\n *\n * Only available if `status = admin`.\n */\n get promotedBy(): User | null {\n if (this.raw._ === 'channelParticipantAdmin') {\n return new User(this._peers.user(this.raw.promotedBy))\n }\n\n return null\n }\n\n /**\n * Information about whoever restricted this user.\n *\n * Only available if `status = restricted or status = banned`\n */\n get restrictedBy(): User | null {\n if (this.raw._ === 'channelParticipantBanned') {\n return new User(this._peers.user(this.raw.kickedBy))\n }\n\n return null\n }\n\n /**\n * For restricted and banned users,\n * information about the restrictions\n */\n get restrictions(): ChatPermissions | null {\n if (this.raw._ !== 'channelParticipantBanned') return null\n\n return new ChatPermissions(this.raw.bannedRights)\n }\n\n /**\n * Whether this member is a part of the chat now.\n *\n * Makes sense only when `status = restricted or staus = banned`\n */\n get isMember(): boolean {\n return this.raw._ === 'channelParticipantBanned' ? !this.raw.left : this.raw._ !== 'channelParticipantLeft'\n }\n\n /**\n * For admins and creator of supergroup/channels,\n * list of their admin permissions.\n *\n * Also contains whether this admin is anonymous.\n */\n get permissions(): tl.RawChatAdminRights | null {\n switch (this.raw._) {\n case 'channelParticipantAdmin':\n case 'channelParticipantCreator':\n return this.raw.adminRights\n default:\n return null\n }\n }\n}\n\nmemoizeGetters(ChatMember, ['user', 'invitedBy', 'promotedBy', 'restrictedBy', 'restrictions'])\nmakeInspectable(ChatMember)\n"]}
|