From b252468ca293b1a72fc7af4184533b556e84df18 Mon Sep 17 00:00:00 2001
From: "Dmitry D. Chernov" <blackdoomer@yandex.ru>
Date: Thu, 28 Dec 2017 07:50:49 +1000
Subject: [PATCH] TelegramBareClient: Add set_proxy() method This allows to
 change proxy without recreation of the client instance.

---
 telethon/telegram_bare_client.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/telethon/telegram_bare_client.py b/telethon/telegram_bare_client.py
index 27acfe9a..f22d13e6 100644
--- a/telethon/telegram_bare_client.py
+++ b/telethon/telegram_bare_client.py
@@ -299,6 +299,13 @@ class TelegramBareClient:
             self.disconnect()
             return self.connect()
 
+    def set_proxy(self, proxy):
+        """Change the proxy used by the connections.
+        """
+        if self.is_connected():
+            raise RuntimeError("You can't change the proxy while connected.")
+        self._sender.connection.conn.proxy = proxy
+
     # endregion
 
     # region Working with different connections/Data Centers