diff --git a/telethon/utils.py b/telethon/utils.py index d8bfb89f..2401b476 100644 --- a/telethon/utils.py +++ b/telethon/utils.py @@ -42,6 +42,7 @@ def get_display_name(entity): return '(unknown)' + # For some reason, .webp (stickers' format) is not registered add_type('image/webp', '.webp') @@ -364,6 +365,14 @@ def find_user_or_chat(peer, users, chats): pass +def find_message(update): + if update.message: + if update.message.message: + return update.message.message + return update.message + return None + + def get_appropriated_part_size(file_size): """Gets the appropriated part size when uploading or downloading files, given an initial file size""" diff --git a/telethon_generator/error_generator.py b/telethon_generator/error_generator.py index 81bcda5c..ddf9bf36 100644 --- a/telethon_generator/error_generator.py +++ b/telethon_generator/error_generator.py @@ -59,20 +59,16 @@ def get_class_name(error_code): def write_error(f, code, name, desc, capture_name): f.write( - f'\n' - f'\n' - f'class {name}({get_class_name(code)}):\n' - f' def __init__(self, **kwargs):\n' - f' ' + '\n\nclass {}({}):\n def __init__(self, **kwargs):\n ' + ''.format(name, get_class_name(code)) ) if capture_name: f.write( - f"self.{capture_name} = int(kwargs.get('capture', 0))\n" - f" " + "self.{} = int(kwargs.get('capture', 0))\n ".format(capture_name) ) - f.write(f'super(Exception, self).__init__(self, {repr(desc)}') + f.write('super(Exception, self).__init__(self, {}'.format(repr(desc))) if capture_name: - f.write(f'.format(self.{capture_name})') + f.write('.format(self.{})'.format(capture_name)) f.write(')\n') @@ -132,15 +128,12 @@ def generate_code(output, json_file, errors_desc): # Everything ready, generate the code with open(output, 'w', encoding='utf-8') as f: f.write( - f'from .rpc_base_errors import RPCError, BadMessageError, ' - f'{", ".join(known_base_classes.values())}\n' + 'from .rpc_base_errors import RPCError, BadMessageError, {}\n'.format( + ", ".join(known_base_classes.values())) ) for code, cls in needed_base_classes: f.write( - f'\n' - f'\n' - f'class {cls}(RPCError):\n' - f' code = {code}\n' + '\n\nclass {}(RPCError):\n code = {}\n'.format(cls, code) ) patterns = [] # Save this dictionary later in the generated code @@ -166,5 +159,5 @@ def generate_code(output, json_file, errors_desc): f.write('\n\nrpc_errors_all = {\n') for pattern, name in patterns: - f.write(f' {repr(pattern)}: {name},\n') + f.write(' {}: {},\n'.format(repr(pattern), name)) f.write('}\n')