diff --git a/telethon/tl/tlobject.py b/telethon/tl/tlobject.py index 67a86300..1bd57878 100644 --- a/telethon/tl/tlobject.py +++ b/telethon/tl/tlobject.py @@ -93,8 +93,11 @@ class TLObject: @staticmethod def serialize_bytes(data): """Write bytes by using Telegram guidelines""" - if isinstance(data, str): - data = data.encode('utf-8') + if not isinstance(data, bytes): + if isinstance(data, str): + data = data.encode('utf-8') + else: + raise ValueError('bytes or str expected, not', type(data)) r = [] if len(data) < 254: diff --git a/telethon/update_state.py b/telethon/update_state.py index 8dd2ffad..9410125e 100644 --- a/telethon/update_state.py +++ b/telethon/update_state.py @@ -119,10 +119,10 @@ class UpdateState: handler(update) except StopIteration: break - except Exception as e: + except: # We don't want to crash a worker thread due to any reason - self._logger.debug( - '[ERROR] Unhandled exception on worker {}'.format(wid), e + self._logger.exception( + '[ERROR] Unhandled exception on worker {}'.format(wid) ) def process(self, update): diff --git a/telethon_generator/__init__.py b/telethon_generator/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/telethon_generator/__init__.py @@ -0,0 +1 @@ + diff --git a/telethon_generator/error_descriptions b/telethon_generator/error_descriptions index f0a14e68..500504d7 100644 --- a/telethon_generator/error_descriptions +++ b/telethon_generator/error_descriptions @@ -45,7 +45,7 @@ PHONE_NUMBER_OCCUPIED=The phone number is already in use PHONE_NUMBER_UNOCCUPIED=The phone number is not yet being used PHOTO_INVALID_DIMENSIONS=The photo dimensions are invalid TYPE_CONSTRUCTOR_INVALID=The type constructor is invalid -USERNAME_INVALID=Unacceptable username. Must match r"[a-zA-Z][\w\d]{4,31}" +USERNAME_INVALID=Unacceptable username. Must match r"[a-zA-Z][\w\d]{3,30}[a-zA-Z\d]" USERNAME_NOT_MODIFIED=The username is not different from the current username USERNAME_NOT_OCCUPIED=The username is not in use by anyone else yet USERNAME_OCCUPIED=The username is already taken