Skip to content

Commit

Permalink
Update to layer 68
Browse files Browse the repository at this point in the history
  • Loading branch information
Lonami committed Jun 30, 2017
1 parent 79ee98a commit 23e2802
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 25 deletions.
8 changes: 8 additions & 0 deletions telethon/errors/rpc_errors_400.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,14 @@ def __init__(self, **kwargs):
)


class ConnectionLangPackInvalid(BadRequestError):
def __init__(self, **kwargs):
super(Exception, self).__init__(
self,
'The specified language pack is not valid.'
)


class ConnectionLayerInvalidError(BadRequestError):
def __init__(self, **kwargs):
super(Exception, self).__init__(
Expand Down
2 changes: 2 additions & 0 deletions telethon/telegram_bare_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ def connect(self, exported_auth=None):
system_version=self.session.system_version,
app_version=self.session.app_version,
lang_code=self.session.lang_code,
system_lang_code=self.session.system_lang_code,
lang_pack='', # "langPacks are for official apps only"
query=query)

result = self.invoke(
Expand Down
13 changes: 9 additions & 4 deletions telethon/telegram_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ class TelegramClient(TelegramBareClient):
def __init__(self, session, api_id, api_hash, proxy=None,
device_model=None, system_version=None,
app_version=None, lang_code=None,
system_lang_code=None,
timeout=timedelta(seconds=5)):
"""Initializes the Telegram client with the specified API ID and Hash.
Expand All @@ -74,10 +75,11 @@ def __init__(self, session, api_id, api_hash, proxy=None,
session - remember to '.log_out()'!
Default values for the optional parameters if left as None are:
device_model = platform.node()
system_version = platform.system()
app_version = TelegramClient.__version__
lang_code = 'en'
device_model = platform.node()
system_version = platform.system()
app_version = TelegramClient.__version__
lang_code = 'en'
system_lang_code = lang_code
"""
if not api_id or not api_hash:
raise PermissionError(
Expand Down Expand Up @@ -118,6 +120,9 @@ def __init__(self, session, api_id, api_hash, proxy=None,
if lang_code:
self.session.lang_code = lang_code

self.session.system_lang_code = \
system_lang_code if system_lang_code else self.session.lang_code

# Cache "exported" senders 'dc_id: MtProtoSender' and
# their corresponding sessions not to recreate them all
# the time since it's a (somewhat expensive) process.
Expand Down
4 changes: 4 additions & 0 deletions telethon/tl/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ def __init__(self, session_user_id):
self.system_version = session.system_version
self.app_version = session.app_version
self.lang_code = session.lang_code
self.system_lang_code = session.system_lang_code
self.lang_pack = session.lang_pack

else: # str / None
self.session_user_id = session_user_id
Expand All @@ -115,6 +117,8 @@ def __init__(self, session_user_id):
self.system_version = platform.system()
self.app_version = '1.0' # note: '0' will provoke error
self.lang_code = 'en'
self.system_lang_code = self.lang_code
self.lang_pack = ''

# Cross-thread safety
self._lock = Lock()
Expand Down
Loading

0 comments on commit 23e2802

Please sign in to comment.