From 31bf50aaca2311ecba6c58c890bebbb12dff058c Mon Sep 17 00:00:00 2001 From: root Date: Sun, 16 Aug 2026 06:36:49 +0500 Subject: [PATCH] feat(proxy): add proxy support to Telegram client --- modules/stars_bot.py | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/modules/stars_bot.py b/modules/stars_bot.py index 4bc9da8..dd8de92 100644 --- a/modules/stars_bot.py +++ b/modules/stars_bot.py @@ -429,11 +429,44 @@ class TelegramStarsBot: else: self.start_page = self.config.start_page - self.client = Client( - name=self.SESSION_NAME, - api_id=self.config.api_id, - api_hash=self.config.api_hash, - ) + if self.config.proxy_telegram: + proxy = { + "scheme": self.config.proxy_protocol, + "hostname": self.config.proxy_host, + "port": self.config.proxy_port, + } + + if self.config.proxy_username and self.config.proxy_password: + logger.info( + "Инициализация Pyrogram с прокси: %s://%s:%s (с авторизацией)", + self.config.proxy_protocol, + self.config.proxy_host, + self.config.proxy_port, + ) + + proxy["username"] = self.config.proxy_username + proxy["password"] = self.config.proxy_password + else: + logger.info( + "Инициализация Pyrogram с прокси: %s://%s:%s (без авторизации)", + self.config.proxy_protocol, + self.config.proxy_host, + self.config.proxy_port, + ) + + self.client = Client( + name=self.SESSION_NAME, + api_id=self.config.api_id, + api_hash=self.config.api_hash, + proxy=proxy, + ) + + else: + self.client = Client( + name=self.SESSION_NAME, + api_id=self.config.api_id, + api_hash=self.config.api_hash, + ) try: await self.client.start()