mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-22 01:16:35 +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