@mtcute/core 0.12.5 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/highlevel/client.d.ts +83 -2
- package/cjs/highlevel/client.js +19 -0
- package/cjs/highlevel/client.js.map +1 -1
- package/cjs/highlevel/methods/_imports.js.map +1 -1
- package/cjs/highlevel/methods/chats/archive-chats.js +2 -1
- package/cjs/highlevel/methods/chats/archive-chats.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/find-dialogs.d.ts +12 -0
- package/cjs/highlevel/methods/dialogs/find-dialogs.js +88 -0
- package/cjs/highlevel/methods/dialogs/find-dialogs.js.map +1 -0
- package/cjs/highlevel/methods/dialogs/get-peer-dialogs.js +2 -1
- package/cjs/highlevel/methods/dialogs/get-peer-dialogs.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/iter-dialogs.js +3 -1
- package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
- package/cjs/highlevel/methods/messages/_business-connection.d.ts +2 -1
- package/cjs/highlevel/methods/messages/_business-connection.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-available-effects.d.ts +6 -0
- package/cjs/highlevel/methods/messages/get-available-effects.js +26 -0
- package/cjs/highlevel/methods/messages/get-available-effects.js.map +1 -0
- package/cjs/highlevel/methods/messages/get-fact-check.d.ts +11 -0
- package/cjs/highlevel/methods/messages/get-fact-check.js +27 -0
- package/cjs/highlevel/methods/messages/get-fact-check.js.map +1 -0
- package/cjs/highlevel/methods/messages/search-hashtag.d.ts +44 -0
- package/cjs/highlevel/methods/messages/search-hashtag.js +75 -0
- package/cjs/highlevel/methods/messages/search-hashtag.js.map +1 -0
- package/cjs/highlevel/methods/messages/send-common.d.ts +5 -0
- package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media-group.js +1 -0
- package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media.js +1 -0
- package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-text.js +1 -0
- package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
- package/cjs/highlevel/methods/misc/normalize-privacy-rules.js +2 -1
- package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
- package/cjs/highlevel/methods/users/resolve-peer-many.d.ts +6 -2
- package/cjs/highlevel/methods/users/resolve-peer-many.js +22 -6
- package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
- package/cjs/highlevel/methods/users/resolve-peer.js +30 -11
- package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
- package/cjs/highlevel/methods.d.ts +6 -0
- package/cjs/highlevel/methods.js +15 -4
- package/cjs/highlevel/methods.js.map +1 -1
- package/cjs/highlevel/types/conversation.js +1 -1
- package/cjs/highlevel/types/conversation.js.map +1 -1
- package/cjs/highlevel/types/messages/dialog.d.ts +2 -2
- package/cjs/highlevel/types/messages/dialog.js +2 -3
- package/cjs/highlevel/types/messages/dialog.js.map +1 -1
- package/cjs/highlevel/types/messages/fact-check.d.ts +30 -0
- package/cjs/highlevel/types/messages/fact-check.js +56 -0
- package/cjs/highlevel/types/messages/fact-check.js.map +1 -0
- package/cjs/highlevel/types/messages/index.d.ts +2 -0
- package/cjs/highlevel/types/messages/index.js +2 -0
- package/cjs/highlevel/types/messages/index.js.map +1 -1
- package/cjs/highlevel/types/messages/message-effect.d.ts +20 -0
- package/cjs/highlevel/types/messages/message-effect.js +69 -0
- package/cjs/highlevel/types/messages/message-effect.js.map +1 -0
- package/cjs/highlevel/types/messages/message-entity.d.ts +4 -1
- package/cjs/highlevel/types/messages/message-entity.js +1 -1
- package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
- package/cjs/highlevel/types/messages/message.d.ts +12 -0
- package/cjs/highlevel/types/messages/message.js +23 -0
- package/cjs/highlevel/types/messages/message.js.map +1 -1
- package/cjs/network/network-manager.js +1 -1
- package/esm/highlevel/client.d.ts +83 -2
- package/esm/highlevel/client.js +19 -0
- package/esm/highlevel/client.js.map +1 -1
- package/esm/highlevel/methods/_imports.js.map +1 -1
- package/esm/highlevel/methods/chats/archive-chats.js +2 -1
- package/esm/highlevel/methods/chats/archive-chats.js.map +1 -1
- package/esm/highlevel/methods/dialogs/find-dialogs.d.ts +12 -0
- package/esm/highlevel/methods/dialogs/find-dialogs.js +84 -0
- package/esm/highlevel/methods/dialogs/find-dialogs.js.map +1 -0
- package/esm/highlevel/methods/dialogs/get-peer-dialogs.js +2 -1
- package/esm/highlevel/methods/dialogs/get-peer-dialogs.js.map +1 -1
- package/esm/highlevel/methods/dialogs/iter-dialogs.js +3 -1
- package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
- package/esm/highlevel/methods/messages/_business-connection.d.ts +2 -1
- package/esm/highlevel/methods/messages/_business-connection.js.map +1 -1
- package/esm/highlevel/methods/messages/get-available-effects.d.ts +6 -0
- package/esm/highlevel/methods/messages/get-available-effects.js +22 -0
- package/esm/highlevel/methods/messages/get-available-effects.js.map +1 -0
- package/esm/highlevel/methods/messages/get-fact-check.d.ts +11 -0
- package/esm/highlevel/methods/messages/get-fact-check.js +23 -0
- package/esm/highlevel/methods/messages/get-fact-check.js.map +1 -0
- package/esm/highlevel/methods/messages/search-hashtag.d.ts +44 -0
- package/esm/highlevel/methods/messages/search-hashtag.js +70 -0
- package/esm/highlevel/methods/messages/search-hashtag.js.map +1 -0
- package/esm/highlevel/methods/messages/send-common.d.ts +5 -0
- package/esm/highlevel/methods/messages/send-common.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media-group.js +1 -0
- package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media.js +1 -0
- package/esm/highlevel/methods/messages/send-media.js.map +1 -1
- package/esm/highlevel/methods/messages/send-text.js +1 -0
- package/esm/highlevel/methods/messages/send-text.js.map +1 -1
- package/esm/highlevel/methods/misc/normalize-privacy-rules.js +2 -1
- package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
- package/esm/highlevel/methods/users/resolve-peer-many.d.ts +6 -2
- package/esm/highlevel/methods/users/resolve-peer-many.js +22 -6
- package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
- package/esm/highlevel/methods/users/resolve-peer.js +30 -11
- package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
- package/esm/highlevel/methods.d.ts +6 -0
- package/esm/highlevel/methods.js +5 -0
- package/esm/highlevel/methods.js.map +1 -1
- package/esm/highlevel/types/conversation.js +1 -1
- package/esm/highlevel/types/conversation.js.map +1 -1
- package/esm/highlevel/types/messages/dialog.d.ts +2 -2
- package/esm/highlevel/types/messages/dialog.js +2 -3
- package/esm/highlevel/types/messages/dialog.js.map +1 -1
- package/esm/highlevel/types/messages/fact-check.d.ts +30 -0
- package/esm/highlevel/types/messages/fact-check.js +53 -0
- package/esm/highlevel/types/messages/fact-check.js.map +1 -0
- package/esm/highlevel/types/messages/index.d.ts +2 -0
- package/esm/highlevel/types/messages/index.js +2 -0
- package/esm/highlevel/types/messages/index.js.map +1 -1
- package/esm/highlevel/types/messages/message-effect.d.ts +20 -0
- package/esm/highlevel/types/messages/message-effect.js +66 -0
- package/esm/highlevel/types/messages/message-effect.js.map +1 -0
- package/esm/highlevel/types/messages/message-entity.d.ts +4 -1
- package/esm/highlevel/types/messages/message-entity.js +1 -1
- package/esm/highlevel/types/messages/message-entity.js.map +1 -1
- package/esm/highlevel/types/messages/message.d.ts +12 -0
- package/esm/highlevel/types/messages/message.js +23 -0
- package/esm/highlevel/types/messages/message.js.map +1 -1
- package/esm/network/network-manager.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../src/highlevel/methods.ts"],"names":[],"mappings":"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","sourcesContent":["/* THIS FILE WAS AUTO-GENERATED */\nexport { checkPassword } from './methods/auth/check-password.js'\nexport { getPasswordHint } from './methods/auth/get-password-hint.js'\nexport { logOut } from './methods/auth/log-out.js'\nexport { recoverPassword } from './methods/auth/recover-password.js'\nexport { resendCode } from './methods/auth/resend-code.js'\nexport { run } from './methods/auth/run.js'\nexport { sendCode } from './methods/auth/send-code.js'\nexport { sendRecoveryCode } from './methods/auth/send-recovery-code.js'\nexport { signIn } from './methods/auth/sign-in.js'\nexport { signInBot } from './methods/auth/sign-in-bot.js'\nexport { start } from './methods/auth/start.js'\nexport { startTest } from './methods/auth/start-test.js'\nexport { isSelfPeer } from './methods/auth/utils.js'\nexport { answerCallbackQuery } from './methods/bots/answer-callback-query.js'\nexport { answerInlineQuery } from './methods/bots/answer-inline-query.js'\nexport { answerPreCheckoutQuery } from './methods/bots/answer-pre-checkout-query.js'\nexport { deleteMyCommands } from './methods/bots/delete-my-commands.js'\nexport { getBotInfo } from './methods/bots/get-bot-info.js'\nexport { getBotMenuButton } from './methods/bots/get-bot-menu-button.js'\nexport { getCallbackAnswer } from './methods/bots/get-callback-answer.js'\nexport { getGameHighScores } from './methods/bots/get-game-high-scores.js'\nexport { getInlineGameHighScores } from './methods/bots/get-game-high-scores.js'\nexport { getMyCommands } from './methods/bots/get-my-commands.js'\nexport { setBotInfo } from './methods/bots/set-bot-info.js'\nexport { setBotMenuButton } from './methods/bots/set-bot-menu-button.js'\nexport { setGameScore } from './methods/bots/set-game-score.js'\nexport { setInlineGameScore } from './methods/bots/set-game-score.js'\nexport { setMyCommands } from './methods/bots/set-my-commands.js'\nexport { setMyDefaultRights } from './methods/bots/set-my-default-rights.js'\nexport { addChatMembers } from './methods/chats/add-chat-members.js'\nexport { archiveChats } from './methods/chats/archive-chats.js'\nexport { banChatMember } from './methods/chats/ban-chat-member.js'\nexport { createChannel } from './methods/chats/create-channel.js'\nexport type { CreateGroupResult } from './methods/chats/create-group.js'\nexport { createGroup } from './methods/chats/create-group.js'\nexport { createSupergroup } from './methods/chats/create-supergroup.js'\nexport { deleteChannel } from './methods/chats/delete-channel.js'\nexport { deleteChatPhoto } from './methods/chats/delete-chat-photo.js'\nexport { deleteGroup } from './methods/chats/delete-group.js'\nexport { deleteHistory } from './methods/chats/delete-history.js'\nexport { deleteUserHistory } from './methods/chats/delete-user-history.js'\nexport { editAdminRights } from './methods/chats/edit-admin-rights.js'\nexport { getChat } from './methods/chats/get-chat.js'\nexport { getChatEventLog } from './methods/chats/get-chat-event-log.js'\nexport { getChatMember } from './methods/chats/get-chat-member.js'\nexport { getChatMembers } from './methods/chats/get-chat-members.js'\nexport { getChatPreview } from './methods/chats/get-chat-preview.js'\nexport { getFullChat } from './methods/chats/get-full-chat.js'\nexport { getNearbyChats } from './methods/chats/get-nearby-chats.js'\nexport { getSimilarChannels } from './methods/chats/get-similar-channels.js'\nexport { iterChatEventLog } from './methods/chats/iter-chat-event-log.js'\nexport { iterChatMembers } from './methods/chats/iter-chat-members.js'\nexport { joinChat } from './methods/chats/join-chat.js'\nexport { kickChatMember } from './methods/chats/kick-chat-member.js'\nexport { leaveChat } from './methods/chats/leave-chat.js'\nexport { markChatUnread } from './methods/chats/mark-chat-unread.js'\nexport { openChat } from './methods/chats/open-chat.js'\nexport { closeChat } from './methods/chats/open-chat.js'\nexport { reorderUsernames } from './methods/chats/reorder-usernames.js'\nexport { restrictChatMember } from './methods/chats/restrict-chat-member.js'\nexport { saveDraft } from './methods/chats/save-draft.js'\nexport { setChatColor } from './methods/chats/set-chat-color.js'\nexport { setChatDefaultPermissions } from './methods/chats/set-chat-default-permissions.js'\nexport { setChatDescription } from './methods/chats/set-chat-description.js'\nexport { setChatPhoto } from './methods/chats/set-chat-photo.js'\nexport { setChatTitle } from './methods/chats/set-chat-title.js'\nexport { setChatTtl } from './methods/chats/set-chat-ttl.js'\nexport { setChatUsername } from './methods/chats/set-chat-username.js'\nexport { setSlowMode } from './methods/chats/set-slow-mode.js'\nexport { toggleContentProtection } from './methods/chats/toggle-content-protection.js'\nexport { toggleFragmentUsername } from './methods/chats/toggle-fragment-username.js'\nexport { toggleJoinRequests } from './methods/chats/toggle-join-requests.js'\nexport { toggleJoinToSend } from './methods/chats/toggle-join-to-send.js'\nexport { unarchiveChats } from './methods/chats/unarchive-chats.js'\nexport { unbanChatMember } from './methods/chats/unban-chat-member.js'\nexport { addContact } from './methods/contacts/add-contact.js'\nexport { deleteContacts } from './methods/contacts/delete-contacts.js'\nexport { getContacts } from './methods/contacts/get-contacts.js'\nexport { importContacts } from './methods/contacts/import-contacts.js'\nexport { createFolder } from './methods/dialogs/create-folder.js'\nexport { deleteFolder } from './methods/dialogs/delete-folder.js'\nexport { editFolder } from './methods/dialogs/edit-folder.js'\nexport { findFolder } from './methods/dialogs/find-folder.js'\nexport { getFolders } from './methods/dialogs/get-folders.js'\nexport { getPeerDialogs } from './methods/dialogs/get-peer-dialogs.js'\nexport { iterDialogs } from './methods/dialogs/iter-dialogs.js'\nexport { setFoldersOrder } from './methods/dialogs/set-folders-order.js'\nexport { downloadAsBuffer } from './methods/files/download-buffer.js'\nexport { downloadAsIterable } from './methods/files/download-iterable.js'\nexport { downloadAsStream } from './methods/files/download-stream.js'\nexport { _normalizeInputFile } from './methods/files/normalize-input-file.js'\nexport { _normalizeInputMedia } from './methods/files/normalize-input-media.js'\nexport { uploadFile } from './methods/files/upload-file.js'\nexport { uploadMedia } from './methods/files/upload-media.js'\nexport { createForumTopic } from './methods/forums/create-forum-topic.js'\nexport { deleteForumTopicHistory } from './methods/forums/delete-forum-topic-history.js'\nexport { editForumTopic } from './methods/forums/edit-forum-topic.js'\nexport type { GetForumTopicsOffset } from './methods/forums/get-forum-topics.js'\nexport { getForumTopics } from './methods/forums/get-forum-topics.js'\nexport { getForumTopicsById } from './methods/forums/get-forum-topics-by-id.js'\nexport { iterForumTopics } from './methods/forums/iter-forum-topics.js'\nexport { reorderPinnedForumTopics } from './methods/forums/reorder-pinned-forum-topics.js'\nexport { toggleForum } from './methods/forums/toggle-forum.js'\nexport { toggleForumTopicClosed } from './methods/forums/toggle-forum-topic-closed.js'\nexport { toggleForumTopicPinned } from './methods/forums/toggle-forum-topic-pinned.js'\nexport { toggleGeneralTopicHidden } from './methods/forums/toggle-general-topic-hidden.js'\nexport { createInviteLink } from './methods/invite-links/create-invite-link.js'\nexport { editInviteLink } from './methods/invite-links/edit-invite-link.js'\nexport { exportInviteLink } from './methods/invite-links/export-invite-link.js'\nexport { getInviteLink } from './methods/invite-links/get-invite-link.js'\nexport { getInviteLinkMembers } from './methods/invite-links/get-invite-link-members.js'\nexport type { GetInviteLinksOffset } from './methods/invite-links/get-invite-links.js'\nexport { getInviteLinks } from './methods/invite-links/get-invite-links.js'\nexport { getPrimaryInviteLink } from './methods/invite-links/get-primary-invite-link.js'\nexport { hideAllJoinRequests } from './methods/invite-links/hide-all-join-requests.js'\nexport { hideJoinRequest } from './methods/invite-links/hide-join-request.js'\nexport { iterInviteLinkMembers } from './methods/invite-links/iter-invite-link-members.js'\nexport { iterInviteLinks } from './methods/invite-links/iter-invite-links.js'\nexport { revokeInviteLink } from './methods/invite-links/revoke-invite-link.js'\nexport { closePoll } from './methods/messages/close-poll.js'\nexport type { DeleteMessagesParams } from './methods/messages/delete-messages.js'\nexport { deleteMessagesById } from './methods/messages/delete-messages.js'\nexport { deleteMessages } from './methods/messages/delete-messages.js'\nexport { deleteScheduledMessages } from './methods/messages/delete-scheduled-messages.js'\nexport { editInlineMessage } from './methods/messages/edit-inline-message.js'\nexport { editMessage } from './methods/messages/edit-message.js'\nexport type { ForwardMessageOptions } from './methods/messages/forward-messages.js'\nexport { forwardMessagesById } from './methods/messages/forward-messages.js'\nexport { forwardMessages } from './methods/messages/forward-messages.js'\nexport { getAllScheduledMessages } from './methods/messages/get-all-scheduled-messages.js'\nexport { getCallbackQueryMessage } from './methods/messages/get-callback-query-message.js'\nexport { getDiscussionMessage } from './methods/messages/get-discussion-message.js'\nexport type { GetHistoryOffset } from './methods/messages/get-history.js'\nexport { getHistory } from './methods/messages/get-history.js'\nexport { getMessageByLink } from './methods/messages/get-message-by-link.js'\nexport { getMessageGroup } from './methods/messages/get-message-group.js'\nexport { getMessageReactionsById } from './methods/messages/get-message-reactions.js'\nexport { getMessageReactions } from './methods/messages/get-message-reactions.js'\nexport { getMessages } from './methods/messages/get-messages.js'\nexport { getMessagesUnsafe } from './methods/messages/get-messages-unsafe.js'\nexport type { GetReactionUsersOffset } from './methods/messages/get-reaction-users.js'\nexport { getReactionUsers } from './methods/messages/get-reaction-users.js'\nexport { getReplyTo } from './methods/messages/get-reply-to.js'\nexport { getScheduledMessages } from './methods/messages/get-scheduled-messages.js'\nexport { iterHistory } from './methods/messages/iter-history.js'\nexport { iterReactionUsers } from './methods/messages/iter-reaction-users.js'\nexport { iterSearchGlobal } from './methods/messages/iter-search-global.js'\nexport { iterSearchMessages } from './methods/messages/iter-search-messages.js'\nexport { pinMessage } from './methods/messages/pin-message.js'\nexport { readHistory } from './methods/messages/read-history.js'\nexport { readReactions } from './methods/messages/read-reactions.js'\nexport type { SearchGlobalOffset } from './methods/messages/search-global.js'\nexport { searchGlobal } from './methods/messages/search-global.js'\nexport type { SearchMessagesOffset } from './methods/messages/search-messages.js'\nexport { searchMessages } from './methods/messages/search-messages.js'\nexport { answerText } from './methods/messages/send-answer.js'\nexport { answerMedia } from './methods/messages/send-answer.js'\nexport { answerMediaGroup } from './methods/messages/send-answer.js'\nexport { commentText } from './methods/messages/send-comment.js'\nexport { commentMedia } from './methods/messages/send-comment.js'\nexport { commentMediaGroup } from './methods/messages/send-comment.js'\nexport type { SendCopyParams } from './methods/messages/send-copy.js'\nexport { sendCopy } from './methods/messages/send-copy.js'\nexport type { SendCopyGroupParams } from './methods/messages/send-copy-group.js'\nexport { sendCopyGroup } from './methods/messages/send-copy-group.js'\nexport { sendMedia } from './methods/messages/send-media.js'\nexport { sendMediaGroup } from './methods/messages/send-media-group.js'\nexport type { QuoteParamsFrom } from './methods/messages/send-quote.js'\nexport { quoteWithText } from './methods/messages/send-quote.js'\nexport { quoteWithMedia } from './methods/messages/send-quote.js'\nexport { quoteWithMediaGroup } from './methods/messages/send-quote.js'\nexport { sendReaction } from './methods/messages/send-reaction.js'\nexport { replyText } from './methods/messages/send-reply.js'\nexport { replyMedia } from './methods/messages/send-reply.js'\nexport { replyMediaGroup } from './methods/messages/send-reply.js'\nexport { sendScheduled } from './methods/messages/send-scheduled.js'\nexport { sendText } from './methods/messages/send-text.js'\nexport { sendTyping } from './methods/messages/send-typing.js'\nexport { sendVote } from './methods/messages/send-vote.js'\nexport { translateMessage } from './methods/messages/translate-message.js'\nexport { translateText } from './methods/messages/translate-text.js'\nexport { unpinAllMessages } from './methods/messages/unpin-all-messages.js'\nexport { unpinMessage } from './methods/messages/unpin-message.js'\nexport { getCollectibleInfo } from './methods/misc/get-collectible-info.js'\nexport { initTakeoutSession } from './methods/misc/init-takeout-session.js'\nexport { _normalizePrivacyRules } from './methods/misc/normalize-privacy-rules.js'\nexport { changeCloudPassword } from './methods/password/change-cloud-password.js'\nexport { enableCloudPassword } from './methods/password/enable-cloud-password.js'\nexport { verifyPasswordEmail } from './methods/password/password-email.js'\nexport { resendPasswordEmail } from './methods/password/password-email.js'\nexport { cancelPasswordEmail } from './methods/password/password-email.js'\nexport { removeCloudPassword } from './methods/password/remove-cloud-password.js'\nexport { applyBoost } from './methods/premium/apply-boost.js'\nexport type { CanApplyBoostResult } from './methods/premium/can-apply-boost.js'\nexport { canApplyBoost } from './methods/premium/can-apply-boost.js'\nexport { createBusinessChatLink } from './methods/premium/create-business-chat-link.js'\nexport { editBusinessChatLink } from './methods/premium/edit-business-chat-link.js'\nexport { deleteBusinessChatLink } from './methods/premium/edit-business-chat-link.js'\nexport { getBoostStats } from './methods/premium/get-boost-stats.js'\nexport { getBoosts } from './methods/premium/get-boosts.js'\nexport { getBusinessChatLinks } from './methods/premium/get-business-chat-links.js'\nexport { getBusinessConnection } from './methods/premium/get-business-connection.js'\nexport { getMyBoostSlots } from './methods/premium/get-my-boost-slots.js'\nexport { iterBoosters } from './methods/premium/iter-boosters.js'\nexport { setBusinessIntro } from './methods/premium/set-business-intro.js'\nexport { setBusinessWorkHours } from './methods/premium/set-business-work-hours.js'\nexport { addStickerToSet } from './methods/stickers/add-sticker-to-set.js'\nexport { createStickerSet } from './methods/stickers/create-sticker-set.js'\nexport { deleteStickerFromSet } from './methods/stickers/delete-sticker-from-set.js'\nexport { getCustomEmojis } from './methods/stickers/get-custom-emojis.js'\nexport { getCustomEmojisFromMessages } from './methods/stickers/get-custom-emojis.js'\nexport { getInstalledStickers } from './methods/stickers/get-installed-stickers.js'\nexport { getMyStickerSets } from './methods/stickers/get-my-sticker-sets.js'\nexport { getStickerSet } from './methods/stickers/get-sticker-set.js'\nexport { moveStickerInSet } from './methods/stickers/move-sticker-in-set.js'\nexport { replaceStickerInSet } from './methods/stickers/replace-sticker-in-set.js'\nexport { setChatStickerSet } from './methods/stickers/set-chat-sticker-set.js'\nexport { setStickerSetThumb } from './methods/stickers/set-sticker-set-thumb.js'\nexport type { CanSendStoryResult } from './methods/stories/can-send-story.js'\nexport { canSendStory } from './methods/stories/can-send-story.js'\nexport { deleteStories } from './methods/stories/delete-stories.js'\nexport { editStory } from './methods/stories/edit-story.js'\nexport { getAllStories } from './methods/stories/get-all-stories.js'\nexport { getPeerStories } from './methods/stories/get-peer-stories.js'\nexport { getProfileStories } from './methods/stories/get-profile-stories.js'\nexport { getStoriesById } from './methods/stories/get-stories-by-id.js'\nexport { getStoriesInteractions } from './methods/stories/get-stories-interactions.js'\nexport { getStoryLink } from './methods/stories/get-story-link.js'\nexport { getStoryViewers } from './methods/stories/get-story-viewers.js'\nexport { hideMyStoriesViews } from './methods/stories/hide-my-stories-views.js'\nexport { incrementStoriesViews } from './methods/stories/increment-stories-views.js'\nexport { iterAllStories } from './methods/stories/iter-all-stories.js'\nexport { iterProfileStories } from './methods/stories/iter-profile-stories.js'\nexport { iterStoryViewers } from './methods/stories/iter-story-viewers.js'\nexport { readStories } from './methods/stories/read-stories.js'\nexport { reportStory } from './methods/stories/report-story.js'\nexport { sendStory } from './methods/stories/send-story.js'\nexport { sendStoryReaction } from './methods/stories/send-story-reaction.js'\nexport { togglePeerStoriesArchived } from './methods/stories/toggle-peer-stories-archived.js'\nexport { toggleStoriesPinned } from './methods/stories/toggle-stories-pinned.js'\nexport { blockUser } from './methods/users/block-user.js'\nexport { deleteProfilePhotos } from './methods/users/delete-profile-photos.js'\nexport { editCloseFriendsRaw } from './methods/users/edit-close-friends.js'\nexport { editCloseFriends } from './methods/users/edit-close-friends.js'\nexport { getCommonChats } from './methods/users/get-common-chats.js'\nexport { getGlobalTtl } from './methods/users/get-global-ttl.js'\nexport { getMe } from './methods/users/get-me.js'\nexport { getMyUsername } from './methods/users/get-my-username.js'\nexport { getProfilePhoto } from './methods/users/get-profile-photo.js'\nexport { getProfilePhotos } from './methods/users/get-profile-photos.js'\nexport { getUsers } from './methods/users/get-users.js'\nexport { iterProfilePhotos } from './methods/users/iter-profile-photos.js'\nexport { resolvePeer } from './methods/users/resolve-peer.js'\nexport { resolveUser } from './methods/users/resolve-peer.js'\nexport { resolveChannel } from './methods/users/resolve-peer.js'\nexport { resolvePeerMany } from './methods/users/resolve-peer-many.js'\nexport { setGlobalTtl } from './methods/users/set-global-ttl.js'\nexport { setMyBirthday } from './methods/users/set-my-birthday.js'\nexport { setMyEmojiStatus } from './methods/users/set-my-emoji-status.js'\nexport { setMyProfilePhoto } from './methods/users/set-my-profile-photo.js'\nexport { setMyUsername } from './methods/users/set-my-username.js'\nexport { setOffline } from './methods/users/set-offline.js'\nexport { unblockUser } from './methods/users/unblock-user.js'\nexport { updateProfile } from './methods/users/update-profile.js'\n"]}
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../src/highlevel/methods.ts"],"names":[],"mappings":"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","sourcesContent":["/* THIS FILE WAS AUTO-GENERATED */\nexport { checkPassword } from './methods/auth/check-password.js'\nexport { getPasswordHint } from './methods/auth/get-password-hint.js'\nexport { logOut } from './methods/auth/log-out.js'\nexport { recoverPassword } from './methods/auth/recover-password.js'\nexport { resendCode } from './methods/auth/resend-code.js'\nexport { run } from './methods/auth/run.js'\nexport { sendCode } from './methods/auth/send-code.js'\nexport { sendRecoveryCode } from './methods/auth/send-recovery-code.js'\nexport { signIn } from './methods/auth/sign-in.js'\nexport { signInBot } from './methods/auth/sign-in-bot.js'\nexport { start } from './methods/auth/start.js'\nexport { startTest } from './methods/auth/start-test.js'\nexport { isSelfPeer } from './methods/auth/utils.js'\nexport { answerCallbackQuery } from './methods/bots/answer-callback-query.js'\nexport { answerInlineQuery } from './methods/bots/answer-inline-query.js'\nexport { answerPreCheckoutQuery } from './methods/bots/answer-pre-checkout-query.js'\nexport { deleteMyCommands } from './methods/bots/delete-my-commands.js'\nexport { getBotInfo } from './methods/bots/get-bot-info.js'\nexport { getBotMenuButton } from './methods/bots/get-bot-menu-button.js'\nexport { getCallbackAnswer } from './methods/bots/get-callback-answer.js'\nexport { getGameHighScores } from './methods/bots/get-game-high-scores.js'\nexport { getInlineGameHighScores } from './methods/bots/get-game-high-scores.js'\nexport { getMyCommands } from './methods/bots/get-my-commands.js'\nexport { setBotInfo } from './methods/bots/set-bot-info.js'\nexport { setBotMenuButton } from './methods/bots/set-bot-menu-button.js'\nexport { setGameScore } from './methods/bots/set-game-score.js'\nexport { setInlineGameScore } from './methods/bots/set-game-score.js'\nexport { setMyCommands } from './methods/bots/set-my-commands.js'\nexport { setMyDefaultRights } from './methods/bots/set-my-default-rights.js'\nexport { addChatMembers } from './methods/chats/add-chat-members.js'\nexport { archiveChats } from './methods/chats/archive-chats.js'\nexport { banChatMember } from './methods/chats/ban-chat-member.js'\nexport { createChannel } from './methods/chats/create-channel.js'\nexport type { CreateGroupResult } from './methods/chats/create-group.js'\nexport { createGroup } from './methods/chats/create-group.js'\nexport { createSupergroup } from './methods/chats/create-supergroup.js'\nexport { deleteChannel } from './methods/chats/delete-channel.js'\nexport { deleteChatPhoto } from './methods/chats/delete-chat-photo.js'\nexport { deleteGroup } from './methods/chats/delete-group.js'\nexport { deleteHistory } from './methods/chats/delete-history.js'\nexport { deleteUserHistory } from './methods/chats/delete-user-history.js'\nexport { editAdminRights } from './methods/chats/edit-admin-rights.js'\nexport { getChat } from './methods/chats/get-chat.js'\nexport { getChatEventLog } from './methods/chats/get-chat-event-log.js'\nexport { getChatMember } from './methods/chats/get-chat-member.js'\nexport { getChatMembers } from './methods/chats/get-chat-members.js'\nexport { getChatPreview } from './methods/chats/get-chat-preview.js'\nexport { getFullChat } from './methods/chats/get-full-chat.js'\nexport { getNearbyChats } from './methods/chats/get-nearby-chats.js'\nexport { getSimilarChannels } from './methods/chats/get-similar-channels.js'\nexport { iterChatEventLog } from './methods/chats/iter-chat-event-log.js'\nexport { iterChatMembers } from './methods/chats/iter-chat-members.js'\nexport { joinChat } from './methods/chats/join-chat.js'\nexport { kickChatMember } from './methods/chats/kick-chat-member.js'\nexport { leaveChat } from './methods/chats/leave-chat.js'\nexport { markChatUnread } from './methods/chats/mark-chat-unread.js'\nexport { openChat } from './methods/chats/open-chat.js'\nexport { closeChat } from './methods/chats/open-chat.js'\nexport { reorderUsernames } from './methods/chats/reorder-usernames.js'\nexport { restrictChatMember } from './methods/chats/restrict-chat-member.js'\nexport { saveDraft } from './methods/chats/save-draft.js'\nexport { setChatColor } from './methods/chats/set-chat-color.js'\nexport { setChatDefaultPermissions } from './methods/chats/set-chat-default-permissions.js'\nexport { setChatDescription } from './methods/chats/set-chat-description.js'\nexport { setChatPhoto } from './methods/chats/set-chat-photo.js'\nexport { setChatTitle } from './methods/chats/set-chat-title.js'\nexport { setChatTtl } from './methods/chats/set-chat-ttl.js'\nexport { setChatUsername } from './methods/chats/set-chat-username.js'\nexport { setSlowMode } from './methods/chats/set-slow-mode.js'\nexport { toggleContentProtection } from './methods/chats/toggle-content-protection.js'\nexport { toggleFragmentUsername } from './methods/chats/toggle-fragment-username.js'\nexport { toggleJoinRequests } from './methods/chats/toggle-join-requests.js'\nexport { toggleJoinToSend } from './methods/chats/toggle-join-to-send.js'\nexport { unarchiveChats } from './methods/chats/unarchive-chats.js'\nexport { unbanChatMember } from './methods/chats/unban-chat-member.js'\nexport { addContact } from './methods/contacts/add-contact.js'\nexport { deleteContacts } from './methods/contacts/delete-contacts.js'\nexport { getContacts } from './methods/contacts/get-contacts.js'\nexport { importContacts } from './methods/contacts/import-contacts.js'\nexport { createFolder } from './methods/dialogs/create-folder.js'\nexport { deleteFolder } from './methods/dialogs/delete-folder.js'\nexport { editFolder } from './methods/dialogs/edit-folder.js'\nexport { findDialogs } from './methods/dialogs/find-dialogs.js'\nexport { findFolder } from './methods/dialogs/find-folder.js'\nexport { getFolders } from './methods/dialogs/get-folders.js'\nexport { getPeerDialogs } from './methods/dialogs/get-peer-dialogs.js'\nexport { iterDialogs } from './methods/dialogs/iter-dialogs.js'\nexport { setFoldersOrder } from './methods/dialogs/set-folders-order.js'\nexport { downloadAsBuffer } from './methods/files/download-buffer.js'\nexport { downloadAsIterable } from './methods/files/download-iterable.js'\nexport { downloadAsStream } from './methods/files/download-stream.js'\nexport { _normalizeInputFile } from './methods/files/normalize-input-file.js'\nexport { _normalizeInputMedia } from './methods/files/normalize-input-media.js'\nexport { uploadFile } from './methods/files/upload-file.js'\nexport { uploadMedia } from './methods/files/upload-media.js'\nexport { createForumTopic } from './methods/forums/create-forum-topic.js'\nexport { deleteForumTopicHistory } from './methods/forums/delete-forum-topic-history.js'\nexport { editForumTopic } from './methods/forums/edit-forum-topic.js'\nexport type { GetForumTopicsOffset } from './methods/forums/get-forum-topics.js'\nexport { getForumTopics } from './methods/forums/get-forum-topics.js'\nexport { getForumTopicsById } from './methods/forums/get-forum-topics-by-id.js'\nexport { iterForumTopics } from './methods/forums/iter-forum-topics.js'\nexport { reorderPinnedForumTopics } from './methods/forums/reorder-pinned-forum-topics.js'\nexport { toggleForum } from './methods/forums/toggle-forum.js'\nexport { toggleForumTopicClosed } from './methods/forums/toggle-forum-topic-closed.js'\nexport { toggleForumTopicPinned } from './methods/forums/toggle-forum-topic-pinned.js'\nexport { toggleGeneralTopicHidden } from './methods/forums/toggle-general-topic-hidden.js'\nexport { createInviteLink } from './methods/invite-links/create-invite-link.js'\nexport { editInviteLink } from './methods/invite-links/edit-invite-link.js'\nexport { exportInviteLink } from './methods/invite-links/export-invite-link.js'\nexport { getInviteLink } from './methods/invite-links/get-invite-link.js'\nexport { getInviteLinkMembers } from './methods/invite-links/get-invite-link-members.js'\nexport type { GetInviteLinksOffset } from './methods/invite-links/get-invite-links.js'\nexport { getInviteLinks } from './methods/invite-links/get-invite-links.js'\nexport { getPrimaryInviteLink } from './methods/invite-links/get-primary-invite-link.js'\nexport { hideAllJoinRequests } from './methods/invite-links/hide-all-join-requests.js'\nexport { hideJoinRequest } from './methods/invite-links/hide-join-request.js'\nexport { iterInviteLinkMembers } from './methods/invite-links/iter-invite-link-members.js'\nexport { iterInviteLinks } from './methods/invite-links/iter-invite-links.js'\nexport { revokeInviteLink } from './methods/invite-links/revoke-invite-link.js'\nexport { closePoll } from './methods/messages/close-poll.js'\nexport type { DeleteMessagesParams } from './methods/messages/delete-messages.js'\nexport { deleteMessagesById } from './methods/messages/delete-messages.js'\nexport { deleteMessages } from './methods/messages/delete-messages.js'\nexport { deleteScheduledMessages } from './methods/messages/delete-scheduled-messages.js'\nexport { editInlineMessage } from './methods/messages/edit-inline-message.js'\nexport { editMessage } from './methods/messages/edit-message.js'\nexport type { ForwardMessageOptions } from './methods/messages/forward-messages.js'\nexport { forwardMessagesById } from './methods/messages/forward-messages.js'\nexport { forwardMessages } from './methods/messages/forward-messages.js'\nexport { getAllScheduledMessages } from './methods/messages/get-all-scheduled-messages.js'\nexport { getAvailableMessageEffects } from './methods/messages/get-available-effects.js'\nexport { getCallbackQueryMessage } from './methods/messages/get-callback-query-message.js'\nexport { getDiscussionMessage } from './methods/messages/get-discussion-message.js'\nexport { getFactCheck } from './methods/messages/get-fact-check.js'\nexport type { GetHistoryOffset } from './methods/messages/get-history.js'\nexport { getHistory } from './methods/messages/get-history.js'\nexport { getMessageByLink } from './methods/messages/get-message-by-link.js'\nexport { getMessageGroup } from './methods/messages/get-message-group.js'\nexport { getMessageReactionsById } from './methods/messages/get-message-reactions.js'\nexport { getMessageReactions } from './methods/messages/get-message-reactions.js'\nexport { getMessages } from './methods/messages/get-messages.js'\nexport { getMessagesUnsafe } from './methods/messages/get-messages-unsafe.js'\nexport type { GetReactionUsersOffset } from './methods/messages/get-reaction-users.js'\nexport { getReactionUsers } from './methods/messages/get-reaction-users.js'\nexport { getReplyTo } from './methods/messages/get-reply-to.js'\nexport { getScheduledMessages } from './methods/messages/get-scheduled-messages.js'\nexport { iterHistory } from './methods/messages/iter-history.js'\nexport { iterReactionUsers } from './methods/messages/iter-reaction-users.js'\nexport { iterSearchGlobal } from './methods/messages/iter-search-global.js'\nexport { iterSearchMessages } from './methods/messages/iter-search-messages.js'\nexport { pinMessage } from './methods/messages/pin-message.js'\nexport { readHistory } from './methods/messages/read-history.js'\nexport { readReactions } from './methods/messages/read-reactions.js'\nexport type { SearchGlobalOffset } from './methods/messages/search-global.js'\nexport { searchGlobal } from './methods/messages/search-global.js'\nexport type { SearchHashtagOffset } from './methods/messages/search-hashtag.js'\nexport { searchHashtag } from './methods/messages/search-hashtag.js'\nexport { iterSearchHashtag } from './methods/messages/search-hashtag.js'\nexport type { SearchMessagesOffset } from './methods/messages/search-messages.js'\nexport { searchMessages } from './methods/messages/search-messages.js'\nexport { answerText } from './methods/messages/send-answer.js'\nexport { answerMedia } from './methods/messages/send-answer.js'\nexport { answerMediaGroup } from './methods/messages/send-answer.js'\nexport { commentText } from './methods/messages/send-comment.js'\nexport { commentMedia } from './methods/messages/send-comment.js'\nexport { commentMediaGroup } from './methods/messages/send-comment.js'\nexport type { SendCopyParams } from './methods/messages/send-copy.js'\nexport { sendCopy } from './methods/messages/send-copy.js'\nexport type { SendCopyGroupParams } from './methods/messages/send-copy-group.js'\nexport { sendCopyGroup } from './methods/messages/send-copy-group.js'\nexport { sendMedia } from './methods/messages/send-media.js'\nexport { sendMediaGroup } from './methods/messages/send-media-group.js'\nexport type { QuoteParamsFrom } from './methods/messages/send-quote.js'\nexport { quoteWithText } from './methods/messages/send-quote.js'\nexport { quoteWithMedia } from './methods/messages/send-quote.js'\nexport { quoteWithMediaGroup } from './methods/messages/send-quote.js'\nexport { sendReaction } from './methods/messages/send-reaction.js'\nexport { replyText } from './methods/messages/send-reply.js'\nexport { replyMedia } from './methods/messages/send-reply.js'\nexport { replyMediaGroup } from './methods/messages/send-reply.js'\nexport { sendScheduled } from './methods/messages/send-scheduled.js'\nexport { sendText } from './methods/messages/send-text.js'\nexport { sendTyping } from './methods/messages/send-typing.js'\nexport { sendVote } from './methods/messages/send-vote.js'\nexport { translateMessage } from './methods/messages/translate-message.js'\nexport { translateText } from './methods/messages/translate-text.js'\nexport { unpinAllMessages } from './methods/messages/unpin-all-messages.js'\nexport { unpinMessage } from './methods/messages/unpin-message.js'\nexport { getCollectibleInfo } from './methods/misc/get-collectible-info.js'\nexport { initTakeoutSession } from './methods/misc/init-takeout-session.js'\nexport { _normalizePrivacyRules } from './methods/misc/normalize-privacy-rules.js'\nexport { changeCloudPassword } from './methods/password/change-cloud-password.js'\nexport { enableCloudPassword } from './methods/password/enable-cloud-password.js'\nexport { verifyPasswordEmail } from './methods/password/password-email.js'\nexport { resendPasswordEmail } from './methods/password/password-email.js'\nexport { cancelPasswordEmail } from './methods/password/password-email.js'\nexport { removeCloudPassword } from './methods/password/remove-cloud-password.js'\nexport { applyBoost } from './methods/premium/apply-boost.js'\nexport type { CanApplyBoostResult } from './methods/premium/can-apply-boost.js'\nexport { canApplyBoost } from './methods/premium/can-apply-boost.js'\nexport { createBusinessChatLink } from './methods/premium/create-business-chat-link.js'\nexport { editBusinessChatLink } from './methods/premium/edit-business-chat-link.js'\nexport { deleteBusinessChatLink } from './methods/premium/edit-business-chat-link.js'\nexport { getBoostStats } from './methods/premium/get-boost-stats.js'\nexport { getBoosts } from './methods/premium/get-boosts.js'\nexport { getBusinessChatLinks } from './methods/premium/get-business-chat-links.js'\nexport { getBusinessConnection } from './methods/premium/get-business-connection.js'\nexport { getMyBoostSlots } from './methods/premium/get-my-boost-slots.js'\nexport { iterBoosters } from './methods/premium/iter-boosters.js'\nexport { setBusinessIntro } from './methods/premium/set-business-intro.js'\nexport { setBusinessWorkHours } from './methods/premium/set-business-work-hours.js'\nexport { addStickerToSet } from './methods/stickers/add-sticker-to-set.js'\nexport { createStickerSet } from './methods/stickers/create-sticker-set.js'\nexport { deleteStickerFromSet } from './methods/stickers/delete-sticker-from-set.js'\nexport { getCustomEmojis } from './methods/stickers/get-custom-emojis.js'\nexport { getCustomEmojisFromMessages } from './methods/stickers/get-custom-emojis.js'\nexport { getInstalledStickers } from './methods/stickers/get-installed-stickers.js'\nexport { getMyStickerSets } from './methods/stickers/get-my-sticker-sets.js'\nexport { getStickerSet } from './methods/stickers/get-sticker-set.js'\nexport { moveStickerInSet } from './methods/stickers/move-sticker-in-set.js'\nexport { replaceStickerInSet } from './methods/stickers/replace-sticker-in-set.js'\nexport { setChatStickerSet } from './methods/stickers/set-chat-sticker-set.js'\nexport { setStickerSetThumb } from './methods/stickers/set-sticker-set-thumb.js'\nexport type { CanSendStoryResult } from './methods/stories/can-send-story.js'\nexport { canSendStory } from './methods/stories/can-send-story.js'\nexport { deleteStories } from './methods/stories/delete-stories.js'\nexport { editStory } from './methods/stories/edit-story.js'\nexport { getAllStories } from './methods/stories/get-all-stories.js'\nexport { getPeerStories } from './methods/stories/get-peer-stories.js'\nexport { getProfileStories } from './methods/stories/get-profile-stories.js'\nexport { getStoriesById } from './methods/stories/get-stories-by-id.js'\nexport { getStoriesInteractions } from './methods/stories/get-stories-interactions.js'\nexport { getStoryLink } from './methods/stories/get-story-link.js'\nexport { getStoryViewers } from './methods/stories/get-story-viewers.js'\nexport { hideMyStoriesViews } from './methods/stories/hide-my-stories-views.js'\nexport { incrementStoriesViews } from './methods/stories/increment-stories-views.js'\nexport { iterAllStories } from './methods/stories/iter-all-stories.js'\nexport { iterProfileStories } from './methods/stories/iter-profile-stories.js'\nexport { iterStoryViewers } from './methods/stories/iter-story-viewers.js'\nexport { readStories } from './methods/stories/read-stories.js'\nexport { reportStory } from './methods/stories/report-story.js'\nexport { sendStory } from './methods/stories/send-story.js'\nexport { sendStoryReaction } from './methods/stories/send-story-reaction.js'\nexport { togglePeerStoriesArchived } from './methods/stories/toggle-peer-stories-archived.js'\nexport { toggleStoriesPinned } from './methods/stories/toggle-stories-pinned.js'\nexport { blockUser } from './methods/users/block-user.js'\nexport { deleteProfilePhotos } from './methods/users/delete-profile-photos.js'\nexport { editCloseFriendsRaw } from './methods/users/edit-close-friends.js'\nexport { editCloseFriends } from './methods/users/edit-close-friends.js'\nexport { getCommonChats } from './methods/users/get-common-chats.js'\nexport { getGlobalTtl } from './methods/users/get-global-ttl.js'\nexport { getMe } from './methods/users/get-me.js'\nexport { getMyUsername } from './methods/users/get-my-username.js'\nexport { getProfilePhoto } from './methods/users/get-profile-photo.js'\nexport { getProfilePhotos } from './methods/users/get-profile-photos.js'\nexport { getUsers } from './methods/users/get-users.js'\nexport { iterProfilePhotos } from './methods/users/iter-profile-photos.js'\nexport { resolvePeer } from './methods/users/resolve-peer.js'\nexport { resolveUser } from './methods/users/resolve-peer.js'\nexport { resolveChannel } from './methods/users/resolve-peer.js'\nexport { resolvePeerMany } from './methods/users/resolve-peer-many.js'\nexport { setGlobalTtl } from './methods/users/set-global-ttl.js'\nexport { setMyBirthday } from './methods/users/set-my-birthday.js'\nexport { setMyEmojiStatus } from './methods/users/set-my-emoji-status.js'\nexport { setMyProfilePhoto } from './methods/users/set-my-profile-photo.js'\nexport { setMyUsername } from './methods/users/set-my-username.js'\nexport { setOffline } from './methods/users/set-offline.js'\nexport { unblockUser } from './methods/users/unblock-user.js'\nexport { updateProfile } from './methods/users/update-profile.js'\n"]}
|
|
@@ -133,7 +133,7 @@ class Conversation {
|
|
|
133
133
|
this._inputPeer = await (0, resolve_peer_js_1.resolvePeer)(this.client, this.chat);
|
|
134
134
|
this._chatId = (0, peer_utils_js_1.getMarkedPeerId)(this._inputPeer);
|
|
135
135
|
const [dialog] = await (0, get_peer_dialogs_js_1.getPeerDialogs)(this.client, this._inputPeer);
|
|
136
|
-
const lastMessage = dialog
|
|
136
|
+
const lastMessage = dialog?.lastMessage;
|
|
137
137
|
if (lastMessage) {
|
|
138
138
|
this._lastMessage = this._lastReceivedMessage = lastMessage.id;
|
|
139
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../../src/highlevel/types/conversation.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError, MtTimeoutError } from '../../types/errors.js'\nimport { MaybePromise } from '../../types/utils.js'\nimport { AsyncLock } from '../../utils/async-lock.js'\nimport { ControllablePromise, createControllablePromise } from '../../utils/controllable-promise.js'\nimport { Deque } from '../../utils/deque.js'\nimport { getMarkedPeerId } from '../../utils/peer-utils.js'\nimport { ITelegramClient } from '../client.types.js'\nimport { getPeerDialogs } from '../methods/dialogs/get-peer-dialogs.js'\nimport { readHistory } from '../methods/messages/read-history.js'\nimport { sendMedia } from '../methods/messages/send-media.js'\nimport { sendMediaGroup } from '../methods/messages/send-media-group.js'\nimport { sendText } from '../methods/messages/send-text.js'\nimport { resolvePeer } from '../methods/users/resolve-peer.js'\nimport type { Message } from './messages/message.js'\nimport type { InputPeerLike } from './peers/index.js'\nimport type { HistoryReadUpdate, ParsedUpdate } from './updates/index.js'\nimport { ParametersSkip2 } from './utils.js'\n\ninterface QueuedHandler<T> {\n promise: ControllablePromise<T>\n check?: (update: T) => MaybePromise<boolean>\n timeout?: NodeJS.Timeout\n}\n\nconst CONVERSATION_SYMBOL = Symbol('conversation')\n\ninterface ConversationsState {\n pendingConversations: Map<number, Conversation[]>\n hasConversations: boolean\n}\n\n/**\n * Represents a conversation inside some chat.\n *\n * A conversation keeps track of any messages sent or edited\n * since it was started and until it was stopped,\n * and allows waiting for events in it.\n *\n * If you need a conversation across multiple chats,\n * you should use multiple {@link Conversation} objects\n * and synchronize them manually.\n */\nexport class Conversation {\n private _inputPeer!: tl.TypeInputPeer\n private _chatId!: number\n private _started = false\n\n private _lastMessage!: number\n private _lastReceivedMessage!: number\n\n private _queuedNewMessage = new Deque<QueuedHandler<Message>>()\n private _pendingNewMessages = new Deque<Message>()\n private _lock = new AsyncLock()\n\n private _pendingEditMessage: Map<number, QueuedHandler<Message>> = new Map()\n private _recentEdits = new Deque<Message>(10)\n\n private _pendingRead: Map<number, QueuedHandler<void>> = new Map()\n\n constructor(\n readonly client: ITelegramClient,\n readonly chat: InputPeerLike,\n ) {\n if (!(CONVERSATION_SYMBOL in client)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (client as any)[CONVERSATION_SYMBOL] = {\n pendingConversations: new Map(),\n hasConversations: false,\n } satisfies ConversationsState\n }\n }\n\n private static _getState(client: ITelegramClient): ConversationsState {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (client as any)[CONVERSATION_SYMBOL] as ConversationsState\n }\n\n /**\n * Pass the update to the conversation manager and all registered\n * conversations on this client.\n *\n * @returns `true` if the update was handled by some conversation\n */\n static handleUpdate(client: ITelegramClient, update: ParsedUpdate): boolean {\n const state = Conversation._getState(client)\n if (!state?.hasConversations) return false\n\n let chatId\n\n switch (update.name) {\n case 'new_message':\n case 'edit_message':\n chatId = getMarkedPeerId(update.data.raw.peerId)\n break\n case 'history_read':\n chatId = update.data.chatId\n break\n default:\n return false\n }\n\n const conv = state.pendingConversations.get(chatId)\n if (!conv) return false\n\n for (const c of conv) {\n switch (update.name) {\n case 'new_message':\n c._onNewMessage(update.data)\n\n return true\n case 'edit_message':\n c._onEditMessage(update.data)\n\n return true\n case 'history_read':\n c._onHistoryRead(update.data)\n\n return true\n }\n }\n\n return false\n }\n\n /**\n * Get the input peer that this conversation is with\n */\n get inputPeer(): tl.TypeInputPeer {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._inputPeer\n }\n\n /**\n * ID of the very last message in this conversation.\n */\n get lastMessage(): number {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._lastMessage\n }\n\n /**\n * ID of the last incoming message in this conversation.\n *\n * Note that before any messages were received since the {@link start}\n * of the conversation, this will equal to {@link lastMessage}\n */\n get lastReceivedMessage(): number {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._lastReceivedMessage\n }\n\n /**\n * Start the conversation\n */\n async start(): Promise<void> {\n if (this._started) return\n\n this._started = true\n this._inputPeer = await resolvePeer(this.client, this.chat)\n this._chatId = getMarkedPeerId(this._inputPeer)\n\n const [dialog] = await getPeerDialogs(this.client, this._inputPeer)\n const lastMessage = dialog.lastMessage\n\n if (lastMessage) {\n this._lastMessage = this._lastReceivedMessage = lastMessage.id\n } else {\n this._lastMessage = this._lastReceivedMessage = 0\n }\n\n const state = Conversation._getState(this.client)\n\n if (!state.pendingConversations.has(this._chatId)) {\n state.pendingConversations.set(this._chatId, [])\n }\n state.pendingConversations.get(this._chatId)!.push(this)\n state.hasConversations = true\n }\n\n /**\n * Stop the conversation\n */\n stop(): void {\n if (!this._started) return\n\n const state = Conversation._getState(this.client)\n\n const pending = state.pendingConversations.get(this._chatId)\n const pendingIdx = pending?.indexOf(this) ?? -1\n\n if (pendingIdx > -1) {\n // just in case\n pending!.splice(pendingIdx, 1)\n }\n if (pending && !pending.length) {\n state.pendingConversations.delete(this._chatId)\n }\n state.hasConversations = Boolean(state.pendingConversations.size)\n\n // reset pending status\n this._queuedNewMessage.clear()\n this._pendingNewMessages.clear()\n this._pendingEditMessage.clear()\n this._recentEdits.clear()\n this._pendingRead.clear()\n\n this._started = false\n }\n\n private _recordMessage(msg: Message, incoming = false): Message {\n this._lastMessage = msg.id\n if (incoming) this._lastReceivedMessage = msg.id\n\n return msg\n }\n\n /**\n * Send a text message to this conversation.\n *\n * Wrapper over {@link sendText}\n */\n async sendText(...params: ParametersSkip2<typeof sendText>): ReturnType<typeof sendText> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._recordMessage(await sendText(this.client, this._inputPeer, ...params))\n }\n\n /**\n * Send a media to this conversation.\n *\n * Wrapper over {@link sendMedia}\n */\n async sendMedia(...params: ParametersSkip2<typeof sendMedia>): ReturnType<typeof sendMedia> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._recordMessage(await sendMedia(this.client, this._inputPeer, ...params))\n }\n\n /**\n * Send a media group to this conversation.\n *\n * Wrapper over {@link sendMediaGroup}\n */\n async sendMediaGroup(...params: ParametersSkip2<typeof sendMediaGroup>): ReturnType<typeof sendMediaGroup> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgs = await sendMediaGroup(this.client, this._inputPeer, ...params)\n\n this._recordMessage(msgs[msgs.length - 1])\n\n return msgs\n }\n\n /**\n * Mark the conversation as read up to a certain point.\n *\n * By default, reads until the last message.\n * You can pass `message=null` to read the entire conversation,\n * or pass message ID to read up until that ID.\n */\n markRead({\n message,\n clearMentions = true,\n }: { message?: number | null; clearMentions?: boolean } = {}): Promise<void> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n if (message === null) {\n message = 0\n } else if (message === undefined) {\n message = this._lastMessage ?? 0\n }\n\n return readHistory(this.client, this._inputPeer, { maxId: message, clearMentions })\n }\n\n /**\n * Helper method that calls {@link start},\n * the provided function and then {@link stop}.\n *\n * It is preferred that you use this function rather than\n * manually starting and stopping the conversation.\n *\n * If you don't stop the conversation when you're done,\n * it *will* lead to memory leaks.\n *\n * @param handler\n */\n async with<T>(handler: () => MaybePromise<T>): Promise<T> {\n await this.start()\n\n let err: unknown\n let res: T\n\n try {\n res = await handler()\n } catch (e) {\n err = e\n }\n\n this.stop()\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n if (err) throw err\n\n return res!\n }\n\n /**\n * Wait for a new message in the conversation\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param [timeout=15000] Timeout for the handler in ms. Pass `null` to disable.\n * When the timeout is reached, `MtTimeoutError` is thrown.\n */\n waitForNewMessage(\n filter?: (msg: Message) => MaybePromise<boolean>,\n timeout: number | null = 15000,\n ): Promise<Message> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const promise = createControllablePromise<Message>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n\n if (timeout !== null) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._queuedNewMessage.removeBy((it) => it.promise === promise)\n }, timeout)\n }\n\n this._queuedNewMessage.pushBack({\n promise,\n check: filter,\n timeout: timer,\n })\n\n this._processPendingNewMessages()\n\n return promise\n }\n\n /**\n * Wait for a response for the given message\n * (def. the last one) in the conversation.\n *\n * A message is considered to be a response if\n * it was sent after the given one.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n waitForResponse(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for response for.\n *\n * @default last sent/received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n const msgId = params?.message ?? this._lastMessage ?? 0\n\n const pred = filter ?\n (msg: Message) => (msg.id > msgId ? filter(msg) : false) :\n (msg: Message) => msg.id > msgId\n\n return this.waitForNewMessage(pred, params?.timeout)\n }\n\n /**\n * Wait for the reply for the given message'\n * (def. the last one) in the conversation.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n waitForReply(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for reply for.\n *\n * @default last sent/received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n const msgId = params?.message ?? this._lastMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for reply for')\n }\n\n const pred = filter ?\n (msg: Message) => (msg.replyToMessage?.id === msgId ? filter(msg) : false) :\n (msg: Message) => msg.replyToMessage?.id === msgId\n\n return this.waitForNewMessage(pred, params?.timeout)\n }\n\n /**\n * Wait for a message to be edited in the conversation.\n * By defaults wait for the last message sent by the other party\n * (at the moment) to be edited.\n *\n * Returns the edited message.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n async waitForEdit(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for reply for.\n *\n * @default last received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgId = params?.message ?? this._lastReceivedMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for edit for')\n }\n\n const promise = createControllablePromise<Message>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n const timeout = params?.timeout\n\n if (timeout) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._pendingEditMessage.delete(msgId)\n }, timeout)\n }\n\n this._pendingEditMessage.set(msgId, {\n promise,\n check: filter,\n timeout: timer,\n })\n\n this._processRecentEdits()\n\n return promise\n }\n\n /**\n * Wait for the message to be read by the other party.\n *\n * Note that reading the message doesn't mean the response was sent,\n * and if the response was sent, it doesn't mean that the message was read.\n *\n * @param message Message for which to wait for read for. Defaults to last message.\n * @param timeout Timeout for the handler in ms, def. 15 sec. Pass `null` to disable.\n * When the timeout is reached, `TimeoutError` is thrown.\n */\n async waitForRead(message?: number, timeout: number | null = 15000): Promise<void> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgId = message ?? this._lastMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for read for')\n }\n\n // check if the message is already read\n const [dialog] = await getPeerDialogs(this.client, this._inputPeer)\n if (dialog.lastRead >= msgId) return\n\n const promise = createControllablePromise<void>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n\n if (timeout !== null) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._pendingRead.delete(msgId)\n }, timeout)\n }\n\n this._pendingRead.set(msgId, {\n promise,\n timeout: timer,\n })\n\n return promise\n }\n\n private _onNewMessage(msg: Message) {\n if (msg.chat.id !== this._chatId) return\n\n if (!this._queuedNewMessage.length) {\n this._pendingNewMessages.pushBack(msg)\n\n return\n }\n\n const it = this._queuedNewMessage.peekFront()!\n\n // order does matter for new messages\n void this._lock.acquire().then(async () => {\n try {\n if (!it.check || (await it.check(msg))) {\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve(msg)\n this._queuedNewMessage.popFront()\n }\n } catch (e: unknown) {\n this.client.emitError(e)\n }\n\n this._lastMessage = this._lastReceivedMessage = msg.id\n\n // this func will *never* error, so no need to use .then\n this._lock.release()\n })\n }\n\n private _onEditMessage(msg: Message, fromRecent = false) {\n if (msg.chat.id !== this._chatId) return\n\n const it = this._pendingEditMessage.get(msg.id)\n\n if (!it) {\n if (!fromRecent) {\n this._recentEdits.pushBack(msg)\n }\n\n return\n }\n\n (async () => {\n if (!it.check || (await it.check(msg))) {\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve(msg)\n this._pendingEditMessage.delete(msg.id)\n }\n })().catch((e) => {\n this.client.emitError(e)\n })\n }\n\n private _onHistoryRead(upd: HistoryReadUpdate) {\n if (upd.chatId !== this._chatId) return\n\n const lastRead = upd.maxReadId\n\n for (const msgId of this._pendingRead.keys()) {\n if (msgId <= lastRead) {\n const it = this._pendingRead.get(msgId)!\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve()\n this._pendingRead.delete(msgId)\n }\n }\n }\n\n private _processPendingNewMessages() {\n if (!this._pendingNewMessages.length) return\n\n let it\n\n while ((it = this._pendingNewMessages.popFront())) {\n this._onNewMessage(it)\n }\n }\n\n private _processRecentEdits() {\n if (!this._recentEdits.length) return\n\n const iter = this._recentEdits.iter()\n let it\n\n while (!(it = iter.next()).done) {\n this._onEditMessage(it.value, true)\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../../src/highlevel/types/conversation.ts"],"names":[],"mappings":";;;AAEA,qDAAuE;AAEvE,6DAAqD;AACrD,iFAAoG;AACpG,mDAA4C;AAC5C,6DAA2D;AAE3D,gFAAuE;AACvE,yEAAiE;AACjE,qEAA6D;AAC7D,iFAAwE;AACxE,mEAA2D;AAC3D,sEAA8D;AAY9D,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAOlD;;;;;;;;;;GAUG;AACH,MAAa,YAAY;IAkBR;IACA;IAlBL,UAAU,CAAmB;IAC7B,OAAO,CAAS;IAChB,QAAQ,GAAG,KAAK,CAAA;IAEhB,YAAY,CAAS;IACrB,oBAAoB,CAAS;IAE7B,iBAAiB,GAAG,IAAI,gBAAK,EAA0B,CAAA;IACvD,mBAAmB,GAAG,IAAI,gBAAK,EAAW,CAAA;IAC1C,KAAK,GAAG,IAAI,yBAAS,EAAE,CAAA;IAEvB,mBAAmB,GAAwC,IAAI,GAAG,EAAE,CAAA;IACpE,YAAY,GAAG,IAAI,gBAAK,CAAU,EAAE,CAAC,CAAA;IAErC,YAAY,GAAqC,IAAI,GAAG,EAAE,CAAA;IAElE,YACa,MAAuB,EACvB,IAAmB;QADnB,WAAM,GAAN,MAAM,CAAiB;QACvB,SAAI,GAAJ,IAAI,CAAe;QAE5B,IAAI,CAAC,CAAC,mBAAmB,IAAI,MAAM,CAAC,EAAE,CAAC;YACnC,8DAA8D;YAC7D,MAAc,CAAC,mBAAmB,CAAC,GAAG;gBACnC,oBAAoB,EAAE,IAAI,GAAG,EAAE;gBAC/B,gBAAgB,EAAE,KAAK;aACG,CAAA;QAClC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,MAAuB;QAC5C,8DAA8D;QAC9D,OAAQ,MAAc,CAAC,mBAAmB,CAAuB,CAAA;IACrE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,MAAuB,EAAE,MAAoB;QAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK,EAAE,gBAAgB;YAAE,OAAO,KAAK,CAAA;QAE1C,IAAI,MAAM,CAAA;QAEV,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,aAAa,CAAC;YACnB,KAAK,cAAc;gBACf,MAAM,GAAG,IAAA,+BAAe,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBAChD,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAA;gBAC3B,MAAK;YACT;gBACI,OAAO,KAAK,CAAA;QACpB,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAEvB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,aAAa;oBACd,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAE5B,OAAO,IAAI,CAAA;gBACf,KAAK,cAAc;oBACf,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAE7B,OAAO,IAAI,CAAA;gBACf,KAAK,cAAc;oBACf,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAE7B,OAAO,IAAI,CAAA;YACnB,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAA;IAC5B,CAAC;IAED;;;;;OAKG;IACH,IAAI,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,MAAM,IAAA,6BAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAA,+BAAe,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAE/C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAA,oCAAc,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAEnE,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,CAAA;QAEvC,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,EAAE,CAAA;QAClE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAA;QACrD,CAAC;QAED,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjD,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACpD,CAAC;QACD,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAE/C,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;YAClB,eAAe;YACf,OAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnD,CAAC;QACD,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAEjE,uBAAuB;QACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAA;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAA;QAChC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAA;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QAEzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;IACzB,CAAC;IAEO,cAAc,CAAC,GAAY,EAAE,QAAQ,GAAG,KAAK;QACjD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,EAAE,CAAA;QAC1B,IAAI,QAAQ;YAAE,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,EAAE,CAAA;QAEhD,OAAO,GAAG,CAAA;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAwC;QACtD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAA,uBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC,CAAA;IACvF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,MAAyC;QACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAA,yBAAS,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC,CAAA;IACxF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,GAAG,MAA8C;QAClE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAA,oCAAc,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,CAAA;QAE1E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QAE1C,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,EACL,OAAO,EACP,aAAa,GAAG,IAAI,MACkC,EAAE;QACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,CAAA;QACf,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA;QACpC,CAAC;QAED,OAAO,IAAA,6BAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;IACvF,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,IAAI,CAAI,OAA8B;QACxC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAElB,IAAI,GAAY,CAAA;QAChB,IAAI,GAAM,CAAA;QAEV,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,OAAO,EAAE,CAAA;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,GAAG,CAAC,CAAA;QACX,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAA;QAEX,+DAA+D;QAC/D,IAAI,GAAG;YAAE,MAAM,GAAG,CAAA;QAElB,OAAO,GAAI,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CACb,MAAgD,EAChD,UAAyB,KAAK;QAE9B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,mDAAyB,GAAW,CAAA;QAEpD,IAAI,KAAK,GAA+B,SAAS,CAAA;QAEjD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAc,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC3C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;YACnE,CAAC,EAAE,OAAO,CAAC,CAAA;QACf,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAC5B,OAAO;YACP,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QAEF,IAAI,CAAC,0BAA0B,EAAE,CAAA;QAEjC,OAAO,OAAO,CAAA;IAClB,CAAC;IAED;;;;;;;;;OASG;IACH,eAAe,CACX,MAAgD,EAChD,MAgBC;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA;QAEvD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC;YACjB,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1D,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAA;QAEpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CACR,MAAgD,EAChD,MAgBC;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,YAAY,CAAA;QAElD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,2BAAe,CAAC,iDAAiD,CAAC,CAAA;QAChF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC;YACjB,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,KAAK,KAAK,CAAA;QAEtD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CACb,MAAgD,EAChD,MAgBC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,oBAAoB,CAAA;QAE1D,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,2BAAe,CAAC,gDAAgD,CAAC,CAAA;QAC/E,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,mDAAyB,GAAW,CAAA;QAEpD,IAAI,KAAK,GAA+B,SAAS,CAAA;QACjD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAA;QAE/B,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAc,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC3C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1C,CAAC,EAAE,OAAO,CAAC,CAAA;QACf,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE;YAChC,OAAO;YACP,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QAEF,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAE1B,OAAO,OAAO,CAAA;IAClB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE,UAAyB,KAAK;QAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAe,CAAC,iCAAiC,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAA;QAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,2BAAe,CAAC,gDAAgD,CAAC,CAAA;QAC/E,CAAC;QAED,uCAAuC;QACvC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAA,oCAAc,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QACnE,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK;YAAE,OAAM;QAEpC,MAAM,OAAO,GAAG,IAAA,mDAAyB,GAAQ,CAAA;QAEjD,IAAI,KAAK,GAA+B,SAAS,CAAA;QAEjD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAc,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC3C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACnC,CAAC,EAAE,OAAO,CAAC,CAAA;QACf,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE;YACzB,OAAO;YACP,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,aAAa,CAAC,GAAY;QAC9B,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO;YAAE,OAAM;QAExC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAEtC,OAAM;QACV,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAG,CAAA;QAE9C,qCAAqC;QACrC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACtC,IAAI,CAAC;gBACD,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACrC,IAAI,EAAE,CAAC,OAAO;wBAAE,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;oBACxC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAA;gBACrC,CAAC;YACL,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,EAAE,CAAA;YAEtD,wDAAwD;YACxD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QACxB,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,cAAc,CAAC,GAAY,EAAE,UAAU,GAAG,KAAK;QACnD,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO;YAAE,OAAM;QAExC,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAE/C,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;YAED,OAAM;QACV,CAAC;QAED,CAAC,KAAK,IAAI,EAAE;YACR,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrC,IAAI,EAAE,CAAC,OAAO;oBAAE,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;gBACxC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBACvB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,cAAc,CAAC,GAAsB;QACzC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO;YAAE,OAAM;QAEvC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAA;QAE9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACpB,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;gBACxC,IAAI,EAAE,CAAC,OAAO;oBAAE,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;gBACxC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;gBACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,0BAA0B;QAC9B,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM;YAAE,OAAM;QAE5C,IAAI,EAAE,CAAA;QAEN,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QAC1B,CAAC;IACL,CAAC;IAEO,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAM;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;QACrC,IAAI,EAAE,CAAA;QAEN,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACvC,CAAC;IACL,CAAC;CACJ;AAnlBD,oCAmlBC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError, MtTimeoutError } from '../../types/errors.js'\nimport { MaybePromise } from '../../types/utils.js'\nimport { AsyncLock } from '../../utils/async-lock.js'\nimport { ControllablePromise, createControllablePromise } from '../../utils/controllable-promise.js'\nimport { Deque } from '../../utils/deque.js'\nimport { getMarkedPeerId } from '../../utils/peer-utils.js'\nimport { ITelegramClient } from '../client.types.js'\nimport { getPeerDialogs } from '../methods/dialogs/get-peer-dialogs.js'\nimport { readHistory } from '../methods/messages/read-history.js'\nimport { sendMedia } from '../methods/messages/send-media.js'\nimport { sendMediaGroup } from '../methods/messages/send-media-group.js'\nimport { sendText } from '../methods/messages/send-text.js'\nimport { resolvePeer } from '../methods/users/resolve-peer.js'\nimport type { Message } from './messages/message.js'\nimport type { InputPeerLike } from './peers/index.js'\nimport type { HistoryReadUpdate, ParsedUpdate } from './updates/index.js'\nimport { ParametersSkip2 } from './utils.js'\n\ninterface QueuedHandler<T> {\n promise: ControllablePromise<T>\n check?: (update: T) => MaybePromise<boolean>\n timeout?: NodeJS.Timeout\n}\n\nconst CONVERSATION_SYMBOL = Symbol('conversation')\n\ninterface ConversationsState {\n pendingConversations: Map<number, Conversation[]>\n hasConversations: boolean\n}\n\n/**\n * Represents a conversation inside some chat.\n *\n * A conversation keeps track of any messages sent or edited\n * since it was started and until it was stopped,\n * and allows waiting for events in it.\n *\n * If you need a conversation across multiple chats,\n * you should use multiple {@link Conversation} objects\n * and synchronize them manually.\n */\nexport class Conversation {\n private _inputPeer!: tl.TypeInputPeer\n private _chatId!: number\n private _started = false\n\n private _lastMessage!: number\n private _lastReceivedMessage!: number\n\n private _queuedNewMessage = new Deque<QueuedHandler<Message>>()\n private _pendingNewMessages = new Deque<Message>()\n private _lock = new AsyncLock()\n\n private _pendingEditMessage: Map<number, QueuedHandler<Message>> = new Map()\n private _recentEdits = new Deque<Message>(10)\n\n private _pendingRead: Map<number, QueuedHandler<void>> = new Map()\n\n constructor(\n readonly client: ITelegramClient,\n readonly chat: InputPeerLike,\n ) {\n if (!(CONVERSATION_SYMBOL in client)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (client as any)[CONVERSATION_SYMBOL] = {\n pendingConversations: new Map(),\n hasConversations: false,\n } satisfies ConversationsState\n }\n }\n\n private static _getState(client: ITelegramClient): ConversationsState {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (client as any)[CONVERSATION_SYMBOL] as ConversationsState\n }\n\n /**\n * Pass the update to the conversation manager and all registered\n * conversations on this client.\n *\n * @returns `true` if the update was handled by some conversation\n */\n static handleUpdate(client: ITelegramClient, update: ParsedUpdate): boolean {\n const state = Conversation._getState(client)\n if (!state?.hasConversations) return false\n\n let chatId\n\n switch (update.name) {\n case 'new_message':\n case 'edit_message':\n chatId = getMarkedPeerId(update.data.raw.peerId)\n break\n case 'history_read':\n chatId = update.data.chatId\n break\n default:\n return false\n }\n\n const conv = state.pendingConversations.get(chatId)\n if (!conv) return false\n\n for (const c of conv) {\n switch (update.name) {\n case 'new_message':\n c._onNewMessage(update.data)\n\n return true\n case 'edit_message':\n c._onEditMessage(update.data)\n\n return true\n case 'history_read':\n c._onHistoryRead(update.data)\n\n return true\n }\n }\n\n return false\n }\n\n /**\n * Get the input peer that this conversation is with\n */\n get inputPeer(): tl.TypeInputPeer {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._inputPeer\n }\n\n /**\n * ID of the very last message in this conversation.\n */\n get lastMessage(): number {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._lastMessage\n }\n\n /**\n * ID of the last incoming message in this conversation.\n *\n * Note that before any messages were received since the {@link start}\n * of the conversation, this will equal to {@link lastMessage}\n */\n get lastReceivedMessage(): number {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._lastReceivedMessage\n }\n\n /**\n * Start the conversation\n */\n async start(): Promise<void> {\n if (this._started) return\n\n this._started = true\n this._inputPeer = await resolvePeer(this.client, this.chat)\n this._chatId = getMarkedPeerId(this._inputPeer)\n\n const [dialog] = await getPeerDialogs(this.client, this._inputPeer)\n\n const lastMessage = dialog?.lastMessage\n\n if (lastMessage) {\n this._lastMessage = this._lastReceivedMessage = lastMessage.id\n } else {\n this._lastMessage = this._lastReceivedMessage = 0\n }\n\n const state = Conversation._getState(this.client)\n\n if (!state.pendingConversations.has(this._chatId)) {\n state.pendingConversations.set(this._chatId, [])\n }\n state.pendingConversations.get(this._chatId)!.push(this)\n state.hasConversations = true\n }\n\n /**\n * Stop the conversation\n */\n stop(): void {\n if (!this._started) return\n\n const state = Conversation._getState(this.client)\n\n const pending = state.pendingConversations.get(this._chatId)\n const pendingIdx = pending?.indexOf(this) ?? -1\n\n if (pendingIdx > -1) {\n // just in case\n pending!.splice(pendingIdx, 1)\n }\n if (pending && !pending.length) {\n state.pendingConversations.delete(this._chatId)\n }\n state.hasConversations = Boolean(state.pendingConversations.size)\n\n // reset pending status\n this._queuedNewMessage.clear()\n this._pendingNewMessages.clear()\n this._pendingEditMessage.clear()\n this._recentEdits.clear()\n this._pendingRead.clear()\n\n this._started = false\n }\n\n private _recordMessage(msg: Message, incoming = false): Message {\n this._lastMessage = msg.id\n if (incoming) this._lastReceivedMessage = msg.id\n\n return msg\n }\n\n /**\n * Send a text message to this conversation.\n *\n * Wrapper over {@link sendText}\n */\n async sendText(...params: ParametersSkip2<typeof sendText>): ReturnType<typeof sendText> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._recordMessage(await sendText(this.client, this._inputPeer, ...params))\n }\n\n /**\n * Send a media to this conversation.\n *\n * Wrapper over {@link sendMedia}\n */\n async sendMedia(...params: ParametersSkip2<typeof sendMedia>): ReturnType<typeof sendMedia> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n return this._recordMessage(await sendMedia(this.client, this._inputPeer, ...params))\n }\n\n /**\n * Send a media group to this conversation.\n *\n * Wrapper over {@link sendMediaGroup}\n */\n async sendMediaGroup(...params: ParametersSkip2<typeof sendMediaGroup>): ReturnType<typeof sendMediaGroup> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgs = await sendMediaGroup(this.client, this._inputPeer, ...params)\n\n this._recordMessage(msgs[msgs.length - 1])\n\n return msgs\n }\n\n /**\n * Mark the conversation as read up to a certain point.\n *\n * By default, reads until the last message.\n * You can pass `message=null` to read the entire conversation,\n * or pass message ID to read up until that ID.\n */\n markRead({\n message,\n clearMentions = true,\n }: { message?: number | null; clearMentions?: boolean } = {}): Promise<void> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n if (message === null) {\n message = 0\n } else if (message === undefined) {\n message = this._lastMessage ?? 0\n }\n\n return readHistory(this.client, this._inputPeer, { maxId: message, clearMentions })\n }\n\n /**\n * Helper method that calls {@link start},\n * the provided function and then {@link stop}.\n *\n * It is preferred that you use this function rather than\n * manually starting and stopping the conversation.\n *\n * If you don't stop the conversation when you're done,\n * it *will* lead to memory leaks.\n *\n * @param handler\n */\n async with<T>(handler: () => MaybePromise<T>): Promise<T> {\n await this.start()\n\n let err: unknown\n let res: T\n\n try {\n res = await handler()\n } catch (e) {\n err = e\n }\n\n this.stop()\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n if (err) throw err\n\n return res!\n }\n\n /**\n * Wait for a new message in the conversation\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param [timeout=15000] Timeout for the handler in ms. Pass `null` to disable.\n * When the timeout is reached, `MtTimeoutError` is thrown.\n */\n waitForNewMessage(\n filter?: (msg: Message) => MaybePromise<boolean>,\n timeout: number | null = 15000,\n ): Promise<Message> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const promise = createControllablePromise<Message>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n\n if (timeout !== null) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._queuedNewMessage.removeBy((it) => it.promise === promise)\n }, timeout)\n }\n\n this._queuedNewMessage.pushBack({\n promise,\n check: filter,\n timeout: timer,\n })\n\n this._processPendingNewMessages()\n\n return promise\n }\n\n /**\n * Wait for a response for the given message\n * (def. the last one) in the conversation.\n *\n * A message is considered to be a response if\n * it was sent after the given one.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n waitForResponse(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for response for.\n *\n * @default last sent/received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n const msgId = params?.message ?? this._lastMessage ?? 0\n\n const pred = filter ?\n (msg: Message) => (msg.id > msgId ? filter(msg) : false) :\n (msg: Message) => msg.id > msgId\n\n return this.waitForNewMessage(pred, params?.timeout)\n }\n\n /**\n * Wait for the reply for the given message'\n * (def. the last one) in the conversation.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n waitForReply(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for reply for.\n *\n * @default last sent/received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n const msgId = params?.message ?? this._lastMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for reply for')\n }\n\n const pred = filter ?\n (msg: Message) => (msg.replyToMessage?.id === msgId ? filter(msg) : false) :\n (msg: Message) => msg.replyToMessage?.id === msgId\n\n return this.waitForNewMessage(pred, params?.timeout)\n }\n\n /**\n * Wait for a message to be edited in the conversation.\n * By defaults wait for the last message sent by the other party\n * (at the moment) to be edited.\n *\n * Returns the edited message.\n *\n * @param filter Filter for the handler. You can use any filter you can use for dispatcher\n * @param params\n */\n async waitForEdit(\n filter?: (msg: Message) => MaybePromise<boolean>,\n params?: {\n /**\n * Message for which to wait for reply for.\n *\n * @default last received message\n */\n message?: number\n\n /**\n * Timeout for the handler in ms. Pass `null` to disable.\n *\n * When the timeout is reached, `TimeoutError` is thrown.\n *\n * @default `15000` (15 sec)\n */\n timeout?: number | null\n },\n ): Promise<Message> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgId = params?.message ?? this._lastReceivedMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for edit for')\n }\n\n const promise = createControllablePromise<Message>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n const timeout = params?.timeout\n\n if (timeout) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._pendingEditMessage.delete(msgId)\n }, timeout)\n }\n\n this._pendingEditMessage.set(msgId, {\n promise,\n check: filter,\n timeout: timer,\n })\n\n this._processRecentEdits()\n\n return promise\n }\n\n /**\n * Wait for the message to be read by the other party.\n *\n * Note that reading the message doesn't mean the response was sent,\n * and if the response was sent, it doesn't mean that the message was read.\n *\n * @param message Message for which to wait for read for. Defaults to last message.\n * @param timeout Timeout for the handler in ms, def. 15 sec. Pass `null` to disable.\n * When the timeout is reached, `TimeoutError` is thrown.\n */\n async waitForRead(message?: number, timeout: number | null = 15000): Promise<void> {\n if (!this._started) {\n throw new MtArgumentError(\"Conversation hasn't started yet\")\n }\n\n const msgId = message ?? this._lastMessage\n\n if (!msgId) {\n throw new MtArgumentError('Provide message for which to wait for read for')\n }\n\n // check if the message is already read\n const [dialog] = await getPeerDialogs(this.client, this._inputPeer)\n if (dialog.lastRead >= msgId) return\n\n const promise = createControllablePromise<void>()\n\n let timer: NodeJS.Timeout | undefined = undefined\n\n if (timeout !== null) {\n timer = setTimeout(() => {\n promise.reject(new MtTimeoutError(timeout))\n this._pendingRead.delete(msgId)\n }, timeout)\n }\n\n this._pendingRead.set(msgId, {\n promise,\n timeout: timer,\n })\n\n return promise\n }\n\n private _onNewMessage(msg: Message) {\n if (msg.chat.id !== this._chatId) return\n\n if (!this._queuedNewMessage.length) {\n this._pendingNewMessages.pushBack(msg)\n\n return\n }\n\n const it = this._queuedNewMessage.peekFront()!\n\n // order does matter for new messages\n void this._lock.acquire().then(async () => {\n try {\n if (!it.check || (await it.check(msg))) {\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve(msg)\n this._queuedNewMessage.popFront()\n }\n } catch (e: unknown) {\n this.client.emitError(e)\n }\n\n this._lastMessage = this._lastReceivedMessage = msg.id\n\n // this func will *never* error, so no need to use .then\n this._lock.release()\n })\n }\n\n private _onEditMessage(msg: Message, fromRecent = false) {\n if (msg.chat.id !== this._chatId) return\n\n const it = this._pendingEditMessage.get(msg.id)\n\n if (!it) {\n if (!fromRecent) {\n this._recentEdits.pushBack(msg)\n }\n\n return\n }\n\n (async () => {\n if (!it.check || (await it.check(msg))) {\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve(msg)\n this._pendingEditMessage.delete(msg.id)\n }\n })().catch((e) => {\n this.client.emitError(e)\n })\n }\n\n private _onHistoryRead(upd: HistoryReadUpdate) {\n if (upd.chatId !== this._chatId) return\n\n const lastRead = upd.maxReadId\n\n for (const msgId of this._pendingRead.keys()) {\n if (msgId <= lastRead) {\n const it = this._pendingRead.get(msgId)!\n if (it.timeout) clearTimeout(it.timeout)\n it.promise.resolve()\n this._pendingRead.delete(msgId)\n }\n }\n }\n\n private _processPendingNewMessages() {\n if (!this._pendingNewMessages.length) return\n\n let it\n\n while ((it = this._pendingNewMessages.popFront())) {\n this._onNewMessage(it)\n }\n }\n\n private _processRecentEdits() {\n if (!this._recentEdits.length) return\n\n const iter = this._recentEdits.iter()\n let it\n\n while (!(it = iter.next()).done) {\n this._onEditMessage(it.value, true)\n }\n }\n}\n"]}
|
|
@@ -70,9 +70,9 @@ export declare class Dialog {
|
|
|
70
70
|
*/
|
|
71
71
|
get chat(): Chat;
|
|
72
72
|
/**
|
|
73
|
-
* The latest message sent in this chat
|
|
73
|
+
* The latest message sent in this chat (if any)
|
|
74
74
|
*/
|
|
75
|
-
get lastMessage(): Message;
|
|
75
|
+
get lastMessage(): Message | null;
|
|
76
76
|
/**
|
|
77
77
|
* ID of the last read outgoing message in this dialog
|
|
78
78
|
*/
|
|
@@ -5,7 +5,6 @@ const peer_utils_js_1 = require("../../../utils/peer-utils.js");
|
|
|
5
5
|
const type_assertions_js_1 = require("../../../utils/type-assertions.js");
|
|
6
6
|
const index_js_1 = require("../../utils/index.js");
|
|
7
7
|
const memoize_js_1 = require("../../utils/memoize.js");
|
|
8
|
-
const errors_js_1 = require("../errors.js");
|
|
9
8
|
const chat_js_1 = require("../peers/chat.js");
|
|
10
9
|
const peers_index_js_1 = require("../peers/peers-index.js");
|
|
11
10
|
const draft_message_js_1 = require("./draft-message.js");
|
|
@@ -172,14 +171,14 @@ class Dialog {
|
|
|
172
171
|
return chat_js_1.Chat._parseFromPeer(this.raw.peer, this._peers);
|
|
173
172
|
}
|
|
174
173
|
/**
|
|
175
|
-
* The latest message sent in this chat
|
|
174
|
+
* The latest message sent in this chat (if any)
|
|
176
175
|
*/
|
|
177
176
|
get lastMessage() {
|
|
178
177
|
const cid = this.chat.id;
|
|
179
178
|
if (this._messages.has(cid)) {
|
|
180
179
|
return new message_js_1.Message(this._messages.get(cid), this._peers);
|
|
181
180
|
}
|
|
182
|
-
|
|
181
|
+
return null;
|
|
183
182
|
}
|
|
184
183
|
/**
|
|
185
184
|
* ID of the last read outgoing message in this dialog
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIsNot, hasValueAtKey } from '../../../utils/type-assertions.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { MtMessageNotFoundError } from '../errors.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { DraftMessage } from './draft-message.js'\nimport { Message } from './message.js'\n\n/**\n * Type used as an input for a folder in client methods\n *\n * You can pass folder object, id or title\n */\nexport type InputDialogFolder = string | number | tl.RawDialogFilter\n\n/**\n * A dialog.\n *\n * Think of it as something that is listed\n * in Telegram's main window.\n */\nexport class Dialog {\n constructor(\n readonly raw: tl.RawDialog,\n readonly _peers: PeersIndex,\n readonly _messages: Map<number, tl.TypeMessage>,\n ) {}\n\n /**\n * Parse a list of dialogs from a TL object\n *\n * @param client Client instance\n * @param dialogs TL object\n * @param limit Maximum number of dialogs to parse\n */\n static parseTlDialogs(dialogs: tl.messages.TypeDialogs | tl.messages.TypePeerDialogs, limit?: number): Dialog[] {\n assertTypeIsNot('parseDialogs', dialogs, 'messages.dialogsNotModified')\n\n const peers = PeersIndex.from(dialogs)\n\n const messages = new Map<number, tl.TypeMessage>()\n dialogs.messages.forEach((msg) => {\n if (!msg.peerId) return\n\n messages.set(getMarkedPeerId(msg.peerId), msg)\n })\n\n const arr = dialogs.dialogs.filter(hasValueAtKey('_', 'dialog')).map((it) => new Dialog(it, peers, messages))\n\n if (limit) {\n return arr.slice(0, limit)\n }\n\n return arr\n }\n\n /**\n * Find pinned dialogs from a list of dialogs\n *\n * @param dialogs Dialogs list\n * @param folder If passed, status of pin will be checked against this folder, and not globally\n */\n static findPinned(dialogs: Dialog[], folder?: tl.RawDialogFilter): Dialog[] {\n if (folder) {\n const index: Record<number, true> = {}\n folder.pinnedPeers.forEach((peer) => {\n index[getMarkedPeerId(peer)] = true\n })\n\n return dialogs.filter((i) => index[i.chat.id])\n }\n\n return dialogs.filter((i) => i.isPinned)\n }\n\n /**\n * Create a filter predicate for the given Folder.\n * Returned predicate can be used in `Array.filter()`\n *\n * @param folder Folder to filter for\n * @param excludePinned Whether to exclude pinned folders\n */\n static filterFolder(folder: tl.TypeDialogFilter, excludePinned = true): (val: Dialog) => boolean {\n if (folder._ === 'dialogFilterDefault') {\n return () => true\n }\n\n const pinned: Record<number, true> = {}\n const include: Record<number, true> = {}\n const exclude: Record<number, true> = {}\n\n // populate indices\n if (excludePinned) {\n folder.pinnedPeers.forEach((peer) => {\n pinned[getMarkedPeerId(peer)] = true\n })\n }\n folder.includePeers.forEach((peer) => {\n include[getMarkedPeerId(peer)] = true\n })\n\n if (folder._ === 'dialogFilterChatlist') {\n return (dialog) => {\n const chatId = dialog.chat.id\n\n if (excludePinned && pinned[chatId]) return false\n\n return include[chatId] || pinned[chatId]\n }\n }\n\n folder.excludePeers.forEach((peer) => {\n exclude[getMarkedPeerId(peer)] = true\n })\n\n return (dialog) => {\n const chat = dialog.chat\n const chatId = dialog.chat.id\n const chatType = dialog.chat.chatType\n\n // manual exclusion/inclusion and pins\n if (include[chatId]) return true\n\n if (exclude[chatId] || (excludePinned && pinned[chatId])) {\n return false\n }\n\n // exclusions based on status\n if (folder.excludeRead && !dialog.isUnread) return false\n if (folder.excludeMuted && dialog.isMuted) return false\n // even though this was handled in getDialogs, this method\n // could be used outside of it, so check again\n if (folder.excludeArchived && dialog.isArchived) return false\n\n // inclusions based on chat type\n if (folder.contacts && chatType === 'private' && chat.isContact) {\n return true\n }\n if (folder.nonContacts && chatType === 'private' && !chat.isContact) {\n return true\n }\n if (folder.groups && (chatType === 'group' || chatType === 'supergroup')) {\n return true\n }\n if (folder.broadcasts && chatType === 'channel') return true\n if (folder.bots && chatType === 'bot') return true\n\n return false\n }\n }\n\n /**\n * Whether this dialog is pinned\n */\n get isPinned(): boolean {\n return this.raw.pinned!\n }\n\n /**\n * Whether this chat was manually marked as unread\n */\n get isManuallyUnread(): boolean {\n return this.raw.unreadMark!\n }\n\n /**\n * Whether this chat should be considered unread\n * (i.e. has more than 1 unread message, or has\n * a \"manually unread\" mark)\n */\n get isUnread(): boolean {\n return this.raw.unreadMark || this.raw.unreadCount > 1\n }\n\n /**\n * Whether this dialog is muted\n */\n get isMuted(): boolean {\n return this.raw.notifySettings.silent!\n }\n\n /**\n * Whether this dialog is archived\n */\n get isArchived(): boolean {\n return this.raw.folderId === 1\n }\n\n /**\n * Chat that this dialog represents\n */\n get chat(): Chat {\n return Chat._parseFromPeer(this.raw.peer, this._peers)\n }\n\n /**\n * The latest message sent in this chat\n */\n get lastMessage(): Message {\n const cid = this.chat.id\n\n if (this._messages.has(cid)) {\n return new Message(this._messages.get(cid)!, this._peers)\n }\n\n throw new MtMessageNotFoundError(cid, 0)\n }\n\n /**\n * ID of the last read outgoing message in this dialog\n */\n get lastReadOutgoing(): number {\n return this.raw.readOutboxMaxId\n }\n\n /**\n * ID of the last read ingoing message in this dialog\n */\n get lastReadIngoing(): number {\n return this.raw.readInboxMaxId\n }\n\n /**\n * ID of the last read message in this dialog\n */\n get lastRead(): number {\n return Math.max(this.raw.readOutboxMaxId, this.raw.readInboxMaxId)\n }\n\n /**\n * Number of unread messages\n */\n get unreadCount(): number {\n return this.raw.unreadCount\n }\n\n /**\n * Number of unread mentions\n */\n get unreadMentionsCount(): number {\n return this.raw.unreadMentionsCount\n }\n\n /**\n * Number of unread reactions\n */\n get unreadReactionsCount(): number {\n return this.raw.unreadReactionsCount\n }\n\n /**\n * Draft message in this dialog\n */\n get draftMessage(): DraftMessage | null {\n if (this.raw.draft?._ === 'draftMessage') {\n return new DraftMessage(this.raw.draft)\n }\n\n return null\n }\n\n /**\n * TTL period of all messages in this dialog\n */\n get ttlPeriod(): number | null {\n return this.raw.ttlPeriod ?? null\n }\n}\n\nmemoizeGetters(Dialog, ['chat', 'lastMessage', 'draftMessage'])\nmakeInspectable(Dialog)\n"]}
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIsNot, hasValueAtKey } from '../../../utils/type-assertions.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { DraftMessage } from './draft-message.js'\nimport { Message } from './message.js'\n\n/**\n * Type used as an input for a folder in client methods\n *\n * You can pass folder object, id or title\n */\nexport type InputDialogFolder = string | number | tl.RawDialogFilter\n\n/**\n * A dialog.\n *\n * Think of it as something that is listed\n * in Telegram's main window.\n */\nexport class Dialog {\n constructor(\n readonly raw: tl.RawDialog,\n readonly _peers: PeersIndex,\n readonly _messages: Map<number, tl.TypeMessage>,\n ) {}\n\n /**\n * Parse a list of dialogs from a TL object\n *\n * @param client Client instance\n * @param dialogs TL object\n * @param limit Maximum number of dialogs to parse\n */\n static parseTlDialogs(dialogs: tl.messages.TypeDialogs | tl.messages.TypePeerDialogs, limit?: number): Dialog[] {\n assertTypeIsNot('parseDialogs', dialogs, 'messages.dialogsNotModified')\n\n const peers = PeersIndex.from(dialogs)\n\n const messages = new Map<number, tl.TypeMessage>()\n dialogs.messages.forEach((msg) => {\n if (!msg.peerId) return\n\n messages.set(getMarkedPeerId(msg.peerId), msg)\n })\n\n const arr = dialogs.dialogs.filter(hasValueAtKey('_', 'dialog')).map((it) => new Dialog(it, peers, messages))\n\n if (limit) {\n return arr.slice(0, limit)\n }\n\n return arr\n }\n\n /**\n * Find pinned dialogs from a list of dialogs\n *\n * @param dialogs Dialogs list\n * @param folder If passed, status of pin will be checked against this folder, and not globally\n */\n static findPinned(dialogs: Dialog[], folder?: tl.RawDialogFilter): Dialog[] {\n if (folder) {\n const index: Record<number, true> = {}\n folder.pinnedPeers.forEach((peer) => {\n index[getMarkedPeerId(peer)] = true\n })\n\n return dialogs.filter((i) => index[i.chat.id])\n }\n\n return dialogs.filter((i) => i.isPinned)\n }\n\n /**\n * Create a filter predicate for the given Folder.\n * Returned predicate can be used in `Array.filter()`\n *\n * @param folder Folder to filter for\n * @param excludePinned Whether to exclude pinned folders\n */\n static filterFolder(folder: tl.TypeDialogFilter, excludePinned = true): (val: Dialog) => boolean {\n if (folder._ === 'dialogFilterDefault') {\n return () => true\n }\n\n const pinned: Record<number, true> = {}\n const include: Record<number, true> = {}\n const exclude: Record<number, true> = {}\n\n // populate indices\n if (excludePinned) {\n folder.pinnedPeers.forEach((peer) => {\n pinned[getMarkedPeerId(peer)] = true\n })\n }\n folder.includePeers.forEach((peer) => {\n include[getMarkedPeerId(peer)] = true\n })\n\n if (folder._ === 'dialogFilterChatlist') {\n return (dialog) => {\n const chatId = dialog.chat.id\n\n if (excludePinned && pinned[chatId]) return false\n\n return include[chatId] || pinned[chatId]\n }\n }\n\n folder.excludePeers.forEach((peer) => {\n exclude[getMarkedPeerId(peer)] = true\n })\n\n return (dialog) => {\n const chat = dialog.chat\n const chatId = dialog.chat.id\n const chatType = dialog.chat.chatType\n\n // manual exclusion/inclusion and pins\n if (include[chatId]) return true\n\n if (exclude[chatId] || (excludePinned && pinned[chatId])) {\n return false\n }\n\n // exclusions based on status\n if (folder.excludeRead && !dialog.isUnread) return false\n if (folder.excludeMuted && dialog.isMuted) return false\n // even though this was handled in getDialogs, this method\n // could be used outside of it, so check again\n if (folder.excludeArchived && dialog.isArchived) return false\n\n // inclusions based on chat type\n if (folder.contacts && chatType === 'private' && chat.isContact) {\n return true\n }\n if (folder.nonContacts && chatType === 'private' && !chat.isContact) {\n return true\n }\n if (folder.groups && (chatType === 'group' || chatType === 'supergroup')) {\n return true\n }\n if (folder.broadcasts && chatType === 'channel') return true\n if (folder.bots && chatType === 'bot') return true\n\n return false\n }\n }\n\n /**\n * Whether this dialog is pinned\n */\n get isPinned(): boolean {\n return this.raw.pinned!\n }\n\n /**\n * Whether this chat was manually marked as unread\n */\n get isManuallyUnread(): boolean {\n return this.raw.unreadMark!\n }\n\n /**\n * Whether this chat should be considered unread\n * (i.e. has more than 1 unread message, or has\n * a \"manually unread\" mark)\n */\n get isUnread(): boolean {\n return this.raw.unreadMark || this.raw.unreadCount > 1\n }\n\n /**\n * Whether this dialog is muted\n */\n get isMuted(): boolean {\n return this.raw.notifySettings.silent!\n }\n\n /**\n * Whether this dialog is archived\n */\n get isArchived(): boolean {\n return this.raw.folderId === 1\n }\n\n /**\n * Chat that this dialog represents\n */\n get chat(): Chat {\n return Chat._parseFromPeer(this.raw.peer, this._peers)\n }\n\n /**\n * The latest message sent in this chat (if any)\n */\n get lastMessage(): Message | null {\n const cid = this.chat.id\n\n if (this._messages.has(cid)) {\n return new Message(this._messages.get(cid)!, this._peers)\n }\n\n return null\n }\n\n /**\n * ID of the last read outgoing message in this dialog\n */\n get lastReadOutgoing(): number {\n return this.raw.readOutboxMaxId\n }\n\n /**\n * ID of the last read ingoing message in this dialog\n */\n get lastReadIngoing(): number {\n return this.raw.readInboxMaxId\n }\n\n /**\n * ID of the last read message in this dialog\n */\n get lastRead(): number {\n return Math.max(this.raw.readOutboxMaxId, this.raw.readInboxMaxId)\n }\n\n /**\n * Number of unread messages\n */\n get unreadCount(): number {\n return this.raw.unreadCount\n }\n\n /**\n * Number of unread mentions\n */\n get unreadMentionsCount(): number {\n return this.raw.unreadMentionsCount\n }\n\n /**\n * Number of unread reactions\n */\n get unreadReactionsCount(): number {\n return this.raw.unreadReactionsCount\n }\n\n /**\n * Draft message in this dialog\n */\n get draftMessage(): DraftMessage | null {\n if (this.raw.draft?._ === 'draftMessage') {\n return new DraftMessage(this.raw.draft)\n }\n\n return null\n }\n\n /**\n * TTL period of all messages in this dialog\n */\n get ttlPeriod(): number | null {\n return this.raw.ttlPeriod ?? null\n }\n}\n\nmemoizeGetters(Dialog, ['chat', 'lastMessage', 'draftMessage'])\nmakeInspectable(Dialog)\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
import { MessageEntity } from './message-entity.js';
|
|
3
|
+
/**
|
|
4
|
+
* Describes a fact-check added to the message by an independent checker
|
|
5
|
+
*/
|
|
6
|
+
export declare class FactCheck {
|
|
7
|
+
readonly raw: tl.RawFactCheck;
|
|
8
|
+
constructor(raw: tl.RawFactCheck);
|
|
9
|
+
/**
|
|
10
|
+
* Text of the fact-check
|
|
11
|
+
*/
|
|
12
|
+
get text(): string;
|
|
13
|
+
/**
|
|
14
|
+
* Entities contained in the fact-check text
|
|
15
|
+
*/
|
|
16
|
+
get entities(): MessageEntity[];
|
|
17
|
+
/**
|
|
18
|
+
* Country for which the fact-check is relevant
|
|
19
|
+
*/
|
|
20
|
+
get country(): string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Whether this information might be outdated
|
|
23
|
+
* and should be re-fetched manually
|
|
24
|
+
*/
|
|
25
|
+
get shouldRecheck(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Hash of the fact-check
|
|
28
|
+
*/
|
|
29
|
+
get hash(): tl.Long;
|
|
30
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FactCheck = void 0;
|
|
4
|
+
const inspectable_js_1 = require("../../utils/inspectable.js");
|
|
5
|
+
const memoize_js_1 = require("../../utils/memoize.js");
|
|
6
|
+
const message_entity_js_1 = require("./message-entity.js");
|
|
7
|
+
/**
|
|
8
|
+
* Describes a fact-check added to the message by an independent checker
|
|
9
|
+
*/
|
|
10
|
+
class FactCheck {
|
|
11
|
+
raw;
|
|
12
|
+
constructor(raw) {
|
|
13
|
+
this.raw = raw;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Text of the fact-check
|
|
17
|
+
*/
|
|
18
|
+
get text() {
|
|
19
|
+
return this.raw.text?.text ?? '';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Entities contained in the fact-check text
|
|
23
|
+
*/
|
|
24
|
+
get entities() {
|
|
25
|
+
const entities = [];
|
|
26
|
+
if (this.raw.text?.entities) {
|
|
27
|
+
for (const ent of this.raw.text.entities) {
|
|
28
|
+
entities.push(new message_entity_js_1.MessageEntity(ent, this.raw.text.text));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return entities;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Country for which the fact-check is relevant
|
|
35
|
+
*/
|
|
36
|
+
get country() {
|
|
37
|
+
return this.raw.country ?? null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Whether this information might be outdated
|
|
41
|
+
* and should be re-fetched manually
|
|
42
|
+
*/
|
|
43
|
+
get shouldRecheck() {
|
|
44
|
+
return this.raw.needCheck;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Hash of the fact-check
|
|
48
|
+
*/
|
|
49
|
+
get hash() {
|
|
50
|
+
return this.raw.hash;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.FactCheck = FactCheck;
|
|
54
|
+
(0, memoize_js_1.memoizeGetters)(FactCheck, ['entities']);
|
|
55
|
+
(0, inspectable_js_1.makeInspectable)(FactCheck);
|
|
56
|
+
//# sourceMappingURL=fact-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fact-check.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/fact-check.ts"],"names":[],"mappings":";;;AAEA,+DAA4D;AAC5D,uDAAuD;AACvD,2DAAmD;AAEnD;;GAEG;AACH,MAAa,SAAS;IACG;IAArB,YAAqB,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;IAAG,CAAC;IAE7C;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,MAAM,QAAQ,GAAoB,EAAE,CAAA;QAEpC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,iCAAa,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7D,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAA;IACnC,CAAC;IAED;;;OAGG;IACH,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,SAAU,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACxB,CAAC;CACJ;AA9CD,8BA8CC;AAED,IAAA,2BAAc,EAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;AACvC,IAAA,gCAAe,EAAC,SAAS,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/inspectable.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { MessageEntity } from './message-entity.js'\n\n/**\n * Describes a fact-check added to the message by an independent checker\n */\nexport class FactCheck {\n constructor(readonly raw: tl.RawFactCheck) {}\n\n /**\n * Text of the fact-check\n */\n get text(): string {\n return this.raw.text?.text ?? ''\n }\n\n /**\n * Entities contained in the fact-check text\n */\n get entities(): MessageEntity[] {\n const entities: MessageEntity[] = []\n\n if (this.raw.text?.entities) {\n for (const ent of this.raw.text.entities) {\n entities.push(new MessageEntity(ent, this.raw.text.text))\n }\n }\n\n return entities\n }\n\n /**\n * Country for which the fact-check is relevant\n */\n get country(): string | null {\n return this.raw.country ?? null\n }\n\n /**\n * Whether this information might be outdated\n * and should be re-fetched manually\n */\n get shouldRecheck(): boolean {\n return this.raw.needCheck!\n }\n\n /**\n * Hash of the fact-check\n */\n get hash(): tl.Long {\n return this.raw.hash\n }\n}\n\nmemoizeGetters(FactCheck, ['entities'])\nmakeInspectable(FactCheck)\n"]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export * from './dialog.js';
|
|
2
2
|
export * from './draft-message.js';
|
|
3
|
+
export * from './fact-check.js';
|
|
3
4
|
export * from './input-message-id.js';
|
|
4
5
|
export * from './message.js';
|
|
5
6
|
export * from './message-action.js';
|
|
7
|
+
export * from './message-effect.js';
|
|
6
8
|
export * from './message-entity.js';
|
|
7
9
|
export * from './message-forward.js';
|
|
8
10
|
export * from './message-media.js';
|
|
@@ -16,9 +16,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./dialog.js"), exports);
|
|
18
18
|
__exportStar(require("./draft-message.js"), exports);
|
|
19
|
+
__exportStar(require("./fact-check.js"), exports);
|
|
19
20
|
__exportStar(require("./input-message-id.js"), exports);
|
|
20
21
|
__exportStar(require("./message.js"), exports);
|
|
21
22
|
__exportStar(require("./message-action.js"), exports);
|
|
23
|
+
__exportStar(require("./message-effect.js"), exports);
|
|
22
24
|
__exportStar(require("./message-entity.js"), exports);
|
|
23
25
|
__exportStar(require("./message-forward.js"), exports);
|
|
24
26
|
__exportStar(require("./message-media.js"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,qDAAkC;AAClC,wDAAqC;AACrC,+CAA4B;AAC5B,sDAAmC;AACnC,sDAAmC;AACnC,uDAAoC;AACpC,qDAAkC;AAClC,yDAAsC;AACtC,uDAAoC;AACpC,uDAAoC;AACpC,sDAAmC","sourcesContent":["export * from './dialog.js'\nexport * from './draft-message.js'\nexport * from './input-message-id.js'\nexport * from './message.js'\nexport * from './message-action.js'\nexport * from './message-entity.js'\nexport * from './message-forward.js'\nexport * from './message-media.js'\nexport * from './message-reactions.js'\nexport * from './message-replies.js'\nexport * from './replied-message.js'\nexport * from './search-filters.js'\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,qDAAkC;AAClC,kDAA+B;AAC/B,wDAAqC;AACrC,+CAA4B;AAC5B,sDAAmC;AACnC,sDAAmC;AACnC,sDAAmC;AACnC,uDAAoC;AACpC,qDAAkC;AAClC,yDAAsC;AACtC,uDAAoC;AACpC,uDAAoC;AACpC,sDAAmC","sourcesContent":["export * from './dialog.js'\nexport * from './draft-message.js'\nexport * from './fact-check.js'\nexport * from './input-message-id.js'\nexport * from './message.js'\nexport * from './message-action.js'\nexport * from './message-effect.js'\nexport * from './message-entity.js'\nexport * from './message-forward.js'\nexport * from './message-media.js'\nexport * from './message-reactions.js'\nexport * from './message-replies.js'\nexport * from './replied-message.js'\nexport * from './search-filters.js'\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
import { LongMap } from '../../../utils/long-utils.js';
|
|
3
|
+
import { Sticker } from '../media/sticker.js';
|
|
4
|
+
export declare class MessageEffect {
|
|
5
|
+
readonly raw: tl.RawAvailableEffect;
|
|
6
|
+
readonly documentsMap: LongMap<tl.RawDocument>;
|
|
7
|
+
constructor(raw: tl.RawAvailableEffect, documentsMap: LongMap<tl.RawDocument>);
|
|
8
|
+
/** Whether Telegram Premium is required to use this effect */
|
|
9
|
+
get isPremiumRequired(): boolean;
|
|
10
|
+
/** ID of this effect */
|
|
11
|
+
get id(): tl.Long;
|
|
12
|
+
/** Emoji representint this reaction */
|
|
13
|
+
get emoji(): string;
|
|
14
|
+
/** Sticker representing a static icon for this effect (if any) */
|
|
15
|
+
get staticIcon(): Sticker | null;
|
|
16
|
+
/** Animated icon representing the effect */
|
|
17
|
+
get icon(): Sticker;
|
|
18
|
+
/** The animation itself */
|
|
19
|
+
get animation(): Sticker | null;
|
|
20
|
+
}
|