mirror of
				https://github.com/LonamiWebs/Telethon.git
				synced 2025-10-31 07:57:38 +03:00 
			
		
		
		
	Fixed logging out, added a proper function to list sessions
By fixing logging out, other request probably got fixed as well, since now we can also read MessagesAcknowledge requests
This commit is contained in:
		
							parent
							
								
									d8757af5c5
								
							
						
					
					
						commit
						87969745f5
					
				|  | @ -192,6 +192,16 @@ class MtProtoSender: | |||
|         if code == 0xa7eff811:  # bad_msg_notification | ||||
|             return self.handle_bad_msg_notification(msg_id, sequence, reader) | ||||
| 
 | ||||
|         if code == 0x62d6b459:  # msgs_ack, it may handle the request we wanted | ||||
|             ack = reader.tgread_object() | ||||
|             for message_id in ack.msg_ids: | ||||
|                 if message_id in self.need_confirmation: | ||||
|                     self.need_confirmation.remove(message_id) | ||||
| 
 | ||||
|             if request and request.msg_id in ack.msg_ids: | ||||
|                 request.confirm_received = True | ||||
|             return False | ||||
| 
 | ||||
|         # If the code is not parsed manually, then it was parsed by the code generator! | ||||
|         # In this case, we will simply treat the incoming TLObject as an Update, | ||||
|         # if we can first find a matching TLObject | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| import platform | ||||
| from datetime import datetime | ||||
| from hashlib import md5 | ||||
| from os import path | ||||
| from os import path, listdir | ||||
| from mimetypes import guess_extension, guess_type | ||||
| 
 | ||||
| # For sending and receiving requests | ||||
|  | @ -35,7 +35,7 @@ from telethon.tl.all_tlobjects import layer | |||
| class TelegramClient: | ||||
| 
 | ||||
|     # Current TelegramClient version | ||||
|     __version__ = '0.5' | ||||
|     __version__ = '0.6' | ||||
| 
 | ||||
|     # region Initialization | ||||
| 
 | ||||
|  | @ -182,8 +182,7 @@ class TelegramClient: | |||
|     def log_out(self): | ||||
|         """Logs out and deletes the current session. Returns True if everything went OK""" | ||||
|         try: | ||||
|             # This request is a bit special. Nothing is received after | ||||
|             self.sender.send(LogOutRequest()) | ||||
|             self.invoke(LogOutRequest()) | ||||
|             if not self.session.delete(): | ||||
|                 return False | ||||
| 
 | ||||
|  | @ -191,6 +190,13 @@ class TelegramClient: | |||
|         except: | ||||
|             return False | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def list_sessions(): | ||||
|         """Lists all the sessions of the users who have ever connected | ||||
|            using this client and never logged out""" | ||||
|         return [path.splitext(path.basename(f))[0]  # splitext = split ext (not spli text!) | ||||
|                 for f in listdir('.') if f.endswith('.session')] | ||||
| 
 | ||||
|     # endregion | ||||
| 
 | ||||
|     # region Dialogs ("chats") requests | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user