feat(network): add proxy support and docker host-gateway configuration
This commit is contained in:
@@ -6,6 +6,7 @@ from db.models import Post, TargetChannel
|
||||
from db.repository import Repository
|
||||
from bot.keyboards import get_review_keyboard
|
||||
from core.metrics import ADMIN_ACTIONS_TOTAL
|
||||
from core.proxy import get_telegram_proxy
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -31,7 +32,7 @@ class AdminBotService:
|
||||
self.admin_user_ids = admin_user_ids or [int(x.strip()) for x in raw_admins.split(",") if x.strip()]
|
||||
self.session_name = session_name or os.path.join(SESSION_DIR, "admin_bot.session")
|
||||
os.makedirs(os.path.dirname(self.session_name), exist_ok=True)
|
||||
self.client = TelegramClient(self.session_name, self.api_id, self.api_hash)
|
||||
self.client = TelegramClient(self.session_name, self.api_id, self.api_hash, proxy=get_telegram_proxy())
|
||||
|
||||
def is_admin(self, user_id: int) -> bool:
|
||||
return not self.admin_user_ids or user_id in self.admin_user_ids
|
||||
|
||||
@@ -7,6 +7,7 @@ from db.repository import Repository
|
||||
from core.dedup import compute_content_hash, compute_file_hash
|
||||
from services.ai_processor import AIProcessor
|
||||
from core.metrics import COLLECTED_POSTS_TOTAL
|
||||
from core.proxy import get_telegram_proxy
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -31,7 +32,7 @@ class CollectorService:
|
||||
self.session_name = session_name or os.path.join(SESSION_DIR, "collector.session")
|
||||
os.makedirs(os.path.dirname(self.session_name), exist_ok=True)
|
||||
os.makedirs(MEDIA_DIR, exist_ok=True)
|
||||
self.client = TelegramClient(self.session_name, self.api_id, self.api_hash)
|
||||
self.client = TelegramClient(self.session_name, self.api_id, self.api_hash, proxy=get_telegram_proxy())
|
||||
|
||||
async def start(self):
|
||||
logger.info("Starting Collector Userbot...")
|
||||
|
||||
@@ -6,6 +6,7 @@ from typing import Optional
|
||||
from telethon import TelegramClient
|
||||
from db.repository import Repository
|
||||
from core.metrics import POSTS_PUBLISHED_TOTAL, QUEUE_POSTS_GAUGE
|
||||
from core.proxy import get_telegram_proxy
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -26,7 +27,7 @@ class PublisherService:
|
||||
self.bot_token = bot_token or os.getenv("BOT_TOKEN")
|
||||
self.session_name = session_name or os.path.join(SESSION_DIR, "publisher.session")
|
||||
os.makedirs(os.path.dirname(self.session_name), exist_ok=True)
|
||||
self.client = TelegramClient(self.session_name, self.api_id, self.api_hash)
|
||||
self.client = TelegramClient(self.session_name, self.api_id, self.api_hash, proxy=get_telegram_proxy())
|
||||
self._running = False
|
||||
self._task: Optional[asyncio.Task] = None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user