diff --git a/README.rst b/README.rst index 3a4bb876..d9aa6c24 100755 --- a/README.rst +++ b/README.rst @@ -234,8 +234,8 @@ Once this is done, pass the proxy settings to the ``TelegramClient`` constructor ... api_id=12345, api_hash='0123456789abcdef0123456789abcdef', ... proxy=(socks.SOCKS5, 'localhost', 4444)) -The ``proxy=`` parameter should be a tuple consisting of -``(type, 'ip address', port)``, as described `here `_. +The ``proxy=`` argument should be a tuple, a list or a dict, consisting of parameters described +`here `_. Disclaimer ========== diff --git a/telethon/network/tcp_client.py b/telethon/network/tcp_client.py index 7fe7df42..d01836f2 100644 --- a/telethon/network/tcp_client.py +++ b/telethon/network/tcp_client.py @@ -25,7 +25,10 @@ class TcpClient: else: import socks self._socket = socks.socksocket(socket.AF_INET, socket.SOCK_STREAM) - self._socket.set_proxy(*self._proxy) + if type(self._proxy) is dict: + self._socket.set_proxy(**self._proxy) + else: # tuple, list, etc. + self._socket.set_proxy(*self._proxy) def connect(self, ip, port): """Connects to the specified IP and port number"""