From f81b0e35843100818aa3a7f2287f6d5be2568d39 Mon Sep 17 00:00:00 2001 From: hexdev Date: Fri, 17 Jul 2026 12:33:14 +0700 Subject: [PATCH] feat: openai socks proxy support --- app/ai.py | 3 +++ main.py | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/ai.py b/app/ai.py index 1747b0c..00352d5 100644 --- a/app/ai.py +++ b/app/ai.py @@ -16,12 +16,14 @@ class OfferReplyGenerator: model: str, system_prompt_file: Path, timeout_seconds: int, + proxy_url: str | None = None, ) -> None: self._api_base_url = api_base_url.rstrip("/") self._api_key = api_key self._model = model self._system_prompt = system_prompt_file.read_text(encoding="utf-8").strip() self._timeout_seconds = timeout_seconds + self._proxies = {"http": proxy_url, "https": proxy_url} if proxy_url else None async def generate_reply(self, offer: Offer) -> str: return await asyncio.to_thread(self._generate_reply_sync, offer) @@ -41,6 +43,7 @@ class OfferReplyGenerator: ], }, timeout=self._timeout_seconds, + proxies=self._proxies, ) response.raise_for_status() payload = response.json() diff --git a/main.py b/main.py index 7fcb071..a628ffb 100644 --- a/main.py +++ b/main.py @@ -136,6 +136,7 @@ async def main() -> None: model=settings.openai_model, system_prompt_file=settings.openai_system_prompt_file, timeout_seconds=settings.requests_timeout_seconds, + proxy_url=settings.telegram_proxy_url, ) dispatcher = build_dispatcher(reply_generator, published_offers_store) @@ -177,4 +178,4 @@ async def main() -> None: if __name__ == "__main__": - asyncio.run(main()) \ No newline at end of file + asyncio.run(main())