mirror of
				https://github.com/LonamiWebs/Telethon.git
				synced 2025-10-30 23:47:33 +03:00 
			
		
		
		
	Fix calls to private client methods
This commit is contained in:
		
							parent
							
								
									f222dc167e
								
							
						
					
					
						commit
						c84043cf71
					
				|  | @ -40,7 +40,8 @@ async def start( | |||
|         raise ValueError('Both a phone and a bot token provided, ' | ||||
|                             'must only provide one of either') | ||||
| 
 | ||||
|     return await self._start( | ||||
|     return await _start( | ||||
|         self=self, | ||||
|         phone=phone, | ||||
|         password=password, | ||||
|         bot_token=bot_token, | ||||
|  | @ -211,7 +212,7 @@ async def sign_in( | |||
|         return await self.send_code_request(phone) | ||||
|     elif code: | ||||
|         phone, phone_code_hash = \ | ||||
|             self._parse_phone_and_hash(phone, phone_code_hash) | ||||
|             _parse_phone_and_hash(self, phone, phone_code_hash) | ||||
| 
 | ||||
|         # May raise PhoneCodeEmptyError, PhoneCodeExpiredError, | ||||
|         # PhoneCodeHashEmptyError or PhoneCodeInvalidError. | ||||
|  | @ -240,7 +241,7 @@ async def sign_in( | |||
|         self._tos = result.terms_of_service | ||||
|         raise errors.PhoneNumberUnoccupiedError(request=request) | ||||
| 
 | ||||
|     return self._on_login(result.user) | ||||
|     return _on_login(self, result.user) | ||||
| 
 | ||||
| async def sign_up( | ||||
|         self: 'TelegramClient', | ||||
|  | @ -280,7 +281,7 @@ async def sign_up( | |||
|         sys.stderr.flush() | ||||
| 
 | ||||
|     phone, phone_code_hash = \ | ||||
|         self._parse_phone_and_hash(phone, phone_code_hash) | ||||
|         _parse_phone_and_hash(self, phone, phone_code_hash) | ||||
| 
 | ||||
|     result = await self(_tl.fn.auth.SignUp( | ||||
|         phone_number=phone, | ||||
|  | @ -293,7 +294,7 @@ async def sign_up( | |||
|         await self( | ||||
|             _tl.fn.help.AcceptTermsOfService(self._tos.id)) | ||||
| 
 | ||||
|     return self._on_login(result.user) | ||||
|     return _on_login(self, result.user) | ||||
| 
 | ||||
| def _on_login(self, user): | ||||
|     """ | ||||
|  |  | |||
|  | @ -213,8 +213,8 @@ async def download_profile_photo( | |||
|             if not hasattr(entity, 'chat_photo'): | ||||
|                 return None | ||||
| 
 | ||||
|             return await self._download_photo( | ||||
|                 entity.chat_photo, file, date=None, | ||||
|             return await _download_photo( | ||||
|                 self, entity.chat_photo, file, date=None, | ||||
|                 thumb=thumb, progress_callback=None | ||||
|             ) | ||||
| 
 | ||||
|  | @ -237,7 +237,7 @@ async def download_profile_photo( | |||
|         # media which should be done with `download_media` instead. | ||||
|         return None | ||||
| 
 | ||||
|     file = self._get_proper_filename( | ||||
|     file = _get_proper_filename( | ||||
|         file, 'profile_photo', '.jpg', | ||||
|         possible_names=possible_names | ||||
|     ) | ||||
|  | @ -252,8 +252,8 @@ async def download_profile_photo( | |||
|         ty = helpers._entity_type(ie) | ||||
|         if ty == helpers._EntityType.CHANNEL: | ||||
|             full = await self(_tl.fn.channels.GetFullChannel(ie)) | ||||
|             return await self._download_photo( | ||||
|                 full.full_chat.chat_photo, file, | ||||
|             return await _download_photo( | ||||
|                 self, full.full_chat.chat_photo, file, | ||||
|                 date=None, progress_callback=None, | ||||
|                 thumb=thumb | ||||
|             ) | ||||
|  | @ -295,20 +295,20 @@ async def download_media( | |||
|             media = media.webpage.document or media.webpage.photo | ||||
| 
 | ||||
|     if isinstance(media, (_tl.MessageMediaPhoto, _tl.Photo)): | ||||
|         return await self._download_photo( | ||||
|             media, file, date, thumb, progress_callback | ||||
|         return await _download_photo( | ||||
|             self, media, file, date, thumb, progress_callback | ||||
|         ) | ||||
|     elif isinstance(media, (_tl.MessageMediaDocument, _tl.Document)): | ||||
|         return await self._download_document( | ||||
|             media, file, date, thumb, progress_callback, msg_data | ||||
|         return await _download_document( | ||||
|             self, media, file, date, thumb, progress_callback, msg_data | ||||
|         ) | ||||
|     elif isinstance(media, _tl.MessageMediaContact) and thumb is None: | ||||
|         return self._download_contact( | ||||
|             media, file | ||||
|         return _download_contact( | ||||
|             self, media, file | ||||
|         ) | ||||
|     elif isinstance(media, (_tl.WebDocument, _tl.WebDocumentNoProxy)) and thumb is None: | ||||
|         return await self._download_web_document( | ||||
|             media, file, progress_callback | ||||
|         return await _download_web_document( | ||||
|             self, media, file, progress_callback | ||||
|         ) | ||||
| 
 | ||||
| async def download_file( | ||||
|  | @ -322,7 +322,8 @@ async def download_file( | |||
|         dc_id: int = None, | ||||
|         key: bytes = None, | ||||
|         iv: bytes = None) -> typing.Optional[bytes]: | ||||
|     return await self._download_file( | ||||
|     return await _download_file( | ||||
|         self, | ||||
|         input_location, | ||||
|         file, | ||||
|         part_size_kb=part_size_kb, | ||||
|  | @ -370,8 +371,8 @@ async def _download_file( | |||
|         f = file | ||||
| 
 | ||||
|     try: | ||||
|         async for chunk in self._iter_download( | ||||
|                 input_location, request_size=part_size, dc_id=dc_id, msg_data=msg_data): | ||||
|         async for chunk in _iter_download( | ||||
|                 self, input_location, request_size=part_size, dc_id=dc_id, msg_data=msg_data): | ||||
|             if iv and key: | ||||
|                 chunk = AES.decrypt_ige(chunk, key, iv) | ||||
|             r = f.write(chunk) | ||||
|  | @ -405,7 +406,8 @@ def iter_download( | |||
|         file_size: int = None, | ||||
|         dc_id: int = None | ||||
| ): | ||||
|     return self._iter_download( | ||||
|     return _iter_download( | ||||
|         self, | ||||
|         file, | ||||
|         offset=offset, | ||||
|         stride=stride, | ||||
|  | @ -552,17 +554,17 @@ async def _download_photo(self: 'TelegramClient', photo, file, date, thumb, prog | |||
|         return | ||||
| 
 | ||||
|     # Include video sizes here (but they may be None so provide an empty list) | ||||
|     size = self._get_thumb(photo.sizes + (photo.video_sizes or []), thumb) | ||||
|     size = _get_thumb(photo.sizes + (photo.video_sizes or []), thumb) | ||||
|     if not size or isinstance(size, _tl.PhotoSizeEmpty): | ||||
|         return | ||||
| 
 | ||||
|     if isinstance(size, _tl.VideoSize): | ||||
|         file = self._get_proper_filename(file, 'video', '.mp4', date=date) | ||||
|         file = _get_proper_filename(file, 'video', '.mp4', date=date) | ||||
|     else: | ||||
|         file = self._get_proper_filename(file, 'photo', '.jpg', date=date) | ||||
|         file = _get_proper_filename(file, 'photo', '.jpg', date=date) | ||||
| 
 | ||||
|     if isinstance(size, (_tl.PhotoCachedSize, _tl.PhotoStrippedSize)): | ||||
|         return self._download_cached_photo_size(size, file) | ||||
|         return _download_cached_photo_size(self, size, file) | ||||
| 
 | ||||
|     if isinstance(size, _tl.PhotoSizeProgressive): | ||||
|         file_size = max(size.sizes) | ||||
|  | @ -614,19 +616,19 @@ async def _download_document( | |||
|         return | ||||
| 
 | ||||
|     if thumb is None: | ||||
|         kind, possible_names = self._get_kind_and_names(document.attributes) | ||||
|         file = self._get_proper_filename( | ||||
|         kind, possible_names = _get_kind_and_names(document.attributes) | ||||
|         file = _get_proper_filename( | ||||
|             file, kind, utils.get_extension(document), | ||||
|             date=date, possible_names=possible_names | ||||
|         ) | ||||
|         size = None | ||||
|     else: | ||||
|         file = self._get_proper_filename(file, 'photo', '.jpg', date=date) | ||||
|         size = self._get_thumb(document.thumbs, thumb) | ||||
|         file = _get_proper_filename(file, 'photo', '.jpg', date=date) | ||||
|         size = _get_thumb(document.thumbs, thumb) | ||||
|         if isinstance(size, (_tl.PhotoCachedSize, _tl.PhotoStrippedSize)): | ||||
|             return self._download_cached_photo_size(size, file) | ||||
|             return _download_cached_photo_size(self, size, file) | ||||
| 
 | ||||
|     result = await self._download_file( | ||||
|     result = await _download_file( | ||||
|         _tl.InputDocumentFileLocation( | ||||
|             id=document.id, | ||||
|             access_hash=document.access_hash, | ||||
|  |  | |||
|  | @ -55,12 +55,12 @@ async def _parse_message_text(self: 'TelegramClient', message, parse_mode): | |||
|             m = re.match(r'^@|\+|tg://user\?id=(\d+)', e.url) | ||||
|             if m: | ||||
|                 user = int(m.group(1)) if m.group(1) else e.url | ||||
|                 is_mention = await self._replace_with_mention(msg_entities, i, user) | ||||
|                 is_mention = await _replace_with_mention(self, msg_entities, i, user) | ||||
|                 if not is_mention: | ||||
|                     del msg_entities[i] | ||||
|         elif isinstance(e, (_tl.MessageEntityMentionName, | ||||
|                             _tl.InputMessageEntityMentionName)): | ||||
|             is_mention = await self._replace_with_mention(msg_entities, i, e.user_id) | ||||
|             is_mention = await _replace_with_mention(self, msg_entities, i, e.user_id) | ||||
|             if not is_mention: | ||||
|                 del msg_entities[i] | ||||
| 
 | ||||
|  |  | |||
|  | @ -436,7 +436,7 @@ async def send_message( | |||
| 
 | ||||
|     entity = await self.get_input_entity(entity) | ||||
|     if comment_to is not None: | ||||
|         entity, reply_to = await self._get_comment_data(entity, comment_to) | ||||
|         entity, reply_to = await _get_comment_data(self, entity, comment_to) | ||||
| 
 | ||||
|     if isinstance(message, _tl.Message): | ||||
|         if buttons is None: | ||||
|  | @ -712,7 +712,7 @@ async def pin_message( | |||
|         notify: bool = False, | ||||
|         pm_oneside: bool = False | ||||
| ): | ||||
|     return await self._pin(entity, message, unpin=False, notify=notify, pm_oneside=pm_oneside) | ||||
|     return await _pin(self, entity, message, unpin=False, notify=notify, pm_oneside=pm_oneside) | ||||
| 
 | ||||
| async def unpin_message( | ||||
|         self: 'TelegramClient', | ||||
|  | @ -721,7 +721,7 @@ async def unpin_message( | |||
|         *, | ||||
|         notify: bool = False | ||||
| ): | ||||
|     return await self._pin(entity, message, unpin=True, notify=notify) | ||||
|     return await _pin(self, entity, message, unpin=True, notify=notify) | ||||
| 
 | ||||
| async def _pin(self, entity, message, *, unpin, notify=False, pm_oneside=False): | ||||
|     message = utils.get_message_id(message) or 0 | ||||
|  |  | |||
|  | @ -331,7 +331,7 @@ def is_connected(self: 'TelegramClient') -> bool: | |||
|     return sender and sender.is_connected() | ||||
| 
 | ||||
| async def disconnect(self: 'TelegramClient'): | ||||
|     return await self._disconnect_coro() | ||||
|     return await _disconnect_coro(self) | ||||
| 
 | ||||
| def set_proxy(self: 'TelegramClient', proxy: typing.Union[tuple, dict]): | ||||
|     init_proxy = None if not issubclass(self._connection, TcpMTProxy) else \ | ||||
|  | @ -354,7 +354,7 @@ def set_proxy(self: 'TelegramClient', proxy: typing.Union[tuple, dict]): | |||
|             connection._proxy = proxy | ||||
| 
 | ||||
| async def _disconnect_coro(self: 'TelegramClient'): | ||||
|     await self._disconnect() | ||||
|     await _disconnect(self) | ||||
| 
 | ||||
|     # Also clean-up all exported senders because we're done with them | ||||
|     async with self._borrow_sender_lock: | ||||
|  | @ -408,7 +408,7 @@ async def _switch_dc(self: 'TelegramClient', new_dc): | |||
|     Permanently switches the current connection to the new data center. | ||||
|     """ | ||||
|     self._log[__name__].info('Reconnecting to new data center %s', new_dc) | ||||
|     dc = await self._get_dc(new_dc) | ||||
|     dc = await _get_dc(self, new_dc) | ||||
| 
 | ||||
|     self.session.set_dc(dc.id, dc.ip_address, dc.port) | ||||
|     # auth_key's are associated with a server, which has now changed | ||||
|  | @ -416,7 +416,7 @@ async def _switch_dc(self: 'TelegramClient', new_dc): | |||
|     self._sender.auth_key.key = None | ||||
|     self.session.auth_key = None | ||||
|     self.session.save() | ||||
|     await self._disconnect() | ||||
|     await _disconnect(self) | ||||
|     return await self.connect() | ||||
| 
 | ||||
| def _auth_key_callback(self: 'TelegramClient', auth_key): | ||||
|  | @ -462,7 +462,7 @@ async def _create_exported_sender(self: 'TelegramClient', dc_id): | |||
|     """ | ||||
|     # Thanks badoualy/kotlogram on /telegram/api/DefaultTelegramClient.kt | ||||
|     # for clearly showing how to export the authorization | ||||
|     dc = await self._get_dc(dc_id) | ||||
|     dc = await _get_dc(self, dc_id) | ||||
|     # Can't reuse self._sender._connection as it has its own seqno. | ||||
|     # | ||||
|     # If one were to do that, Telegram would reset the connection | ||||
|  | @ -497,12 +497,12 @@ async def _borrow_exported_sender(self: 'TelegramClient', dc_id): | |||
| 
 | ||||
|         if state is None: | ||||
|             state = _ExportState() | ||||
|             sender = await self._create_exported_sender(dc_id) | ||||
|             sender = await _create_exported_sender(self, dc_id) | ||||
|             sender.dc_id = dc_id | ||||
|             self._borrowed_senders[dc_id] = (state, sender) | ||||
| 
 | ||||
|         elif state.need_connect(): | ||||
|             dc = await self._get_dc(dc_id) | ||||
|             dc = await _get_dc(self, dc_id) | ||||
|             await sender.connect(self._connection( | ||||
|                 dc.ip_address, | ||||
|                 dc.port, | ||||
|  | @ -545,7 +545,7 @@ async def _get_cdn_client(self: 'TelegramClient', cdn_redirect): | |||
|     raise NotImplementedError | ||||
|     session = self._exported_sessions.get(cdn_redirect.dc_id) | ||||
|     if not session: | ||||
|         dc = await self._get_dc(cdn_redirect.dc_id, cdn=True) | ||||
|         dc = await _get_dc(self, cdn_redirect.dc_id, cdn=True) | ||||
|         session = self.session.clone() | ||||
|         await session.set_dc(dc.id, dc.ip_address, dc.port) | ||||
|         self._exported_sessions[cdn_redirect.dc_id] = session | ||||
|  | @ -564,20 +564,3 @@ async def _get_cdn_client(self: 'TelegramClient', cdn_redirect): | |||
|     # set already. Avoid invoking non-CDN methods by not syncing updates. | ||||
|     client.connect(_sync_updates=False) | ||||
|     return client | ||||
| 
 | ||||
| 
 | ||||
| @abc.abstractmethod | ||||
| def __call__(self: 'TelegramClient', request, ordered=False): | ||||
|     raise NotImplementedError | ||||
| 
 | ||||
| @abc.abstractmethod | ||||
| def _handle_update(self: 'TelegramClient', update): | ||||
|     raise NotImplementedError | ||||
| 
 | ||||
| @abc.abstractmethod | ||||
| def _update_loop(self: 'TelegramClient'): | ||||
|     raise NotImplementedError | ||||
| 
 | ||||
| @abc.abstractmethod | ||||
| async def _handle_auto_reconnect(self: 'TelegramClient'): | ||||
|     raise NotImplementedError | ||||
|  |  | |||
|  | @ -3496,7 +3496,7 @@ class TelegramClient: | |||
| 
 | ||||
|     # region Users | ||||
| 
 | ||||
|     def __call__(self: 'TelegramClient', request, ordered=False): | ||||
|     async def __call__(self: 'TelegramClient', request, ordered=False, flood_sleep_threshold=None): | ||||
|         """ | ||||
|         Invokes (sends) one or more MTProtoRequests and returns (receives) | ||||
|         their result. | ||||
|  | @ -3519,7 +3519,7 @@ class TelegramClient: | |||
|             The result of the request (often a `TLObject`) or a list of | ||||
|             results if more than one request was given. | ||||
|         """ | ||||
|         return users.call(self._sender, request, ordered=ordered) | ||||
|         return self._call(request, ordered, flood_sleep_threshold) | ||||
| 
 | ||||
|     async def get_me(self: 'TelegramClient', input_peer: bool = False) \ | ||||
|             -> 'typing.Union[_tl.User, _tl.InputPeerUser]': | ||||
|  | @ -3719,4 +3719,59 @@ class TelegramClient: | |||
| 
 | ||||
|     # endregion Users | ||||
| 
 | ||||
|     # region Private | ||||
| 
 | ||||
|     async def _call(self: 'TelegramClient', sender, request, ordered=False, flood_sleep_threshold=None): | ||||
|         return users.call(self._sender, request, ordered=ordered, flood_sleep_threshold=flood_sleep_threshold) | ||||
| 
 | ||||
|     async def _update_loop(self: 'TelegramClient'): | ||||
|         return updates._update_loop(**locals()) | ||||
| 
 | ||||
|     async def _parse_message_text(self: 'TelegramClient', message, parse_mode): | ||||
|         return messageparse._parse_message_text(**locals()) | ||||
| 
 | ||||
|     async def _file_to_media( | ||||
|             self, file, force_document=False, file_size=None, | ||||
|             progress_callback=None, attributes=None, thumb=None, | ||||
|             allow_cache=True, voice_note=False, video_note=False, | ||||
|             supports_streaming=False, mime_type=None, as_image=None, | ||||
|             ttl=None): | ||||
|         return uploads._file_to_media(**locals()) | ||||
| 
 | ||||
|     async def _get_peer(self: 'TelegramClient', peer: 'hints.EntityLike'): | ||||
|         return users._get_peer(**locals()) | ||||
| 
 | ||||
|     def _get_response_message(self: 'TelegramClient', request, result, input_chat): | ||||
|         return messageparse._get_response_message(**locals()) | ||||
| 
 | ||||
|     async def _get_comment_data( | ||||
|             self: 'TelegramClient', | ||||
|             entity: 'hints.EntityLike', | ||||
|             message: 'typing.Union[int, _tl.Message]' | ||||
|     ): | ||||
|         return messages._get_comment_data(**locals()) | ||||
| 
 | ||||
|     async def _switch_dc(self: 'TelegramClient', new_dc): | ||||
|         return telegrambaseclient._switch_dc(**locals()) | ||||
| 
 | ||||
|     async def _borrow_exported_sender(self: 'TelegramClient', dc_id): | ||||
|         return telegrambaseclient._borrow_exported_sender(**locals()) | ||||
| 
 | ||||
|     async def _return_exported_sender(self: 'TelegramClient', sender): | ||||
|         return telegrambaseclient._return_exported_sender(**locals()) | ||||
| 
 | ||||
|     async def _clean_exported_senders(self: 'TelegramClient'): | ||||
|         return telegrambaseclient._clean_exported_senders(**locals()) | ||||
| 
 | ||||
|     def _auth_key_callback(self: 'TelegramClient', auth_key): | ||||
|         return telegrambaseclient._auth_key_callback | ||||
| 
 | ||||
|     def _handle_update(self: 'TelegramClient', update): | ||||
|         return updates._handle_update(**locals()) | ||||
| 
 | ||||
|     async def _handle_auto_reconnect(self: 'TelegramClient'): | ||||
|         return updates._handle_auto_reconnect(**locals()) | ||||
| 
 | ||||
|     # endregion Private | ||||
| 
 | ||||
| # TODO re-patch everything to remove the intermediate calls | ||||
|  |  | |||
|  | @ -34,7 +34,7 @@ async def set_receive_updates(self: 'TelegramClient', receive_updates): | |||
|         await self(_tl.fn.updates.GetState()) | ||||
| 
 | ||||
| async def run_until_disconnected(self: 'TelegramClient'): | ||||
|     return await self._run_until_disconnected() | ||||
|     return await _run_until_disconnected(self) | ||||
| 
 | ||||
| def on(self: 'TelegramClient', event: EventBuilder): | ||||
|     def decorator(f): | ||||
|  | @ -101,7 +101,7 @@ async def catch_up(self: 'TelegramClient'): | |||
|                     state = d.intermediate_state | ||||
| 
 | ||||
|                 pts, date = state.pts, state.date | ||||
|                 self._handle_update(_tl.Updates( | ||||
|                 _handle_update(self, _tl.Updates( | ||||
|                     users=d.users, | ||||
|                     chats=d.chats, | ||||
|                     date=state.date, | ||||
|  | @ -151,11 +151,11 @@ def _handle_update(self: 'TelegramClient', update): | |||
|         entities = {utils.get_peer_id(x): x for x in | ||||
|                     itertools.chain(update.users, update.chats)} | ||||
|         for u in update.updates: | ||||
|             self._process_update(u, update.updates, entities=entities) | ||||
|             _process_update(self, u, update.updates, entities=entities) | ||||
|     elif isinstance(update, _tl.UpdateShort): | ||||
|         self._process_update(update.update, None) | ||||
|         _process_update(self, update.update, None) | ||||
|     else: | ||||
|         self._process_update(update, None) | ||||
|         _process_update(self, update, None) | ||||
| 
 | ||||
|     self._state_cache.update(update) | ||||
| 
 | ||||
|  | @ -168,14 +168,14 @@ def _process_update(self: 'TelegramClient', update, others, entities=None): | |||
|     channel_id = self._state_cache.get_channel_id(update) | ||||
|     args = (update, others, channel_id, self._state_cache[channel_id]) | ||||
|     if self._dispatching_updates_queue is None: | ||||
|         task = self.loop.create_task(self._dispatch_update(*args)) | ||||
|         task = self.loop.create_task(_dispatch_update(self, *args)) | ||||
|         self._updates_queue.add(task) | ||||
|         task.add_done_callback(lambda _: self._updates_queue.discard(task)) | ||||
|     else: | ||||
|         self._updates_queue.put_nowait(args) | ||||
|         if not self._dispatching_updates_queue.is_set(): | ||||
|             self._dispatching_updates_queue.set() | ||||
|             self.loop.create_task(self._dispatch_queue_updates()) | ||||
|             self.loop.create_task(_dispatch_queue_updates(self)) | ||||
| 
 | ||||
|     self._state_cache.update(update) | ||||
| 
 | ||||
|  | @ -235,7 +235,7 @@ async def _update_loop(self: 'TelegramClient'): | |||
| 
 | ||||
| async def _dispatch_queue_updates(self: 'TelegramClient'): | ||||
|     while not self._updates_queue.empty(): | ||||
|         await self._dispatch_update(*self._updates_queue.get_nowait()) | ||||
|         await _dispatch_update(self, *self._updates_queue.get_nowait()) | ||||
| 
 | ||||
|     self._dispatching_updates_queue.clear() | ||||
| 
 | ||||
|  | @ -248,7 +248,7 @@ async def _dispatch_update(self: 'TelegramClient', update, others, channel_id, p | |||
|             # If the update doesn't have pts, fetching won't do anything. | ||||
|             # For example, UpdateUserStatus or UpdateChatUserTyping. | ||||
|             try: | ||||
|                 await self._get_difference(update, channel_id, pts_date) | ||||
|                 await _get_difference(self, update, channel_id, pts_date) | ||||
|             except OSError: | ||||
|                 pass  # We were disconnected, that's okay | ||||
|             except errors.RPCError: | ||||
|  |  | |||
|  | @ -125,7 +125,7 @@ async def send_file( | |||
| 
 | ||||
|     entity = await self.get_input_entity(entity) | ||||
|     if comment_to is not None: | ||||
|         entity, reply_to = await self._get_comment_data(entity, comment_to) | ||||
|         entity, reply_to = await _get_comment_data(self, entity, comment_to) | ||||
|     else: | ||||
|         reply_to = utils.get_message_id(reply_to) | ||||
| 
 | ||||
|  | @ -139,8 +139,8 @@ async def send_file( | |||
| 
 | ||||
|         result = [] | ||||
|         while file: | ||||
|             result += await self._send_album( | ||||
|                 entity, file[:10], caption=captions[:10], | ||||
|             result += await _send_album( | ||||
|                 self, entity, file[:10], caption=captions[:10], | ||||
|                 progress_callback=progress_callback, reply_to=reply_to, | ||||
|                 parse_mode=parse_mode, silent=silent, schedule=schedule, | ||||
|                 supports_streaming=supports_streaming, clear_draft=clear_draft, | ||||
|  | @ -167,10 +167,10 @@ async def send_file( | |||
|         msg_entities = formatting_entities | ||||
|     else: | ||||
|         caption, msg_entities =\ | ||||
|             await self._parse_message_text(caption, parse_mode) | ||||
|             await _parse_message_text(self, caption, parse_mode) | ||||
| 
 | ||||
|     file_handle, media, image = await self._file_to_media( | ||||
|         file, force_document=force_document, | ||||
|     file_handle, media, image = await _file_to_media( | ||||
|         self, file, force_document=force_document, | ||||
|         file_size=file_size, | ||||
|         progress_callback=progress_callback, | ||||
|         attributes=attributes,  allow_cache=allow_cache, thumb=thumb, | ||||
|  | @ -223,8 +223,8 @@ async def _send_album(self: 'TelegramClient', entity, files, caption='', | |||
|         # :tl:`InputMediaUploadedPhoto`. However using that will | ||||
|         # make it `raise MediaInvalidError`, so we need to upload | ||||
|         # it as media and then convert that to :tl:`InputMediaPhoto`. | ||||
|         fh, fm, _ = await self._file_to_media( | ||||
|             file, supports_streaming=supports_streaming, | ||||
|         fh, fm, _ = await _file_to_media( | ||||
|             self, file, supports_streaming=supports_streaming, | ||||
|             force_document=force_document, ttl=ttl) | ||||
|         if isinstance(fm, (_tl.InputMediaUploadedPhoto, _tl.InputMediaPhotoExternal)): | ||||
|             r = await self(_tl.fn.messages.UploadMedia( | ||||
|  |  | |||
|  | @ -230,7 +230,7 @@ async def get_entity( | |||
|     result = [] | ||||
|     for x in inputs: | ||||
|         if isinstance(x, str): | ||||
|             result.append(await self._get_entity_from_string(x)) | ||||
|             result.append(await _get_entity_from_string(self, x)) | ||||
|         elif not isinstance(x, _tl.InputPeerSelf): | ||||
|             result.append(id_entity[utils.get_peer_id(x)]) | ||||
|         else: | ||||
|  | @ -271,7 +271,7 @@ async def get_input_entity( | |||
|     # Only network left to try | ||||
|     if isinstance(peer, str): | ||||
|         return utils.get_input_peer( | ||||
|             await self._get_entity_from_string(peer)) | ||||
|             await _get_entity_from_string(self, peer)) | ||||
| 
 | ||||
|     # If we're a bot and the user has messaged us privately users.getUsers | ||||
|     # will work with access_hash = 0. Similar for channels.getChannels. | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user