@mtcute/core 0.11.0 → 0.12.1
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/client.d.ts +198 -18
- package/cjs/highlevel/client.js +53 -0
- package/cjs/highlevel/client.js.map +1 -1
- package/cjs/highlevel/methods/_imports.js.map +1 -1
- package/cjs/highlevel/methods/auth/utils.d.ts +3 -0
- package/cjs/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
- package/cjs/highlevel/methods/chats/batched-queries.d.ts +10 -1
- package/cjs/highlevel/methods/chats/get-full-chat.d.ts +2 -2
- package/cjs/highlevel/methods/chats/get-full-chat.js +1 -1
- package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/get-folders.d.ts +3 -0
- package/cjs/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
- package/cjs/highlevel/methods/files/normalize-input-media.d.ts +1 -0
- package/cjs/highlevel/methods/files/normalize-input-media.js +11 -10
- package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
- package/cjs/highlevel/methods/messages/_business-connection.d.ts +7 -0
- package/cjs/highlevel/methods/messages/_business-connection.js +42 -0
- package/cjs/highlevel/methods/messages/_business-connection.js.map +1 -0
- package/cjs/highlevel/methods/messages/close-poll.js +1 -1
- package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
- package/cjs/highlevel/methods/messages/edit-message.d.ts +1 -0
- package/cjs/highlevel/methods/messages/edit-message.js +2 -1
- package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
- package/cjs/highlevel/methods/messages/find-in-update.d.ts +13 -1
- package/cjs/highlevel/methods/messages/find-in-update.js +7 -2
- package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/cjs/highlevel/methods/messages/forward-messages.d.ts +5 -0
- package/cjs/highlevel/methods/messages/forward-messages.js +2 -0
- package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
- package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js +32 -0
- package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
- package/cjs/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
- package/cjs/highlevel/methods/messages/iter-search-global.js +2 -1
- package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
- package/cjs/highlevel/methods/messages/search-global.d.ts +4 -0
- package/cjs/highlevel/methods/messages/search-global.js +2 -1
- package/cjs/highlevel/methods/messages/search-global.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-common.d.ts +28 -0
- package/cjs/highlevel/methods/messages/send-common.js +21 -1
- package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media-group.js +5 -2
- package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media.js +4 -2
- package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-text.js +4 -2
- package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-typing.d.ts +4 -0
- package/cjs/highlevel/methods/messages/send-typing.js +2 -1
- package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
- package/cjs/highlevel/methods/misc/chain-id.d.ts +4 -1
- package/cjs/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
- package/cjs/highlevel/methods/misc/get-collectible-info.js +26 -0
- package/cjs/highlevel/methods/misc/get-collectible-info.js.map +1 -0
- package/cjs/highlevel/methods/misc/normalize-text.d.ts +5 -1
- package/cjs/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
- package/cjs/highlevel/methods/premium/create-business-chat-link.js +26 -0
- package/cjs/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
- package/cjs/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
- package/cjs/highlevel/methods/premium/edit-business-chat-link.js +42 -0
- package/cjs/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
- package/cjs/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
- package/cjs/highlevel/methods/premium/get-business-chat-links.js +14 -0
- package/cjs/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
- package/cjs/highlevel/methods/premium/get-business-connection.d.ts +8 -0
- package/cjs/highlevel/methods/premium/get-business-connection.js +25 -0
- package/cjs/highlevel/methods/premium/get-business-connection.js.map +1 -0
- package/cjs/highlevel/methods/premium/set-business-intro.d.ts +22 -0
- package/cjs/highlevel/methods/premium/set-business-intro.js +42 -0
- package/cjs/highlevel/methods/premium/set-business-intro.js.map +1 -0
- package/cjs/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
- package/cjs/highlevel/methods/premium/set-business-work-hours.js +33 -0
- package/cjs/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
- package/cjs/highlevel/methods/stickers/_utils.d.ts +10 -0
- package/cjs/highlevel/methods/stickers/_utils.js +27 -0
- package/cjs/highlevel/methods/stickers/_utils.js.map +1 -0
- package/cjs/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
- package/cjs/highlevel/methods/stickers/add-sticker-to-set.js +3 -17
- package/cjs/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
- package/cjs/highlevel/methods/stickers/create-sticker-set.js +2 -19
- package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
- package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
- package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
- package/cjs/highlevel/methods/stickers/get-installed-stickers.js +1 -2
- package/cjs/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
- package/cjs/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
- package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js +24 -0
- package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
- package/cjs/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
- package/cjs/highlevel/methods/stickers/get-sticker-set.js +2 -2
- package/cjs/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
- package/cjs/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
- package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
- package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js +32 -0
- package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
- package/cjs/highlevel/methods/stories/find-in-update.d.ts +5 -1
- package/cjs/highlevel/methods/users/set-my-birthday.d.ts +12 -0
- package/cjs/highlevel/methods/users/set-my-birthday.js +22 -0
- package/cjs/highlevel/methods/users/set-my-birthday.js.map +1 -0
- package/cjs/highlevel/methods.d.ts +12 -0
- package/cjs/highlevel/methods.js +33 -3
- package/cjs/highlevel/methods.js.map +1 -1
- package/cjs/highlevel/storage/storage.d.ts +7 -2
- package/cjs/highlevel/types/auth/sent-code.d.ts +7 -2
- package/cjs/highlevel/types/auth/sent-code.js +14 -0
- package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
- package/cjs/highlevel/types/bots/inline-message/factories.d.ts +5 -1
- package/cjs/highlevel/types/bots/inline-result/factories.d.ts +4 -1
- package/cjs/highlevel/types/bots/keyboards/factories.d.ts +7 -1
- package/cjs/highlevel/types/calls/discard-reason.d.ts +5 -0
- package/cjs/highlevel/types/files/uploaded-file.d.ts +2 -0
- package/cjs/highlevel/types/files/utils.d.ts +6 -5
- package/cjs/highlevel/types/files/utils.js.map +1 -1
- package/cjs/highlevel/types/media/document-utils.d.ts +5 -0
- package/cjs/highlevel/types/media/document-utils.js +9 -2
- package/cjs/highlevel/types/media/document-utils.js.map +1 -1
- package/cjs/highlevel/types/media/input-media/types.d.ts +2 -2
- package/cjs/highlevel/types/media/input-media/types.js.map +1 -1
- package/cjs/highlevel/types/media/poll.d.ts +17 -6
- package/cjs/highlevel/types/media/poll.js +65 -18
- package/cjs/highlevel/types/media/poll.js.map +1 -1
- package/cjs/highlevel/types/messages/dialog.js +1 -12
- package/cjs/highlevel/types/messages/dialog.js.map +1 -1
- package/cjs/highlevel/types/messages/input-message-id.d.ts +5 -0
- package/cjs/highlevel/types/messages/message-action.d.ts +19 -2
- package/cjs/highlevel/types/messages/message-action.js +6 -0
- package/cjs/highlevel/types/messages/message-action.js.map +1 -1
- package/cjs/highlevel/types/messages/message-media.d.ts +4 -0
- package/cjs/highlevel/types/messages/message.d.ts +59 -1
- package/cjs/highlevel/types/messages/message.js +96 -1
- package/cjs/highlevel/types/messages/message.js.map +1 -1
- package/cjs/highlevel/types/misc/collectible-info.d.ts +27 -0
- package/cjs/highlevel/types/misc/collectible-info.js +46 -0
- package/cjs/highlevel/types/misc/collectible-info.js.map +1 -0
- package/cjs/highlevel/types/misc/entities.d.ts +7 -0
- package/cjs/highlevel/types/misc/entities.js +15 -0
- package/cjs/highlevel/types/misc/entities.js.map +1 -1
- package/cjs/highlevel/types/misc/index.d.ts +1 -0
- package/cjs/highlevel/types/misc/index.js +1 -0
- package/cjs/highlevel/types/misc/index.js.map +1 -1
- package/cjs/highlevel/types/misc/sticker-set.d.ts +8 -1
- package/cjs/highlevel/types/misc/sticker-set.js +36 -5
- package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-event/actions.d.ts +3 -0
- package/cjs/highlevel/types/peers/chat-event/filters.d.ts +2 -0
- package/cjs/highlevel/types/peers/chat.d.ts +7 -93
- package/cjs/highlevel/types/peers/chat.js +2 -195
- package/cjs/highlevel/types/peers/chat.js.map +1 -1
- package/cjs/highlevel/types/peers/full-chat.d.ts +103 -0
- package/cjs/highlevel/types/peers/full-chat.js +237 -0
- package/cjs/highlevel/types/peers/full-chat.js.map +1 -0
- package/cjs/highlevel/types/peers/index.d.ts +1 -0
- package/cjs/highlevel/types/peers/index.js +1 -0
- package/cjs/highlevel/types/peers/index.js.map +1 -1
- package/cjs/highlevel/types/peers/user.d.ts +5 -0
- package/cjs/highlevel/types/peers/user.js +7 -0
- package/cjs/highlevel/types/peers/user.js.map +1 -1
- package/cjs/highlevel/types/premium/business-account.d.ts +19 -0
- package/cjs/highlevel/types/premium/business-account.js +45 -0
- package/cjs/highlevel/types/premium/business-account.js.map +1 -0
- package/cjs/highlevel/types/premium/business-chat-link.d.ts +19 -0
- package/cjs/highlevel/types/premium/business-chat-link.js +39 -0
- package/cjs/highlevel/types/premium/business-chat-link.js.map +1 -0
- package/cjs/highlevel/types/premium/business-connection.d.ts +23 -0
- package/cjs/highlevel/types/premium/business-connection.js +45 -0
- package/cjs/highlevel/types/premium/business-connection.js.map +1 -0
- package/cjs/highlevel/types/premium/business-intro.d.ts +22 -0
- package/cjs/highlevel/types/premium/business-intro.js +43 -0
- package/cjs/highlevel/types/premium/business-intro.js.map +1 -0
- package/cjs/highlevel/types/premium/business-location.d.ts +10 -0
- package/cjs/highlevel/types/premium/business-location.js +26 -0
- package/cjs/highlevel/types/premium/business-location.js.map +1 -0
- package/cjs/highlevel/types/premium/business-work-hours.d.ts +42 -0
- package/cjs/highlevel/types/premium/business-work-hours.js +141 -0
- package/cjs/highlevel/types/premium/business-work-hours.js.map +1 -0
- package/cjs/highlevel/types/premium/index.d.ts +5 -0
- package/cjs/highlevel/types/premium/index.js +5 -0
- package/cjs/highlevel/types/premium/index.js.map +1 -1
- package/cjs/highlevel/types/updates/business-message.d.ts +18 -0
- package/cjs/highlevel/types/updates/business-message.js +35 -0
- package/cjs/highlevel/types/updates/business-message.js.map +1 -0
- package/cjs/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
- package/cjs/highlevel/types/updates/delete-business-message-update.js +37 -0
- package/cjs/highlevel/types/updates/delete-business-message-update.js.map +1 -0
- package/cjs/highlevel/types/updates/index.d.ts +19 -2
- package/cjs/highlevel/types/updates/index.js +5 -1
- package/cjs/highlevel/types/updates/index.js.map +1 -1
- package/cjs/highlevel/types/updates/parse-update.d.ts +4 -1
- package/cjs/highlevel/types/updates/parse-update.js +8 -0
- package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
- package/cjs/highlevel/types/updates/poll-update.js +2 -2
- package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
- package/cjs/highlevel/updates/manager.d.ts +0 -1
- package/cjs/highlevel/updates/manager.js +7 -2
- package/cjs/highlevel/updates/manager.js.map +1 -1
- package/cjs/highlevel/updates/parsed.js +8 -2
- package/cjs/highlevel/updates/parsed.js.map +1 -1
- package/cjs/highlevel/updates/types.d.ts +57 -0
- package/cjs/highlevel/updates/utils.d.ts +2 -0
- package/cjs/highlevel/utils/inspectable.js +7 -0
- package/cjs/highlevel/utils/inspectable.js.map +1 -1
- package/cjs/highlevel/worker/index.js +6 -0
- package/cjs/highlevel/worker/protocol.d.ts +0 -1
- package/cjs/index.js +6 -0
- package/cjs/network/client.d.ts +2 -2
- package/cjs/network/client.js +9 -1
- package/cjs/network/client.js.map +1 -1
- package/cjs/network/mtproto-session.d.ts +0 -1
- package/cjs/network/multi-session-connection.d.ts +0 -1
- package/cjs/network/network-manager.d.ts +8 -0
- package/cjs/network/network-manager.js +9 -4
- package/cjs/network/network-manager.js.map +1 -1
- package/cjs/network/persistent-connection.d.ts +0 -1
- package/cjs/network/session-connection.js +11 -0
- package/cjs/network/session-connection.js.map +1 -1
- package/cjs/network/transports/abstract.d.ts +0 -1
- package/cjs/network/transports/streamed.d.ts +0 -1
- package/cjs/network/transports/wrapped.d.ts +0 -1
- package/cjs/platform.js +6 -0
- package/cjs/storage/sqlite/repository/peers.js +1 -2
- package/cjs/storage/sqlite/repository/peers.js.map +1 -1
- package/cjs/storage/storage.d.ts +21 -0
- package/cjs/types/utils.d.ts +1 -0
- package/cjs/types/utils.js.map +1 -1
- package/cjs/utils/index.js +6 -0
- package/cjs/utils/reloadable.d.ts +0 -1
- package/client.d.ts +1 -0
- package/client.js +1 -0
- package/esm/highlevel/client.d.ts +198 -18
- package/esm/highlevel/client.js +47 -0
- package/esm/highlevel/client.js.map +1 -1
- package/esm/highlevel/methods/_imports.js.map +1 -1
- package/esm/highlevel/methods/auth/utils.d.ts +3 -0
- package/esm/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
- package/esm/highlevel/methods/chats/batched-queries.d.ts +10 -1
- package/esm/highlevel/methods/chats/get-full-chat.d.ts +2 -2
- package/esm/highlevel/methods/chats/get-full-chat.js +2 -2
- package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
- package/esm/highlevel/methods/dialogs/get-folders.d.ts +3 -0
- package/esm/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
- package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -0
- package/esm/highlevel/methods/files/normalize-input-media.js +11 -10
- package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
- package/esm/highlevel/methods/messages/_business-connection.d.ts +7 -0
- package/esm/highlevel/methods/messages/_business-connection.js +38 -0
- package/esm/highlevel/methods/messages/_business-connection.js.map +1 -0
- package/esm/highlevel/methods/messages/close-poll.js +1 -1
- package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
- package/esm/highlevel/methods/messages/edit-message.d.ts +1 -0
- package/esm/highlevel/methods/messages/edit-message.js +2 -1
- package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
- package/esm/highlevel/methods/messages/find-in-update.d.ts +13 -1
- package/esm/highlevel/methods/messages/find-in-update.js +7 -2
- package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/esm/highlevel/methods/messages/forward-messages.d.ts +5 -0
- package/esm/highlevel/methods/messages/forward-messages.js +2 -0
- package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
- package/esm/highlevel/methods/messages/get-all-scheduled-messages.js +25 -0
- package/esm/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
- package/esm/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
- package/esm/highlevel/methods/messages/iter-search-global.js +2 -1
- package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
- package/esm/highlevel/methods/messages/search-global.d.ts +4 -0
- package/esm/highlevel/methods/messages/search-global.js +2 -1
- package/esm/highlevel/methods/messages/search-global.js.map +1 -1
- package/esm/highlevel/methods/messages/send-common.d.ts +28 -0
- package/esm/highlevel/methods/messages/send-common.js +19 -0
- package/esm/highlevel/methods/messages/send-common.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media-group.js +5 -2
- package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media.js +4 -2
- package/esm/highlevel/methods/messages/send-media.js.map +1 -1
- package/esm/highlevel/methods/messages/send-text.js +4 -2
- package/esm/highlevel/methods/messages/send-text.js.map +1 -1
- package/esm/highlevel/methods/messages/send-typing.d.ts +4 -0
- package/esm/highlevel/methods/messages/send-typing.js +2 -1
- package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
- package/esm/highlevel/methods/misc/chain-id.d.ts +4 -1
- package/esm/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
- package/esm/highlevel/methods/misc/get-collectible-info.js +22 -0
- package/esm/highlevel/methods/misc/get-collectible-info.js.map +1 -0
- package/esm/highlevel/methods/misc/normalize-text.d.ts +5 -1
- package/esm/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
- package/esm/highlevel/methods/premium/create-business-chat-link.js +22 -0
- package/esm/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
- package/esm/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
- package/esm/highlevel/methods/premium/edit-business-chat-link.js +37 -0
- package/esm/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
- package/esm/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
- package/esm/highlevel/methods/premium/get-business-chat-links.js +10 -0
- package/esm/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
- package/esm/highlevel/methods/premium/get-business-connection.d.ts +8 -0
- package/esm/highlevel/methods/premium/get-business-connection.js +21 -0
- package/esm/highlevel/methods/premium/get-business-connection.js.map +1 -0
- package/esm/highlevel/methods/premium/set-business-intro.d.ts +22 -0
- package/esm/highlevel/methods/premium/set-business-intro.js +38 -0
- package/esm/highlevel/methods/premium/set-business-intro.js.map +1 -0
- package/esm/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
- package/esm/highlevel/methods/premium/set-business-work-hours.js +29 -0
- package/esm/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
- package/esm/highlevel/methods/stickers/_utils.d.ts +10 -0
- package/esm/highlevel/methods/stickers/_utils.js +23 -0
- package/esm/highlevel/methods/stickers/_utils.js.map +1 -0
- package/esm/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
- package/esm/highlevel/methods/stickers/add-sticker-to-set.js +4 -18
- package/esm/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
- package/esm/highlevel/methods/stickers/create-sticker-set.js +3 -20
- package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
- package/esm/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
- package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
- package/esm/highlevel/methods/stickers/get-installed-stickers.js +1 -2
- package/esm/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
- package/esm/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
- package/esm/highlevel/methods/stickers/get-my-sticker-sets.js +17 -0
- package/esm/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
- package/esm/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
- package/esm/highlevel/methods/stickers/get-sticker-set.js +2 -2
- package/esm/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
- package/esm/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
- package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
- package/esm/highlevel/methods/stickers/replace-sticker-in-set.js +28 -0
- package/esm/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
- package/esm/highlevel/methods/stories/find-in-update.d.ts +5 -1
- package/esm/highlevel/methods/users/set-my-birthday.d.ts +12 -0
- package/esm/highlevel/methods/users/set-my-birthday.js +18 -0
- package/esm/highlevel/methods/users/set-my-birthday.js.map +1 -0
- package/esm/highlevel/methods.d.ts +12 -0
- package/esm/highlevel/methods.js +12 -0
- package/esm/highlevel/methods.js.map +1 -1
- package/esm/highlevel/storage/storage.d.ts +7 -2
- package/esm/highlevel/types/auth/sent-code.d.ts +7 -2
- package/esm/highlevel/types/auth/sent-code.js +14 -0
- package/esm/highlevel/types/auth/sent-code.js.map +1 -1
- package/esm/highlevel/types/bots/inline-message/factories.d.ts +5 -1
- package/esm/highlevel/types/bots/inline-result/factories.d.ts +4 -1
- package/esm/highlevel/types/bots/keyboards/factories.d.ts +7 -1
- package/esm/highlevel/types/calls/discard-reason.d.ts +5 -0
- package/esm/highlevel/types/files/uploaded-file.d.ts +2 -0
- package/esm/highlevel/types/files/utils.d.ts +6 -5
- package/esm/highlevel/types/files/utils.js.map +1 -1
- package/esm/highlevel/types/media/document-utils.d.ts +5 -0
- package/esm/highlevel/types/media/document-utils.js +7 -1
- package/esm/highlevel/types/media/document-utils.js.map +1 -1
- package/esm/highlevel/types/media/input-media/types.d.ts +2 -2
- package/esm/highlevel/types/media/input-media/types.js.map +1 -1
- package/esm/highlevel/types/media/poll.d.ts +17 -6
- package/esm/highlevel/types/media/poll.js +64 -17
- package/esm/highlevel/types/media/poll.js.map +1 -1
- package/esm/highlevel/types/messages/dialog.js +1 -12
- package/esm/highlevel/types/messages/dialog.js.map +1 -1
- package/esm/highlevel/types/messages/input-message-id.d.ts +5 -0
- package/esm/highlevel/types/messages/message-action.d.ts +19 -2
- package/esm/highlevel/types/messages/message-action.js +6 -0
- package/esm/highlevel/types/messages/message-action.js.map +1 -1
- package/esm/highlevel/types/messages/message-media.d.ts +4 -0
- package/esm/highlevel/types/messages/message.d.ts +59 -1
- package/esm/highlevel/types/messages/message.js +96 -1
- package/esm/highlevel/types/messages/message.js.map +1 -1
- package/esm/highlevel/types/misc/collectible-info.d.ts +27 -0
- package/esm/highlevel/types/misc/collectible-info.js +43 -0
- package/esm/highlevel/types/misc/collectible-info.js.map +1 -0
- package/esm/highlevel/types/misc/entities.d.ts +7 -0
- package/esm/highlevel/types/misc/entities.js +13 -1
- package/esm/highlevel/types/misc/entities.js.map +1 -1
- package/esm/highlevel/types/misc/index.d.ts +1 -0
- package/esm/highlevel/types/misc/index.js +1 -0
- package/esm/highlevel/types/misc/index.js.map +1 -1
- package/esm/highlevel/types/misc/sticker-set.d.ts +8 -1
- package/esm/highlevel/types/misc/sticker-set.js +38 -7
- package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
- package/esm/highlevel/types/peers/chat-event/actions.d.ts +3 -0
- package/esm/highlevel/types/peers/chat-event/filters.d.ts +2 -0
- package/esm/highlevel/types/peers/chat.d.ts +7 -93
- package/esm/highlevel/types/peers/chat.js +2 -195
- package/esm/highlevel/types/peers/chat.js.map +1 -1
- package/esm/highlevel/types/peers/full-chat.d.ts +103 -0
- package/esm/highlevel/types/peers/full-chat.js +234 -0
- package/esm/highlevel/types/peers/full-chat.js.map +1 -0
- package/esm/highlevel/types/peers/index.d.ts +1 -0
- package/esm/highlevel/types/peers/index.js +1 -0
- package/esm/highlevel/types/peers/index.js.map +1 -1
- package/esm/highlevel/types/peers/user.d.ts +5 -0
- package/esm/highlevel/types/peers/user.js +7 -0
- package/esm/highlevel/types/peers/user.js.map +1 -1
- package/esm/highlevel/types/premium/business-account.d.ts +19 -0
- package/esm/highlevel/types/premium/business-account.js +42 -0
- package/esm/highlevel/types/premium/business-account.js.map +1 -0
- package/esm/highlevel/types/premium/business-chat-link.d.ts +19 -0
- package/esm/highlevel/types/premium/business-chat-link.js +36 -0
- package/esm/highlevel/types/premium/business-chat-link.js.map +1 -0
- package/esm/highlevel/types/premium/business-connection.d.ts +23 -0
- package/esm/highlevel/types/premium/business-connection.js +42 -0
- package/esm/highlevel/types/premium/business-connection.js.map +1 -0
- package/esm/highlevel/types/premium/business-intro.d.ts +22 -0
- package/esm/highlevel/types/premium/business-intro.js +40 -0
- package/esm/highlevel/types/premium/business-intro.js.map +1 -0
- package/esm/highlevel/types/premium/business-location.d.ts +10 -0
- package/esm/highlevel/types/premium/business-location.js +23 -0
- package/esm/highlevel/types/premium/business-location.js.map +1 -0
- package/esm/highlevel/types/premium/business-work-hours.d.ts +42 -0
- package/esm/highlevel/types/premium/business-work-hours.js +137 -0
- package/esm/highlevel/types/premium/business-work-hours.js.map +1 -0
- package/esm/highlevel/types/premium/index.d.ts +5 -0
- package/esm/highlevel/types/premium/index.js +5 -0
- package/esm/highlevel/types/premium/index.js.map +1 -1
- package/esm/highlevel/types/updates/business-message.d.ts +18 -0
- package/esm/highlevel/types/updates/business-message.js +31 -0
- package/esm/highlevel/types/updates/business-message.js.map +1 -0
- package/esm/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
- package/esm/highlevel/types/updates/delete-business-message-update.js +34 -0
- package/esm/highlevel/types/updates/delete-business-message-update.js.map +1 -0
- package/esm/highlevel/types/updates/index.d.ts +19 -2
- package/esm/highlevel/types/updates/index.js +3 -1
- package/esm/highlevel/types/updates/index.js.map +1 -1
- package/esm/highlevel/types/updates/parse-update.d.ts +4 -1
- package/esm/highlevel/types/updates/parse-update.js +9 -1
- package/esm/highlevel/types/updates/parse-update.js.map +1 -1
- package/esm/highlevel/types/updates/poll-update.js +2 -2
- package/esm/highlevel/types/updates/poll-update.js.map +1 -1
- package/esm/highlevel/updates/manager.d.ts +0 -1
- package/esm/highlevel/updates/manager.js +7 -2
- package/esm/highlevel/updates/manager.js.map +1 -1
- package/esm/highlevel/updates/parsed.js +8 -2
- package/esm/highlevel/updates/parsed.js.map +1 -1
- package/esm/highlevel/updates/types.d.ts +57 -0
- package/esm/highlevel/updates/utils.d.ts +2 -0
- package/esm/highlevel/utils/inspectable.js +4 -0
- package/esm/highlevel/utils/inspectable.js.map +1 -1
- package/esm/highlevel/worker/protocol.d.ts +0 -1
- package/esm/network/client.d.ts +2 -2
- package/esm/network/client.js +9 -1
- package/esm/network/client.js.map +1 -1
- package/esm/network/mtproto-session.d.ts +0 -1
- package/esm/network/multi-session-connection.d.ts +0 -1
- package/esm/network/network-manager.d.ts +8 -0
- package/esm/network/network-manager.js +9 -4
- package/esm/network/network-manager.js.map +1 -1
- package/esm/network/persistent-connection.d.ts +0 -1
- package/esm/network/session-connection.js +11 -0
- package/esm/network/session-connection.js.map +1 -1
- package/esm/network/transports/abstract.d.ts +0 -1
- package/esm/network/transports/streamed.d.ts +0 -1
- package/esm/network/transports/wrapped.d.ts +0 -1
- package/esm/storage/sqlite/repository/peers.js +1 -2
- package/esm/storage/sqlite/repository/peers.js.map +1 -1
- package/esm/storage/storage.d.ts +21 -0
- package/esm/types/utils.d.ts +1 -0
- package/esm/types/utils.js.map +1 -1
- package/esm/utils/reloadable.d.ts +0 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/methods.d.ts +1 -0
- package/methods.js +1 -0
- package/package.json +5 -5
- package/platform.d.ts +1 -0
- package/platform.js +1 -0
- package/utils.d.ts +1 -0
- package/utils.js +1 -0
- package/worker.d.ts +1 -0
- package/worker.js +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../../../src/highlevel/methods/_imports.ts"],"names":[],"mappings":";AAAA,sDAAsD","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n// @copy\nimport { tdFileId } from '@mtcute/file-id'\n// @copy\nimport { tl } from '@mtcute/tl'\n\n// @copy\nimport { RpcCallOptions } from '../../network/index.js'\n// @copy\nimport { MaybeArray, MaybePromise, MtUnsupportedError, PartialExcept, PartialOnly } from '../../types/index.js'\n// @copy\nimport { BaseTelegramClient, BaseTelegramClientOptions } from '../base.js'\n// @copy\nimport { ITelegramClient } from '../client.types.js'\n// @copy\nimport {\n AllStories,\n ArrayPaginated,\n ArrayWithTotal,\n Boost,\n BoostSlot,\n BoostStats,\n BotChatJoinRequestUpdate,\n BotCommands,\n BotReactionCountUpdate,\n BotReactionUpdate,\n BotStoppedUpdate,\n CallbackQuery,\n Chat,\n ChatEvent,\n ChatInviteLink,\n ChatInviteLinkMember,\n ChatJoinRequestUpdate,\n ChatMember,\n ChatMemberUpdate,\n ChatPreview,\n ChosenInlineResult,\n DeleteMessageUpdate,\n DeleteStoryUpdate,\n Dialog,\n FileDownloadLocation,\n FileDownloadParameters,\n ForumTopic,\n GameHighScore,\n HistoryReadUpdate,\n InlineCallbackQuery,\n InlineQuery,\n InputChatEventFilters,\n InputDialogFolder,\n InputFileLike,\n InputInlineResult,\n InputMediaLike,\n InputMessageId,\n InputPeerLike,\n InputPrivacyRule,\n InputReaction,\n InputStickerSet,\n InputStickerSetItem,\n InputText,\n MaybeDynamic,\n Message,\n MessageMedia,\n MessageReactions,\n ParametersSkip2,\n ParsedUpdate,\n PeerReaction,\n PeersIndex,\n PeerStories,\n Photo,\n Poll,\n PollUpdate,\n PollVoteUpdate,\n PreCheckoutQuery,\n RawDocument,\n ReplyMarkup,\n SentCode,\n Sticker,\n StickerSet,\n StickerSourceType,\n StickerType,\n StoriesStealthMode,\n Story,\n StoryInteractions,\n StoryUpdate,\n StoryViewer,\n StoryViewersList,\n TakeoutSession,\n TextWithEntities,\n TypingStatus,\n UploadedFile,\n UploadFileLike,\n User,\n UserStatusUpdate,\n UserTypingUpdate,\n} from '../types/index.js'\n// @copy\nimport { StringSessionData } from '../utils/string-session.js'\n"]}
|
|
1
|
+
{"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../../../src/highlevel/methods/_imports.ts"],"names":[],"mappings":";AAAA,sDAAsD","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n// @copy\nimport { tdFileId } from '@mtcute/file-id'\n// @copy\nimport { tl } from '@mtcute/tl'\n\n// @copy\nimport { RpcCallOptions } from '../../network/index.js'\n// @copy\nimport { MaybeArray, MaybePromise, MtUnsupportedError, PartialExcept, PartialOnly } from '../../types/index.js'\n// @copy\nimport { BaseTelegramClient, BaseTelegramClientOptions } from '../base.js'\n// @copy\nimport { ITelegramClient } from '../client.types.js'\n// @copy\nimport {\n AllStories,\n ArrayPaginated,\n ArrayWithTotal,\n Boost,\n BoostSlot,\n BoostStats,\n BotChatJoinRequestUpdate,\n BotCommands,\n BotReactionCountUpdate,\n BotReactionUpdate,\n BotStoppedUpdate,\n BusinessChatLink,\n BusinessConnection,\n BusinessMessage,\n BusinessWorkHoursDay,\n CallbackQuery,\n Chat,\n ChatEvent,\n ChatInviteLink,\n ChatInviteLinkMember,\n ChatJoinRequestUpdate,\n ChatMember,\n ChatMemberUpdate,\n ChatPreview,\n ChosenInlineResult,\n CollectibleInfo,\n DeleteBusinessMessageUpdate,\n DeleteMessageUpdate,\n DeleteStoryUpdate,\n Dialog,\n FileDownloadLocation,\n FileDownloadParameters,\n ForumTopic,\n FullChat,\n GameHighScore,\n HistoryReadUpdate,\n InlineCallbackQuery,\n InlineQuery,\n InputChatEventFilters,\n InputDialogFolder,\n InputFileLike,\n InputInlineResult,\n InputMediaLike,\n InputMediaSticker,\n InputMessageId,\n InputPeerLike,\n InputPrivacyRule,\n InputReaction,\n InputStickerSet,\n InputStickerSetItem,\n InputText,\n MaybeDynamic,\n Message,\n MessageMedia,\n MessageReactions,\n ParametersSkip2,\n ParsedUpdate,\n PeerReaction,\n PeersIndex,\n PeerStories,\n Photo,\n Poll,\n PollUpdate,\n PollVoteUpdate,\n PreCheckoutQuery,\n RawDocument,\n ReplyMarkup,\n SentCode,\n Sticker,\n StickerSet,\n StickerSourceType,\n StickerType,\n StoriesStealthMode,\n Story,\n StoryInteractions,\n StoryUpdate,\n StoryViewer,\n StoryViewersList,\n TakeoutSession,\n TextWithEntities,\n TypingStatus,\n UploadedFile,\n UploadFileLike,\n User,\n UserStatusUpdate,\n UserTypingUpdate,\n} from '../types/index.js'\n// @copy\nimport { StringSessionData } from '../utils/string-session.js'\n"]}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { tl } from '@mtcute/tl';
|
|
2
2
|
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
import { User } from '../../types/peers/user.js';
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare function _onAuthorization(client: ITelegramClient, auth: tl.auth.TypeAuthorization): Promise<User>;
|
|
3
6
|
/**
|
|
4
7
|
* Check if the given peer/input peer is referring to the current user
|
|
5
8
|
*/
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
import { BotCommands } from '../../types/index.js';
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare function _normalizeCommandScope(client: ITelegramClient, scope: tl.TypeBotCommandScope | BotCommands.IntermediateScope): Promise<tl.TypeBotCommandScope>;
|
|
@@ -1 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
/** @internal */
|
|
4
|
+
export declare const _getUsersBatched: (client: ITelegramClient, item: tl.TypeInputUser) => Promise<tl.TypeUser | null>;
|
|
5
|
+
/** @internal */
|
|
6
|
+
export declare const _getChatsBatched: (client: ITelegramClient, item: number) => Promise<tl.RawChat | null>;
|
|
7
|
+
/** @internal */
|
|
8
|
+
export declare const _getChannelsBatched: (client: ITelegramClient, item: tl.TypeInputChannel) => Promise<tl.RawChannel | tl.RawChannelForbidden | null>;
|
|
9
|
+
/** @internal */
|
|
10
|
+
export declare function _getRawPeerBatched(client: ITelegramClient, peer: tl.TypeInputPeer): Promise<tl.TypeUser | tl.TypeChat | null>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
-
import {
|
|
2
|
+
import { FullChat, InputPeerLike } from '../../types/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Get full information about a chat.
|
|
5
5
|
*
|
|
@@ -8,4 +8,4 @@ import { Chat, InputPeerLike } from '../../types/index.js';
|
|
|
8
8
|
* In case you are trying to get info about private chat that you haven't joined.
|
|
9
9
|
* Use {@link getChatPreview} instead.
|
|
10
10
|
*/
|
|
11
|
-
export declare function getFullChat(client: ITelegramClient, chatId: InputPeerLike): Promise<
|
|
11
|
+
export declare function getFullChat(client: ITelegramClient, chatId: InputPeerLike): Promise<FullChat>;
|
|
@@ -51,7 +51,7 @@ async function getFullChat(client, chatId) {
|
|
|
51
51
|
}
|
|
52
52
|
else
|
|
53
53
|
throw new Error('should not happen');
|
|
54
|
-
return index_js_1.
|
|
54
|
+
return index_js_1.FullChat._parse(res);
|
|
55
55
|
}
|
|
56
56
|
exports.getFullChat = getFullChat;
|
|
57
57
|
//# sourceMappingURL=get-full-chat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-full-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/get-full-chat.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAE1D,
|
|
1
|
+
{"version":3,"file":"get-full-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/get-full-chat.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAE1D,mDAA8D;AAC9D,6DAOkC;AAClC,8DAAsD;AAEtD,kBAAkB;AAClB;;;;;;;GAOG;AACI,KAAK,UAAU,WAAW,CAAC,MAAuB,EAAE,MAAqB;IAC5E,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiB,CAAC,CAAA;QAEzC,IAAI,CAAC,EAAE,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC1B,CAAC,EAAE,0BAA0B;gBAC7B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aACb,CAAC,CAAA;YAEF,IAAI,GAAG,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;gBACzB,MAAM,IAAI,2BAAe,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChF,CAAC;YAED,wCAAwC;YACxC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;QACxB,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,GAAqD,CAAA;IACzD,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,yBAAyB;YAC5B,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;SAChC,CAAC,CAAA;IACN,CAAC;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,mBAAmB;YACtB,EAAE,EAAE,IAAA,2BAAW,EAAC,IAAI,CAAE;SACzB,CAAC,CAAA;IACN,CAAC;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,sBAAsB;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;IACN,CAAC;;QAAM,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAE3C,OAAO,mBAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC;AAxCD,kCAwCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { FullChat, InputPeerLike } from '../../types/index.js'\nimport {\n INVITE_LINK_REGEX,\n isInputPeerChannel,\n isInputPeerChat,\n isInputPeerUser,\n toInputChannel,\n toInputUser,\n} from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=both\n/**\n * Get full information about a chat.\n *\n * @param chatId ID of the chat, its username or invite link\n * @throws MtArgumentError\n * In case you are trying to get info about private chat that you haven't joined.\n * Use {@link getChatPreview} instead.\n */\nexport async function getFullChat(client: ITelegramClient, chatId: InputPeerLike): Promise<FullChat> {\n if (typeof chatId === 'string') {\n const m = chatId.match(INVITE_LINK_REGEX)\n\n if (m) {\n const res = await client.call({\n _: 'messages.checkChatInvite',\n hash: m[1],\n })\n\n if (res._ === 'chatInvite') {\n throw new MtArgumentError(`You haven't joined ${JSON.stringify(res.title)}`)\n }\n\n // we still need to fetch full chat info\n chatId = res.chat.id\n }\n }\n\n const peer = await resolvePeer(client, chatId)\n\n let res: tl.messages.TypeChatFull | tl.users.TypeUserFull\n if (isInputPeerChannel(peer)) {\n res = await client.call({\n _: 'channels.getFullChannel',\n channel: toInputChannel(peer),\n })\n } else if (isInputPeerUser(peer)) {\n res = await client.call({\n _: 'users.getFullUser',\n id: toInputUser(peer)!,\n })\n } else if (isInputPeerChat(peer)) {\n res = await client.call({\n _: 'messages.getFullChat',\n chatId: peer.chatId,\n })\n } else throw new Error('should not happen')\n\n return FullChat._parse(res)\n}\n"]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { tl } from '@mtcute/tl';
|
|
2
2
|
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
import { InputDialogFolder } from '../../types/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* Get list of folders.
|
|
5
6
|
*/
|
|
6
7
|
export declare function getFolders(client: ITelegramClient): Promise<tl.messages.RawDialogFilters>;
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare function _normalizeInputFolder(client: ITelegramClient, folder: InputDialogFolder): Promise<tl.TypeDialogFilter>;
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
import { InputFileLike } from '../../types/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function _normalizeFileToDocument(client: ITelegramClient, file: InputFileLike | tl.TypeInputDocument, params: {
|
|
8
|
+
progressCallback?: (uploaded: number, total: number) => void;
|
|
9
|
+
}): Promise<tl.TypeInputDocument>;
|
|
@@ -8,4 +8,5 @@ import { InputMediaLike } from '../../types/media/input-media/types.js';
|
|
|
8
8
|
export declare function _normalizeInputMedia(client: ITelegramClient, media: InputMediaLike, params?: {
|
|
9
9
|
progressCallback?: (uploaded: number, total: number) => void;
|
|
10
10
|
uploadPeer?: tl.TypeInputPeer;
|
|
11
|
+
businessConnectionId?: string;
|
|
11
12
|
}, uploadMedia?: boolean): Promise<tl.TypeInputMedia>;
|
|
@@ -10,6 +10,7 @@ const tl_1 = require("@mtcute/tl");
|
|
|
10
10
|
const platform_js_1 = require("../../../platform.js");
|
|
11
11
|
const type_assertions_js_1 = require("../../../utils/type-assertions.js");
|
|
12
12
|
const uploaded_file_js_1 = require("../../types/files/uploaded-file.js");
|
|
13
|
+
const entities_js_1 = require("../../types/misc/entities.js");
|
|
13
14
|
const convert_file_id_js_1 = require("../../utils/convert-file-id.js");
|
|
14
15
|
const misc_utils_js_1 = require("../../utils/misc-utils.js");
|
|
15
16
|
const voice_utils_js_1 = require("../../utils/voice-utils.js");
|
|
@@ -130,15 +131,14 @@ async function _normalizeInputMedia(client, media, params = {}, uploadMedia = fa
|
|
|
130
131
|
}
|
|
131
132
|
if (media.type === 'poll' || media.type === 'quiz') {
|
|
132
133
|
const answers = media.answers.map((ans, idx) => {
|
|
133
|
-
if (typeof ans === '
|
|
134
|
-
return
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
return ans;
|
|
134
|
+
if (typeof ans === 'object' && tl_1.tl.isAnyPollAnswer(ans))
|
|
135
|
+
return ans;
|
|
136
|
+
return {
|
|
137
|
+
_: 'pollAnswer',
|
|
138
|
+
text: (0, entities_js_1.inputTextToTl)(ans),
|
|
139
|
+
// emulate the behaviour of most implementations
|
|
140
|
+
option: new Uint8Array([48 /* '0' */ + idx]),
|
|
141
|
+
};
|
|
142
142
|
});
|
|
143
143
|
let correct = undefined;
|
|
144
144
|
let solution = undefined;
|
|
@@ -166,7 +166,7 @@ async function _normalizeInputMedia(client, media, params = {}, uploadMedia = fa
|
|
|
166
166
|
publicVoters: media.public,
|
|
167
167
|
multipleChoice: media.multiple,
|
|
168
168
|
quiz: media.type === 'quiz',
|
|
169
|
-
question: media.question,
|
|
169
|
+
question: (0, entities_js_1.inputTextToTl)(media.question),
|
|
170
170
|
answers,
|
|
171
171
|
closePeriod: media.closePeriod,
|
|
172
172
|
closeDate: (0, misc_utils_js_1.normalizeDate)(media.closeDate),
|
|
@@ -222,6 +222,7 @@ async function _normalizeInputMedia(client, media, params = {}, uploadMedia = fa
|
|
|
222
222
|
_: 'messages.uploadMedia',
|
|
223
223
|
peer: uploadPeer,
|
|
224
224
|
media: inputMedia,
|
|
225
|
+
businessConnectionId: params.businessConnectionId,
|
|
225
226
|
});
|
|
226
227
|
if (photo) {
|
|
227
228
|
(0, type_assertions_js_1.assertTypeIs)('normalizeInputMedia (@ messages.uploadMedia)', res, 'messageMediaPhoto');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-input-media.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/files/normalize-input-media.ts"],"names":[],"mappings":"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","sourcesContent":["import Long from 'long'\n\nimport { parseFileId, tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { getPlatform } from '../../../platform.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { isUploadedFile } from '../../types/files/uploaded-file.js'\nimport { UploadFileLike } from '../../types/files/utils.js'\nimport { InputMediaLike } from '../../types/media/input-media/types.js'\nimport { fileIdToInputDocument, fileIdToInputPhoto } from '../../utils/convert-file-id.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { encodeWaveform } from '../../utils/voice-utils.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _normalizeInputFile } from './normalize-input-file.js'\nimport { uploadFile } from './upload-file.js'\n\n/**\n * Normalize an {@link InputMediaLike} to `InputMedia`,\n * uploading the file if needed.\n */\nexport async function _normalizeInputMedia(\n client: ITelegramClient,\n media: InputMediaLike,\n params: {\n progressCallback?: (uploaded: number, total: number) => void\n uploadPeer?: tl.TypeInputPeer\n } = {},\n uploadMedia = false,\n): Promise<tl.TypeInputMedia> {\n // my condolences to those poor souls who are going to maintain this (myself included)\n\n // thanks to @pacificescape for pointing out messages.uploadMedia method\n\n if (tl.isAnyInputMedia(media)) {\n // make sure the peers in the media are correctly resolved (i.e. mtcute.* ones are replaced with proper ones)\n switch (media._) {\n case 'inputMediaStory':\n return {\n ...media,\n peer: await resolvePeer(client, media.peer),\n }\n }\n\n return media\n }\n\n if (media.type === 'venue') {\n return {\n _: 'inputMediaVenue',\n geoPoint: {\n _: 'inputGeoPoint',\n lat: media.latitude,\n long: media.longitude,\n },\n title: media.title,\n address: media.address,\n provider: media.source?.provider ?? '',\n venueId: media.source?.id ?? '',\n venueType: media.source?.type ?? '',\n }\n }\n\n if (media.type === 'geo') {\n return {\n _: 'inputMediaGeoPoint',\n geoPoint: {\n _: 'inputGeoPoint',\n lat: media.latitude,\n long: media.longitude,\n },\n }\n }\n\n if (media.type === 'geo_live') {\n return {\n _: 'inputMediaGeoLive',\n geoPoint: {\n _: 'inputGeoPoint',\n lat: media.latitude,\n long: media.longitude,\n },\n stopped: media.stopped,\n heading: media.heading,\n period: media.period,\n proximityNotificationRadius: media.proximityNotificationRadius,\n }\n }\n\n if (media.type === 'dice') {\n return {\n _: 'inputMediaDice',\n emoticon: media.emoji,\n }\n }\n\n if (media.type === 'contact') {\n return {\n _: 'inputMediaContact',\n phoneNumber: media.phone,\n firstName: media.firstName,\n lastName: media.lastName ?? '',\n vcard: media.vcard ?? '',\n }\n }\n\n if (media.type === 'game') {\n return {\n _: 'inputMediaGame',\n id:\n typeof media.game === 'string' ?\n {\n _: 'inputGameShortName',\n botId: { _: 'inputUserSelf' },\n shortName: media.game,\n } :\n media.game,\n }\n }\n\n if (media.type === 'invoice') {\n return {\n _: 'inputMediaInvoice',\n title: media.title,\n description: media.description,\n photo:\n typeof media.photo === 'string' ?\n {\n _: 'inputWebDocument',\n url: media.photo,\n mimeType: 'image/jpeg',\n size: 0,\n attributes: [],\n } :\n media.photo,\n invoice: media.invoice,\n payload: media.payload,\n provider: media.token,\n providerData: {\n _: 'dataJSON',\n data: JSON.stringify(media.providerData),\n },\n startParam: media.startParam,\n extendedMedia: media.extendedMedia ?\n await _normalizeInputMedia(client, media.extendedMedia, params) :\n undefined,\n }\n }\n\n if (media.type === 'poll' || media.type === 'quiz') {\n const answers: tl.TypePollAnswer[] = media.answers.map((ans, idx) => {\n if (typeof ans === 'string') {\n return {\n _: 'pollAnswer',\n text: ans,\n // emulate the behaviour of most implementations\n option: new Uint8Array([48 /* '0' */ + idx]),\n }\n }\n\n return ans\n })\n\n let correct: Uint8Array[] | undefined = undefined\n let solution: string | undefined = undefined\n let solutionEntities: tl.TypeMessageEntity[] | undefined = undefined\n\n if (media.type === 'quiz') {\n let input = media.correct\n if (!Array.isArray(input)) input = [input]\n correct = input.map((it) => {\n if (typeof it === 'number') {\n return answers[it].option\n }\n\n return it\n })\n\n if (media.solution) {\n [solution, solutionEntities] = await _normalizeInputText(client, media.solution)\n }\n }\n\n return {\n _: 'inputMediaPoll',\n poll: {\n _: 'poll',\n closed: media.closed,\n id: Long.ZERO,\n publicVoters: media.public,\n multipleChoice: media.multiple,\n quiz: media.type === 'quiz',\n question: media.question,\n answers,\n closePeriod: media.closePeriod,\n closeDate: normalizeDate(media.closeDate),\n },\n correctAnswers: correct,\n solution,\n solutionEntities,\n }\n }\n\n if (media.type === 'story') {\n return {\n _: 'inputMediaStory',\n peer: await resolvePeer(client, media.peer),\n id: media.id,\n }\n }\n\n if (media.type === 'webpage') {\n return {\n _: 'inputMediaWebPage',\n forceLargeMedia: media.size === 'large',\n forceSmallMedia: media.size === 'small',\n optional: !media.required,\n url: media.url,\n }\n }\n\n let inputFile: tl.TypeInputFile | undefined = undefined\n let thumb: tl.TypeInputFile | undefined = undefined\n let mime = 'application/octet-stream'\n\n const upload = async (file: UploadFileLike): Promise<void> => {\n let sendMime\n\n if (media.type === 'sticker') {\n sendMime = media.isAnimated ? 'application/x-tgsticker' : 'image/webp'\n } else {\n sendMime = media.fileMime\n }\n\n const uploaded = await uploadFile(client, {\n file,\n progressCallback: params.progressCallback,\n fileName: media.fileName,\n fileMime: sendMime,\n fileSize: media.fileSize,\n requireFileSize: media.type === 'photo',\n })\n inputFile = uploaded.inputFile\n mime = uploaded.mime\n }\n\n const uploadPeer = params.uploadPeer ?? { _: 'inputPeerSelf' }\n\n const uploadMediaIfNeeded = async (inputMedia: tl.TypeInputMedia, photo: boolean): Promise<tl.TypeInputMedia> => {\n if (!uploadMedia) return inputMedia\n\n const res = await client.call({\n _: 'messages.uploadMedia',\n peer: uploadPeer,\n media: inputMedia,\n })\n\n if (photo) {\n assertTypeIs('normalizeInputMedia (@ messages.uploadMedia)', res, 'messageMediaPhoto')\n assertTypeIs('normalizeInputMedia (@ messages.uploadMedia)', res.photo!, 'photo')\n\n return {\n _: 'inputMediaPhoto',\n id: {\n _: 'inputPhoto',\n id: res.photo.id,\n accessHash: res.photo.accessHash,\n fileReference: res.photo.fileReference,\n },\n ttlSeconds: media.ttlSeconds,\n spoiler: media.type === 'video' && media.spoiler,\n }\n }\n assertTypeIs('normalizeInputMedia (@ messages.uploadMedia)', res, 'messageMediaDocument')\n assertTypeIs('normalizeInputMedia (@ messages.uploadMedia)', res.document!, 'document')\n\n return {\n _: 'inputMediaDocument',\n id: {\n _: 'inputDocument',\n id: res.document.id,\n accessHash: res.document.accessHash,\n fileReference: res.document.fileReference,\n },\n ttlSeconds: media.ttlSeconds,\n spoiler: media.type === 'video' && media.spoiler,\n }\n }\n\n const input = media.file\n\n if (tdFileId.isFileIdLike(input)) {\n if (typeof input === 'string' && input.match(/^https?:\\/\\//)) {\n return uploadMediaIfNeeded(\n {\n _: media.type === 'photo' ? 'inputMediaPhotoExternal' : 'inputMediaDocumentExternal',\n url: input,\n },\n media.type === 'photo',\n )\n } else if (typeof input === 'string' && input.match(/^file:/)) {\n await upload(input.substring(5))\n } else {\n const parsed = typeof input === 'string' ? parseFileId(getPlatform(), input) : input\n\n if (parsed.location._ === 'photo') {\n return {\n _: 'inputMediaPhoto',\n id: fileIdToInputPhoto(parsed),\n }\n } else if (parsed.location._ === 'web') {\n return uploadMediaIfNeeded(\n {\n _:\n parsed.type === tdFileId.FileType.Photo ?\n 'inputMediaPhotoExternal' :\n 'inputMediaDocumentExternal',\n url: parsed.location.url,\n },\n parsed.type === tdFileId.FileType.Photo,\n )\n }\n\n return {\n _: 'inputMediaDocument',\n id: fileIdToInputDocument(parsed),\n }\n }\n } else if (typeof input === 'object' && tl.isAnyInputMedia(input)) {\n return input\n } else if (isUploadedFile(input)) {\n inputFile = input.inputFile\n mime = input.mime\n } else if (typeof input === 'object' && tl.isAnyInputFile(input)) {\n inputFile = input\n } else {\n await upload(input)\n }\n\n if (!inputFile) throw new Error('should not happen')\n\n if (media.type === 'photo') {\n return uploadMediaIfNeeded(\n {\n _: 'inputMediaUploadedPhoto',\n file: inputFile,\n ttlSeconds: media.ttlSeconds,\n spoiler: media.spoiler,\n },\n true,\n )\n }\n\n if ('thumb' in media && media.thumb) {\n thumb = await _normalizeInputFile(client, media.thumb, {})\n }\n\n const attributes: tl.TypeDocumentAttribute[] = []\n\n if (media.type !== 'voice') {\n attributes.push({\n _: 'documentAttributeFilename',\n fileName: media.fileName || inputFile.name,\n })\n }\n\n if (media.type === 'video') {\n attributes.push({\n _: 'documentAttributeVideo',\n duration: media.duration || 0,\n w: media.width || 0,\n h: media.height || 0,\n supportsStreaming: media.supportsStreaming,\n roundMessage: media.isRound,\n })\n\n if (media.isAnimated) {\n attributes.push({ _: 'documentAttributeAnimated' })\n }\n }\n\n if (media.type === 'audio' || media.type === 'voice') {\n attributes.push({\n _: 'documentAttributeAudio',\n voice: media.type === 'voice',\n duration: media.duration || 0,\n title: media.type === 'audio' ? media.title : undefined,\n performer: media.type === 'audio' ? media.performer : undefined,\n waveform: media.type === 'voice' && media.waveform ? encodeWaveform(media.waveform) : undefined,\n })\n }\n\n if (media.type === 'sticker') {\n attributes.push({\n _: 'documentAttributeSticker',\n stickerset: {\n _: 'inputStickerSetEmpty',\n },\n alt: media.alt ?? '',\n })\n }\n\n return uploadMediaIfNeeded(\n {\n _: 'inputMediaUploadedDocument',\n nosoundVideo: media.type === 'video' && media.isAnimated,\n forceFile: media.type === 'document',\n file: inputFile,\n thumb,\n mimeType: mime,\n attributes,\n ttlSeconds: media.ttlSeconds,\n spoiler: media.type === 'video' && media.spoiler,\n },\n false,\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"normalize-input-media.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/files/normalize-input-media.ts"],"names":[],"mappings":"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","sourcesContent":["import Long from 'long'\n\nimport { parseFileId, tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { getPlatform } from '../../../platform.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { isUploadedFile } from '../../types/files/uploaded-file.js'\nimport { UploadFileLike } from '../../types/files/utils.js'\nimport { InputMediaLike } from '../../types/media/input-media/types.js'\nimport { inputTextToTl } from '../../types/misc/entities.js'\nimport { fileIdToInputDocument, fileIdToInputPhoto } from '../../utils/convert-file-id.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { encodeWaveform } from '../../utils/voice-utils.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _normalizeInputFile } from './normalize-input-file.js'\nimport { uploadFile } from './upload-file.js'\n\n/**\n * Normalize an {@link InputMediaLike} to `InputMedia`,\n * uploading the file if needed.\n */\nexport async function _normalizeInputMedia(\n client: ITelegramClient,\n media: InputMediaLike,\n params: {\n progressCallback?: (uploaded: number, total: number) => void\n uploadPeer?: tl.TypeInputPeer\n businessConnectionId?: string\n } = {},\n uploadMedia = false,\n): Promise<tl.TypeInputMedia> {\n // my condolences to those poor souls who are going to maintain this (myself included)\n\n // thanks to @pacificescape for pointing out messages.uploadMedia method\n\n if (tl.isAnyInputMedia(media)) {\n // make sure the peers in the media are correctly resolved (i.e. mtcute.* ones are replaced with proper ones)\n switch (media._) {\n case 'inputMediaStory':\n return {\n ...media,\n peer: await resolvePeer(client, media.peer),\n }\n }\n\n return media\n }\n\n if (media.type === 'venue') {\n return {\n _: 'inputMediaVenue',\n geoPoint: {\n _: 'inputGeoPoint',\n lat: media.latitude,\n long: media.longitude,\n },\n title: media.title,\n address: media.address,\n provider: media.source?.provider ?? '',\n venueId: media.source?.id ?? '',\n venueType: media.source?.type ?? '',\n }\n }\n\n if (media.type === 'geo') {\n return {\n _: 'inputMediaGeoPoint',\n geoPoint: {\n _: 'inputGeoPoint',\n lat: media.latitude,\n long: media.longitude,\n },\n }\n }\n\n if (media.type === 'geo_live') {\n return {\n _: 'inputMediaGeoLive',\n geoPoint: {\n _: 'inputGeoPoint',\n lat: media.latitude,\n long: media.longitude,\n },\n stopped: media.stopped,\n heading: media.heading,\n period: media.period,\n proximityNotificationRadius: media.proximityNotificationRadius,\n }\n }\n\n if (media.type === 'dice') {\n return {\n _: 'inputMediaDice',\n emoticon: media.emoji,\n }\n }\n\n if (media.type === 'contact') {\n return {\n _: 'inputMediaContact',\n phoneNumber: media.phone,\n firstName: media.firstName,\n lastName: media.lastName ?? '',\n vcard: media.vcard ?? '',\n }\n }\n\n if (media.type === 'game') {\n return {\n _: 'inputMediaGame',\n id:\n typeof media.game === 'string' ?\n {\n _: 'inputGameShortName',\n botId: { _: 'inputUserSelf' },\n shortName: media.game,\n } :\n media.game,\n }\n }\n\n if (media.type === 'invoice') {\n return {\n _: 'inputMediaInvoice',\n title: media.title,\n description: media.description,\n photo:\n typeof media.photo === 'string' ?\n {\n _: 'inputWebDocument',\n url: media.photo,\n mimeType: 'image/jpeg',\n size: 0,\n attributes: [],\n } :\n media.photo,\n invoice: media.invoice,\n payload: media.payload,\n provider: media.token,\n providerData: {\n _: 'dataJSON',\n data: JSON.stringify(media.providerData),\n },\n startParam: media.startParam,\n extendedMedia: media.extendedMedia ?\n await _normalizeInputMedia(client, media.extendedMedia, params) :\n undefined,\n }\n }\n\n if (media.type === 'poll' || media.type === 'quiz') {\n const answers: tl.TypePollAnswer[] = media.answers.map((ans, idx) => {\n if (typeof ans === 'object' && tl.isAnyPollAnswer(ans)) return ans\n\n return {\n _: 'pollAnswer',\n text: inputTextToTl(ans),\n // emulate the behaviour of most implementations\n option: new Uint8Array([48 /* '0' */ + idx]),\n }\n })\n\n let correct: Uint8Array[] | undefined = undefined\n let solution: string | undefined = undefined\n let solutionEntities: tl.TypeMessageEntity[] | undefined = undefined\n\n if (media.type === 'quiz') {\n let input = media.correct\n if (!Array.isArray(input)) input = [input]\n correct = input.map((it) => {\n if (typeof it === 'number') {\n return answers[it].option\n }\n\n return it\n })\n\n if (media.solution) {\n [solution, solutionEntities] = await _normalizeInputText(client, media.solution)\n }\n }\n\n return {\n _: 'inputMediaPoll',\n poll: {\n _: 'poll',\n closed: media.closed,\n id: Long.ZERO,\n publicVoters: media.public,\n multipleChoice: media.multiple,\n quiz: media.type === 'quiz',\n question: inputTextToTl(media.question),\n answers,\n closePeriod: media.closePeriod,\n closeDate: normalizeDate(media.closeDate),\n },\n correctAnswers: correct,\n solution,\n solutionEntities,\n }\n }\n\n if (media.type === 'story') {\n return {\n _: 'inputMediaStory',\n peer: await resolvePeer(client, media.peer),\n id: media.id,\n }\n }\n\n if (media.type === 'webpage') {\n return {\n _: 'inputMediaWebPage',\n forceLargeMedia: media.size === 'large',\n forceSmallMedia: media.size === 'small',\n optional: !media.required,\n url: media.url,\n }\n }\n\n let inputFile: tl.TypeInputFile | undefined = undefined\n let thumb: tl.TypeInputFile | undefined = undefined\n let mime = 'application/octet-stream'\n\n const upload = async (file: UploadFileLike): Promise<void> => {\n let sendMime\n\n if (media.type === 'sticker') {\n sendMime = media.isAnimated ? 'application/x-tgsticker' : 'image/webp'\n } else {\n sendMime = media.fileMime\n }\n\n const uploaded = await uploadFile(client, {\n file,\n progressCallback: params.progressCallback,\n fileName: media.fileName,\n fileMime: sendMime,\n fileSize: media.fileSize,\n requireFileSize: media.type === 'photo',\n })\n inputFile = uploaded.inputFile\n mime = uploaded.mime\n }\n\n const uploadPeer = params.uploadPeer ?? { _: 'inputPeerSelf' }\n\n const uploadMediaIfNeeded = async (inputMedia: tl.TypeInputMedia, photo: boolean): Promise<tl.TypeInputMedia> => {\n if (!uploadMedia) return inputMedia\n\n const res = await client.call({\n _: 'messages.uploadMedia',\n peer: uploadPeer,\n media: inputMedia,\n businessConnectionId: params.businessConnectionId,\n })\n\n if (photo) {\n assertTypeIs('normalizeInputMedia (@ messages.uploadMedia)', res, 'messageMediaPhoto')\n assertTypeIs('normalizeInputMedia (@ messages.uploadMedia)', res.photo!, 'photo')\n\n return {\n _: 'inputMediaPhoto',\n id: {\n _: 'inputPhoto',\n id: res.photo.id,\n accessHash: res.photo.accessHash,\n fileReference: res.photo.fileReference,\n },\n ttlSeconds: media.ttlSeconds,\n spoiler: media.type === 'video' && media.spoiler,\n }\n }\n assertTypeIs('normalizeInputMedia (@ messages.uploadMedia)', res, 'messageMediaDocument')\n assertTypeIs('normalizeInputMedia (@ messages.uploadMedia)', res.document!, 'document')\n\n return {\n _: 'inputMediaDocument',\n id: {\n _: 'inputDocument',\n id: res.document.id,\n accessHash: res.document.accessHash,\n fileReference: res.document.fileReference,\n },\n ttlSeconds: media.ttlSeconds,\n spoiler: media.type === 'video' && media.spoiler,\n }\n }\n\n const input = media.file\n\n if (tdFileId.isFileIdLike(input)) {\n if (typeof input === 'string' && input.match(/^https?:\\/\\//)) {\n return uploadMediaIfNeeded(\n {\n _: media.type === 'photo' ? 'inputMediaPhotoExternal' : 'inputMediaDocumentExternal',\n url: input,\n },\n media.type === 'photo',\n )\n } else if (typeof input === 'string' && input.match(/^file:/)) {\n await upload(input.substring(5))\n } else {\n const parsed = typeof input === 'string' ? parseFileId(getPlatform(), input) : input\n\n if (parsed.location._ === 'photo') {\n return {\n _: 'inputMediaPhoto',\n id: fileIdToInputPhoto(parsed),\n }\n } else if (parsed.location._ === 'web') {\n return uploadMediaIfNeeded(\n {\n _:\n parsed.type === tdFileId.FileType.Photo ?\n 'inputMediaPhotoExternal' :\n 'inputMediaDocumentExternal',\n url: parsed.location.url,\n },\n parsed.type === tdFileId.FileType.Photo,\n )\n }\n\n return {\n _: 'inputMediaDocument',\n id: fileIdToInputDocument(parsed),\n }\n }\n } else if (typeof input === 'object' && tl.isAnyInputMedia(input)) {\n return input\n } else if (isUploadedFile(input)) {\n inputFile = input.inputFile\n mime = input.mime\n } else if (typeof input === 'object' && tl.isAnyInputFile(input)) {\n inputFile = input\n } else {\n await upload(input)\n }\n\n if (!inputFile) throw new Error('should not happen')\n\n if (media.type === 'photo') {\n return uploadMediaIfNeeded(\n {\n _: 'inputMediaUploadedPhoto',\n file: inputFile,\n ttlSeconds: media.ttlSeconds,\n spoiler: media.spoiler,\n },\n true,\n )\n }\n\n if ('thumb' in media && media.thumb) {\n thumb = await _normalizeInputFile(client, media.thumb, {})\n }\n\n const attributes: tl.TypeDocumentAttribute[] = []\n\n if (media.type !== 'voice') {\n attributes.push({\n _: 'documentAttributeFilename',\n fileName: media.fileName || inputFile.name,\n })\n }\n\n if (media.type === 'video') {\n attributes.push({\n _: 'documentAttributeVideo',\n duration: media.duration || 0,\n w: media.width || 0,\n h: media.height || 0,\n supportsStreaming: media.supportsStreaming,\n roundMessage: media.isRound,\n })\n\n if (media.isAnimated) {\n attributes.push({ _: 'documentAttributeAnimated' })\n }\n }\n\n if (media.type === 'audio' || media.type === 'voice') {\n attributes.push({\n _: 'documentAttributeAudio',\n voice: media.type === 'voice',\n duration: media.duration || 0,\n title: media.type === 'audio' ? media.title : undefined,\n performer: media.type === 'audio' ? media.performer : undefined,\n waveform: media.type === 'voice' && media.waveform ? encodeWaveform(media.waveform) : undefined,\n })\n }\n\n if (media.type === 'sticker') {\n attributes.push({\n _: 'documentAttributeSticker',\n stickerset: {\n _: 'inputStickerSetEmpty',\n },\n alt: media.alt ?? '',\n })\n }\n\n return uploadMediaIfNeeded(\n {\n _: 'inputMediaUploadedDocument',\n nosoundVideo: media.type === 'video' && media.isAnimated,\n forceFile: media.type === 'document',\n file: inputFile,\n thumb,\n mimeType: mime,\n attributes,\n ttlSeconds: media.ttlSeconds,\n spoiler: media.type === 'video' && media.spoiler,\n },\n false,\n )\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
import { RpcCallOptions } from '../../../network/network-manager.js';
|
|
3
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function _maybeInvokeWithBusinessConnection<T extends tl.RpcMethod>(client: ITelegramClient, businessConnectionId: string | undefined, request: T, params?: RpcCallOptions): Promise<tl.RpcCallReturn[T['_']]>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._maybeInvokeWithBusinessConnection = void 0;
|
|
4
|
+
const lru_map_js_1 = require("../../../utils/lru-map.js");
|
|
5
|
+
const get_business_connection_js_1 = require("../premium/get-business-connection.js");
|
|
6
|
+
// temporary solution
|
|
7
|
+
// todo – rework once we have either a more generic caching solution
|
|
8
|
+
const DC_MAP_SYMBOL = Symbol('dcMap');
|
|
9
|
+
const getDcMap = (client) => {
|
|
10
|
+
const client_ = client;
|
|
11
|
+
if (!client_[DC_MAP_SYMBOL]) {
|
|
12
|
+
client_[DC_MAP_SYMBOL] = new lru_map_js_1.LruMap(50);
|
|
13
|
+
}
|
|
14
|
+
return client_[DC_MAP_SYMBOL];
|
|
15
|
+
};
|
|
16
|
+
// @available=both
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
async function _maybeInvokeWithBusinessConnection(client, businessConnectionId, request, params) {
|
|
21
|
+
if (!businessConnectionId) {
|
|
22
|
+
return client.call(request, params);
|
|
23
|
+
}
|
|
24
|
+
const dcMap = getDcMap(client);
|
|
25
|
+
if (!dcMap.has(businessConnectionId)) {
|
|
26
|
+
const res = await (0, get_business_connection_js_1.getBusinessConnection)(client, businessConnectionId);
|
|
27
|
+
dcMap.set(businessConnectionId, res.dcId);
|
|
28
|
+
}
|
|
29
|
+
const dcId = dcMap.get(businessConnectionId);
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
31
|
+
return client.call({
|
|
32
|
+
_: 'invokeWithBusinessConnection',
|
|
33
|
+
connectionId: businessConnectionId,
|
|
34
|
+
query: request,
|
|
35
|
+
}, {
|
|
36
|
+
...params,
|
|
37
|
+
localMigrate: true, // just in case
|
|
38
|
+
dcId,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
exports._maybeInvokeWithBusinessConnection = _maybeInvokeWithBusinessConnection;
|
|
42
|
+
//# sourceMappingURL=_business-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_business-connection.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/_business-connection.ts"],"names":[],"mappings":";;;AAGA,0DAAkD;AAElD,sFAA6E;AAE7E,qBAAqB;AACrB,oEAAoE;AACpE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;AAErC,MAAM,QAAQ,GAAG,CAAC,MAAuB,EAA0B,EAAE;IACjE,MAAM,OAAO,GAAG,MAAsE,CAAA;IAEtF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,mBAAM,CAAC,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,OAAO,CAAC,aAAa,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,kBAAkB;AAClB;;GAEG;AACI,KAAK,UAAU,kCAAkC,CACpD,MAAuB,EACvB,oBAAwC,EACxC,OAAU,EACV,MAAuB;IAEvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAE9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,IAAA,kDAAqB,EAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QAErE,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAAA;IAE7C,+DAA+D;IAC/D,OAAO,MAAM,CAAC,IAAI,CACd;QACI,CAAC,EAAE,8BAA8B;QACjC,YAAY,EAAE,oBAAoB;QAClC,KAAK,EAAE,OAAO;KACjB,EACD;QACI,GAAG,MAAM;QACT,YAAY,EAAE,IAAI,EAAE,eAAe;QACnC,IAAI;KACP,CACJ,CAAA;AACL,CAAC;AAjCD,gFAiCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { RpcCallOptions } from '../../../network/network-manager.js'\nimport { LruMap } from '../../../utils/lru-map.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getBusinessConnection } from '../premium/get-business-connection.js'\n\n// temporary solution\n// todo – rework once we have either a more generic caching solution\nconst DC_MAP_SYMBOL = Symbol('dcMap')\n\nconst getDcMap = (client: ITelegramClient): LruMap<string, number> => {\n const client_ = client as typeof client & { [DC_MAP_SYMBOL]?: LruMap<string, number> }\n\n if (!client_[DC_MAP_SYMBOL]) {\n client_[DC_MAP_SYMBOL] = new LruMap(50)\n }\n\n return client_[DC_MAP_SYMBOL]\n}\n\n// @available=both\n/**\n * @internal\n */\nexport async function _maybeInvokeWithBusinessConnection<T extends tl.RpcMethod>(\n client: ITelegramClient,\n businessConnectionId: string | undefined,\n request: T,\n params?: RpcCallOptions,\n): Promise<tl.RpcCallReturn[T['_']]> {\n if (!businessConnectionId) {\n return client.call(request, params)\n }\n\n const dcMap = getDcMap(client)\n\n if (!dcMap.has(businessConnectionId)) {\n const res = await getBusinessConnection(client, businessConnectionId)\n\n dcMap.set(businessConnectionId, res.dcId)\n }\n\n const dcId = dcMap.get(businessConnectionId)!\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return client.call(\n {\n _: 'invokeWithBusinessConnection',\n connectionId: businessConnectionId,\n query: request,\n },\n {\n ...params,\n localMigrate: true, // just in case\n dcId,\n },\n )\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-poll.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/close-poll.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAEvB,wDAA+D;AAC/D,0EAAgE;AAEhE,mDAAgG;AAChG,qDAA6D;AAC7D,8DAAsD;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAMC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,sBAAsB;QACzB,IAAI,EAAE,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC;QACvC,EAAE,EAAE,OAAO;QACX,KAAK,EAAE;YACH,CAAC,EAAE,gBAAgB;YACnB,IAAI,EAAE;gBACF,CAAC,EAAE,MAAM;gBACT,EAAE,EAAE,cAAI,CAAC,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"close-poll.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/close-poll.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAEvB,wDAA+D;AAC/D,0EAAgE;AAEhE,mDAAgG;AAChG,qDAA6D;AAC7D,8DAAsD;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAMC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,sBAAsB;QACzB,IAAI,EAAE,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC;QACvC,EAAE,EAAE,OAAO;QACX,KAAK,EAAE;YACH,CAAC,EAAE,gBAAgB;YACnB,IAAI,EAAE;gBACF,CAAC,EAAE,MAAM;gBACT,EAAE,EAAE,cAAI,CAAC,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC3D,OAAO,EAAE,EAAE;aACd;SACJ;KACJ,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAEtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAA,iCAAY,EAAC,sCAAsC,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAA;IAE9E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,gCAAoB,CAAC,2CAA2C,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IACpG,CAAC;IAED,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,OAAO,IAAI,eAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC;AA1CD,8BA0CC","sourcesContent":["import Long from 'long'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, normalizeInputMessageId, PeersIndex, Poll } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Close a poll sent by you.\n *\n * Once closed, poll can't be re-opened, and nobody\n * will be able to vote in it\n */\nexport async function closePoll(\n client: ITelegramClient,\n params: InputMessageId & {\n /**\n * Whether to dispatch the edit message event\n * to the client's update handler.\n */\n shouldDispatch?: true\n },\n): Promise<Poll> {\n const { chatId, message } = normalizeInputMessageId(params)\n\n const res = await client.call({\n _: 'messages.editMessage',\n peer: await resolvePeer(client, chatId),\n id: message,\n media: {\n _: 'inputMediaPoll',\n poll: {\n _: 'poll',\n id: Long.ZERO,\n closed: true,\n question: { _: 'textWithEntities', text: '', entities: [] },\n answers: [],\n },\n },\n })\n\n assertIsUpdatesGroup('messages.editMessage', res)\n\n client.handleClientUpdate(res, !params.shouldDispatch)\n\n const upd = res.updates[0]\n assertTypeIs('messages.editMessage (@ .updates[0])', upd, 'updateMessagePoll')\n\n if (!upd.poll) {\n throw new MtTypeAssertionError('messages.editMessage (@ .updates[0].poll)', 'poll', 'undefined')\n }\n\n const peers = PeersIndex.from(res)\n\n return new Poll(upd.poll, peers, upd.results)\n}\n"]}
|
|
@@ -5,6 +5,7 @@ const index_js_1 = require("../../types/index.js");
|
|
|
5
5
|
const normalize_input_media_js_1 = require("../files/normalize-input-media.js");
|
|
6
6
|
const normalize_text_js_1 = require("../misc/normalize-text.js");
|
|
7
7
|
const resolve_peer_js_1 = require("../users/resolve-peer.js");
|
|
8
|
+
const _business_connection_js_1 = require("./_business-connection.js");
|
|
8
9
|
const find_in_update_js_1 = require("./find-in-update.js");
|
|
9
10
|
/**
|
|
10
11
|
* Edit message text, media, reply markup and schedule date.
|
|
@@ -29,7 +30,7 @@ async function editMessage(client, params) {
|
|
|
29
30
|
if (params.text) {
|
|
30
31
|
[content, entities] = await (0, normalize_text_js_1._normalizeInputText)(client, params.text);
|
|
31
32
|
}
|
|
32
|
-
const res = await client.
|
|
33
|
+
const res = await (0, _business_connection_js_1._maybeInvokeWithBusinessConnection)(client, params.businessConnectionId, {
|
|
33
34
|
_: 'messages.editMessage',
|
|
34
35
|
id: message,
|
|
35
36
|
peer: await (0, resolve_peer_js_1.resolvePeer)(client, chatId),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/edit-message.ts"],"names":[],"mappings":";;;AAGA,mDAQ6B;AAC7B,gFAAwE;AACxE,iEAA+D;AAC/D,8DAAsD;AACtD,2DAA0D;AAE1D;;;;;;GAMG;AACI,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"edit-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/edit-message.ts"],"names":[],"mappings":";;;AAGA,mDAQ6B;AAC7B,gFAAwE;AACxE,iEAA+D;AAC/D,8DAAsD;AACtD,uEAA8E;AAC9E,2DAA0D;AAE1D;;;;;;GAMG;AACI,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,MAqDC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;IAC3D,IAAI,OAAO,GAAuB,SAAS,CAAA;IAC3C,IAAI,QAA4C,CAAA;IAChD,IAAI,KAAK,GAAkC,SAAS,CAAA;IAEpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,MAAM,IAAA,+CAAoB,EAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEhE,wEAAwE;QACxE,+EAA+E;QAC/E,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,uCAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACjF,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,uCAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,IAAA,4DAAkC,EAAC,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE;QACtF,CAAC,EAAE,sBAAsB;QACzB,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC;QACvC,SAAS,EAAE,MAAM,CAAC,iBAAiB;QACnC,WAAW,EAAE,sBAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;QACzD,OAAO,EAAE,OAAO;QAChB,QAAQ;QACR,KAAK;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;KAClC,CAAC,CAAA;IAEF,OAAO,IAAA,wCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAC1E,CAAC;AAzFD,kCAyFC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport {\n BotKeyboard,\n InputMediaLike,\n InputMessageId,\n InputText,\n Message,\n normalizeInputMessageId,\n ReplyMarkup,\n} from '../../types/index.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _maybeInvokeWithBusinessConnection } from './_business-connection.js'\nimport { _findMessageInUpdate } from './find-in-update.js'\n\n/**\n * Edit message text, media, reply markup and schedule date.\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param message Message or its ID\n * @param params\n */\nexport async function editMessage(\n client: ITelegramClient,\n params: InputMessageId & {\n /**\n * New message text\n *\n * When `media` is passed, `media.caption` is used instead\n */\n text?: InputText\n\n /**\n * New message media\n */\n media?: InputMediaLike\n\n /**\n * Whether to disable links preview in this message\n */\n disableWebPreview?: boolean\n\n /**\n * For bots: new reply markup.\n * If omitted, existing markup will be removed.\n */\n replyMarkup?: ReplyMarkup\n\n /**\n * To re-schedule a message: new schedule date.\n * When passing a number, a UNIX time in ms is expected.\n */\n scheduleDate?: Date | number\n\n /**\n * For media, upload progress callback.\n *\n * @param uploaded Number of bytes uploaded\n * @param total Total file size in bytes\n */\n progressCallback?: (uploaded: number, total: number) => void\n\n /**\n * Whether to dispatch the edit message event\n * to the client's update handler.\n */\n shouldDispatch?: true\n\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invertMedia?: boolean\n\n businessConnectionId?: string\n },\n): Promise<Message> {\n const { chatId, message } = normalizeInputMessageId(params)\n let content: string | undefined = undefined\n let entities: tl.TypeMessageEntity[] | undefined\n let media: tl.TypeInputMedia | undefined = undefined\n\n if (params.media) {\n media = await _normalizeInputMedia(client, params.media, params)\n\n // if there's no caption in input media (i.e. not present or undefined),\n // user wants to keep current caption, thus `content` needs to stay `undefined`\n if ('caption' in params.media && params.media.caption !== undefined) {\n [content, entities] = await _normalizeInputText(client, params.media.caption)\n }\n }\n\n if (params.text) {\n [content, entities] = await _normalizeInputText(client, params.text)\n }\n\n const res = await _maybeInvokeWithBusinessConnection(client, params.businessConnectionId, {\n _: 'messages.editMessage',\n id: message,\n peer: await resolvePeer(client, chatId),\n noWebpage: params.disableWebPreview,\n replyMarkup: BotKeyboard._convertToTl(params.replyMarkup),\n message: content,\n entities,\n media,\n invertMedia: params.invertMedia,\n })\n\n return _findMessageInUpdate(client, res, true, !params.shouldDispatch)\n}\n"]}
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
import { Message } from '../../types/messages/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
* @noemit
|
|
7
|
+
*/
|
|
8
|
+
export declare function _findMessageInUpdate(client: ITelegramClient, res: tl.TypeUpdates, isEdit?: boolean, noDispatch?: boolean, allowNull?: false, randomId?: tl.Long): Message;
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
* @noemit
|
|
12
|
+
*/
|
|
13
|
+
export declare function _findMessageInUpdate(client: ITelegramClient, res: tl.TypeUpdates, isEdit?: boolean, noDispatch?: boolean, allowNull?: true, randomId?: tl.Long): Message | null;
|
|
@@ -19,13 +19,18 @@ function _findMessageInUpdate(client, res, isEdit = false, noDispatch = true, al
|
|
|
19
19
|
continue;
|
|
20
20
|
}
|
|
21
21
|
if (isEdit) {
|
|
22
|
-
if (!(u._ === 'updateEditMessage' ||
|
|
22
|
+
if (!(u._ === 'updateEditMessage' ||
|
|
23
|
+
u._ === 'updateEditChannelMessage' ||
|
|
24
|
+
u._ === 'updateBotEditBusinessMessage')) {
|
|
23
25
|
continue;
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
28
|
else {
|
|
26
29
|
if (!(u._ === 'updateNewMessage' ||
|
|
27
30
|
u._ === 'updateNewChannelMessage' ||
|
|
28
|
-
u._ === 'updateNewScheduledMessage'
|
|
31
|
+
u._ === 'updateNewScheduledMessage' ||
|
|
32
|
+
u._ === 'updateQuickReplyMessage' ||
|
|
33
|
+
u._ === 'updateBotNewBusinessMessage')) {
|
|
29
34
|
continue;
|
|
30
35
|
}
|
|
31
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-in-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/find-in-update.ts"],"names":[],"mappings":";;;AAGA,wDAA+D;AAE/D,4DAAuD;AACvD,yDAAuD;AACvD,qDAA6D;AA2B7D;;;GAGG;AACH,SAAgB,oBAAoB,CAChC,MAAuB,EACvB,GAAmB,EACnB,MAAM,GAAG,KAAK,EACd,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,KAAK,EACjB,QAAkB;IAElB,IAAA,+BAAoB,EAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAE1C,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,YAAY,GAAG,CAAC,CAAC,EAAE,CAAA;YACnB,SAAQ;QACZ,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,
|
|
1
|
+
{"version":3,"file":"find-in-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/find-in-update.ts"],"names":[],"mappings":";;;AAGA,wDAA+D;AAE/D,4DAAuD;AACvD,yDAAuD;AACvD,qDAA6D;AA2B7D;;;GAGG;AACH,SAAgB,oBAAoB,CAChC,MAAuB,EACvB,GAAmB,EACnB,MAAM,GAAG,KAAK,EACd,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,KAAK,EACjB,QAAkB;IAElB,IAAA,+BAAoB,EAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAE1C,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,YAAY,GAAG,CAAC,CAAC,EAAE,CAAA;YACnB,SAAQ;QACZ,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,IACI,CAAC,CACG,CAAC,CAAC,CAAC,KAAK,mBAAmB;gBAC3B,CAAC,CAAC,CAAC,KAAK,0BAA0B;gBAClC,CAAC,CAAC,CAAC,KAAK,8BAA8B,CACzC,EACH,CAAC;gBACC,SAAQ;YACZ,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IACI,CAAC,CACG,CAAC,CAAC,CAAC,KAAK,kBAAkB;gBAC1B,CAAC,CAAC,CAAC,KAAK,yBAAyB;gBACjC,CAAC,CAAC,CAAC,KAAK,2BAA2B;gBACnC,CAAC,CAAC,CAAC,KAAK,yBAAyB;gBACjC,CAAC,CAAC,CAAC,KAAK,6BAA6B,CACxC,EACH,CAAC;gBACC,SAAQ;YACZ,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,uDAAuD;QACvD,iEAAiE;QACjE,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,YAAY;YAAE,SAAQ;QAEjE,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAElC,OAAO,IAAI,kBAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,SAAS;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,IAAI,gCAAoB,CAC1B,+BAA+B,EAC/B,wEAAwE,EACxE,MAAM,CACT,CAAA;AACL,CAAC;AA7DD,oDA6DC","sourcesContent":["/* eslint-disable max-params,no-lonely-if */\nimport { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { PeersIndex } from '../../types/peers/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\n\n/**\n * @internal\n * @noemit\n */\nexport function _findMessageInUpdate(\n client: ITelegramClient,\n res: tl.TypeUpdates,\n isEdit?: boolean,\n noDispatch?: boolean,\n allowNull?: false,\n randomId?: tl.Long,\n): Message\n/**\n * @internal\n * @noemit\n */\nexport function _findMessageInUpdate(\n client: ITelegramClient,\n res: tl.TypeUpdates,\n isEdit?: boolean,\n noDispatch?: boolean,\n allowNull?: true,\n randomId?: tl.Long,\n): Message | null\n\n/**\n * @internal\n * @noemit\n */\nexport function _findMessageInUpdate(\n client: ITelegramClient,\n res: tl.TypeUpdates,\n isEdit = false,\n noDispatch = true,\n allowNull = false,\n randomId?: tl.Long,\n): Message | null {\n assertIsUpdatesGroup('_findMessageInUpdate', res)\n\n client.handleClientUpdate(res, noDispatch)\n\n let ourMessageId = 0\n\n for (const u of res.updates) {\n if (randomId && u._ === 'updateMessageID' && u.randomId.eq(randomId)) {\n ourMessageId = u.id\n continue\n }\n\n if (isEdit) {\n if (\n !(\n u._ === 'updateEditMessage' ||\n u._ === 'updateEditChannelMessage' ||\n u._ === 'updateBotEditBusinessMessage'\n )\n ) {\n continue\n }\n } else {\n if (\n !(\n u._ === 'updateNewMessage' ||\n u._ === 'updateNewChannelMessage' ||\n u._ === 'updateNewScheduledMessage' ||\n u._ === 'updateQuickReplyMessage' ||\n u._ === 'updateBotNewBusinessMessage'\n )\n ) {\n continue\n }\n }\n\n // this *may* break if updateMessageID comes after the message update\n // but it's unlikely and is not worth the effort to fix\n // we should eventually move to properly handling updateMessageID\n if (ourMessageId !== 0 && u.message.id !== ourMessageId) continue\n\n const peers = PeersIndex.from(res)\n\n return new Message(u.message, peers, u._ === 'updateNewScheduledMessage')\n }\n\n if (allowNull) return null\n\n throw new MtTypeAssertionError(\n '_findInUpdate (@ .updates[*])',\n 'updateNewMessage | updateNewChannelMessage | updateNewScheduledMessage',\n 'none',\n )\n}\n"]}
|
|
@@ -41,6 +41,11 @@ export interface ForwardMessageOptions {
|
|
|
41
41
|
* Peer to use when sending the message.
|
|
42
42
|
*/
|
|
43
43
|
sendAs?: InputPeerLike;
|
|
44
|
+
/**
|
|
45
|
+
* If passed, instead of sending the message, it will be saved into the
|
|
46
|
+
* given quick reply shortcut (either its ID or its shortcut string).
|
|
47
|
+
*/
|
|
48
|
+
quickReply?: number | string;
|
|
44
49
|
/**
|
|
45
50
|
* Whether to dispatch the forwarded messages
|
|
46
51
|
* to the client's update handler.
|
|
@@ -7,6 +7,7 @@ const index_js_1 = require("../../types/index.js");
|
|
|
7
7
|
const utils_js_1 = require("../../updates/utils.js");
|
|
8
8
|
const misc_utils_js_1 = require("../../utils/misc-utils.js");
|
|
9
9
|
const resolve_peer_js_1 = require("../users/resolve-peer.js");
|
|
10
|
+
const send_common_js_1 = require("./send-common.js");
|
|
10
11
|
/**
|
|
11
12
|
* Forward one or more messages by their IDs.
|
|
12
13
|
* You can forward no more than 100 messages at once.
|
|
@@ -38,6 +39,7 @@ async function forwardMessagesById(client, params) {
|
|
|
38
39
|
dropMediaCaptions: noCaption,
|
|
39
40
|
noforwards: forbidForwards,
|
|
40
41
|
sendAs: sendAs ? await (0, resolve_peer_js_1.resolvePeer)(client, sendAs) : undefined,
|
|
42
|
+
quickReplyShortcut: (0, send_common_js_1._normalizeQuickReplyShortcut)(params.quickReply),
|
|
41
43
|
});
|
|
42
44
|
(0, utils_js_1.assertIsUpdatesGroup)('messages.forwardMessages', res);
|
|
43
45
|
client.handleClientUpdate(res, !params.shouldDispatch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forward-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/forward-messages.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,gEAAyD;AAEzD,mDAAyE;AACzE,qDAA6D;AAC7D,6DAAyD;AACzD,8DAAsD;
|
|
1
|
+
{"version":3,"file":"forward-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/forward-messages.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,gEAAyD;AAEzD,mDAAyE;AACzE,qDAA6D;AAC7D,6DAAyD;AACzD,8DAAsD;AACtD,qDAA+D;AAiE/D;;;;;;;;;GASG;AACI,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,MAKC;IAED,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAEhH,yDAAyD;IACzD,uDAAuD;IACvD,4CAA4C;IAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACxB,MAAM,IAAI,2BAAe,CAAC,mDAAmD,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAElD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,0BAA0B;QAC7B,MAAM;QACN,QAAQ,EAAE,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,UAAU,CAAC;QAC/C,EAAE,EAAE,QAAQ;QACZ,MAAM;QACN,YAAY,EAAE,IAAA,6BAAa,EAAC,QAAQ,CAAC;QACrC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,IAAA,0BAAU,GAAE,CAAC;QACrE,UAAU,EAAE,QAAQ;QACpB,iBAAiB,EAAE,SAAS;QAC5B,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,kBAAkB,EAAE,IAAA,6CAA4B,EAAC,MAAM,CAAC,UAAU,CAAC;KACtE,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;IAErD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAEtD,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,MAAM,SAAS,GAAc,EAAE,CAAA;IAC/B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACxB,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;YACZ,KAAK,kBAAkB,CAAC;YACxB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,2BAA2B;gBAC5B,SAAS,CAAC,IAAI,CAAC,IAAI,kBAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAC,CAAA;gBACtF,MAAK;QACb,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,SAAS,CAAA;AACpB,CAAC;AArDD,kDAqDC;AAED;;;;GAIG;AACI,KAAK,UAAU,eAAe,CACjC,MAAuB,EACvB,MAEC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,OAAO,mBAAmB,CAAC,MAAM,EAAE;QAC/B,GAAG,IAAI;QACP,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QACtC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACxC,CAAC,CAAA;AACN,CAAC;AAbD,0CAaC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message, PeersIndex } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _normalizeQuickReplyShortcut } from './send-common.js'\n\n// @exported\nexport interface ForwardMessageOptions {\n /** Destination chat ID, username, phone, `\"me\"` or `\"self\"` */\n toChatId: InputPeerLike\n\n /**\n * Whether to forward silently (also applies to caption message).\n */\n silent?: boolean\n\n /**\n * If set, the forwarding will be scheduled to this date\n * (also applies to caption message).\n * When passing a number, a UNIX time in ms is expected.\n *\n * You can also pass `0x7FFFFFFE`, this will send the message\n * once the peer is online\n */\n schedule?: Date | number\n\n /**\n * Whether to clear draft after sending this message (only used for caption)\n *\n * @default `false`\n */\n clearDraft?: boolean\n\n /**\n * Whether to forward without author\n */\n noAuthor?: boolean\n\n /**\n * Whether to forward without caption (implies {@link noAuthor})\n */\n noCaption?: boolean\n\n /**\n * Whether to disallow further forwards of this message.\n *\n * Only for bots, works even if the target chat does not\n * have content protection.\n */\n forbidForwards?: boolean\n\n /**\n * Peer to use when sending the message.\n */\n sendAs?: InputPeerLike\n\n /**\n * If passed, instead of sending the message, it will be saved into the\n * given quick reply shortcut (either its ID or its shortcut string).\n */\n quickReply?: number | string\n\n /**\n * Whether to dispatch the forwarded messages\n * to the client's update handler.\n */\n shouldDispatch?: true\n}\n\n/**\n * Forward one or more messages by their IDs.\n * You can forward no more than 100 messages at once.\n *\n * @param toChatId Destination chat ID, username, phone, `\"me\"` or `\"self\"`\n * @param fromChatId Source chat ID, username, phone, `\"me\"` or `\"self\"`\n * @param messages Message IDs\n * @param params Additional sending parameters\n * @returns Newly sent, forwarded messages in the destination chat.\n */\nexport async function forwardMessagesById(\n client: ITelegramClient,\n params: ForwardMessageOptions & {\n /** Source chat ID, username, phone, `\"me\"` or `\"self\"` */\n fromChatId: InputPeerLike\n /** Message IDs to forward */\n messages: number[]\n },\n): Promise<Message[]> {\n const { messages, toChatId, fromChatId, silent, schedule, forbidForwards, sendAs, noAuthor, noCaption } = params\n\n // sending more than 100 will not result in a server-sent\n // error, instead only first 100 IDs will be forwarded,\n // which is definitely not the best outcome.\n if (messages.length > 100) {\n throw new MtArgumentError('You can forward no more than 100 messages at once')\n }\n\n const toPeer = await resolvePeer(client, toChatId)\n\n const res = await client.call({\n _: 'messages.forwardMessages',\n toPeer,\n fromPeer: await resolvePeer(client, fromChatId),\n id: messages,\n silent,\n scheduleDate: normalizeDate(schedule),\n randomId: Array.from({ length: messages.length }, () => randomLong()),\n dropAuthor: noAuthor,\n dropMediaCaptions: noCaption,\n noforwards: forbidForwards,\n sendAs: sendAs ? await resolvePeer(client, sendAs) : undefined,\n quickReplyShortcut: _normalizeQuickReplyShortcut(params.quickReply),\n })\n\n assertIsUpdatesGroup('messages.forwardMessages', res)\n\n client.handleClientUpdate(res, !params.shouldDispatch)\n\n const peers = PeersIndex.from(res)\n\n const forwarded: Message[] = []\n res.updates.forEach((upd) => {\n switch (upd._) {\n case 'updateNewMessage':\n case 'updateNewChannelMessage':\n case 'updateNewScheduledMessage':\n forwarded.push(new Message(upd.message, peers, upd._ === 'updateNewScheduledMessage'))\n break\n }\n })\n\n return forwarded\n}\n\n/**\n * Forward one or more {@link Message}s to another chat.\n *\n * > **Note**: all messages must be from the same chat.\n */\nexport async function forwardMessages(\n client: ITelegramClient,\n params: ForwardMessageOptions & {\n messages: Message[]\n },\n): Promise<Message[]> {\n const { messages, ...rest } = params\n\n return forwardMessagesById(client, {\n ...rest,\n fromChatId: messages[0].chat.inputPeer,\n messages: messages.map((it) => it.id),\n })\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { InputPeerLike, Message } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Get all scheduled messages in chat
|
|
5
|
+
*
|
|
6
|
+
* @param chatId Chat's marked ID, its username, phone or `"me"` or `"self"`
|
|
7
|
+
*/
|
|
8
|
+
export declare function getAllScheduledMessages(client: ITelegramClient, chatId: InputPeerLike): Promise<Message[]>;
|