#!/usr/bin/env python3
import traceback

from telethon_examples.interactive_telegram_client \
    import InteractiveTelegramClient


def load_settings(path='api/settings'):
    """Loads the user settings located under `api/`"""
    result = {}
    with open(path, 'r', encoding='utf-8') as file:
        for line in file:
            value_pair = line.split('=')
            left = value_pair[0].strip()
            right = value_pair[1].strip()
            if right.isnumeric():
                result[left] = int(right)
            else:
                result[left] = right

    return result


if __name__ == '__main__':
    # Load the settings and initialize the client
    settings = load_settings()
    client = InteractiveTelegramClient(
        session_user_id=str(settings.get('session_name', 'anonymous')),
        user_phone=str(settings['user_phone']),
        api_id=settings['api_id'],
        api_hash=str(settings['api_hash']))

    print('Initialization done!')

    try:
        client.run()

    except Exception as e:
        print('Unexpected error ({}): {} at\n{}'.format(
            type(e), e, traceback.format_exc()))

    finally:
        client.disconnect()
        print('Thanks for trying the interactive example! Exiting...')

@@ -699,16 +699,232 @@
 tings()%0A
+    kwargs = %7B%7D%0A    if settings.get('socks_proxy'):%0A        import socks  # $ pip install pysocks%0A        host, port = settings%5B'socks_proxy'%5D.split(':')%0A        kwargs = dict(proxy=(socks.SOCKS5, host, int(port)))%0A%0A
     clie
@@ -1152,16 +1152,34 @@
 _hash'%5D)
+,%0A        **kwargs
 )%0A%0A    p

Support configuring SOCKS proxy in the example