fix proxy
All checks were successful
Build and Run VSTU TG Poster / build_and_run (push) Successful in 16s
All checks were successful
Build and Run VSTU TG Poster / build_and_run (push) Successful in 16s
This commit is contained in:
25
main.py
25
main.py
@@ -10,6 +10,7 @@ from aiogram.client.default import DefaultBotProperties
|
|||||||
from aiogram.enums import ParseMode
|
from aiogram.enums import ParseMode
|
||||||
from aiohttp_socks import ProxyConnector
|
from aiohttp_socks import ProxyConnector
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
from aiogram.client.session.aiohttp import AiohttpSession
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
@@ -27,16 +28,28 @@ logger = logging.getLogger("TGPublisher")
|
|||||||
bot = None
|
bot = None
|
||||||
|
|
||||||
async def init_bot():
|
async def init_bot():
|
||||||
"""Инициализация бота с поддержкой прокси"""
|
"""Инициализация бота с расширенными таймаутами и SOCKS5h"""
|
||||||
global bot
|
global bot
|
||||||
connector = ProxyConnector.from_url(PROXY_URL)
|
|
||||||
# Используем сессию с прокси коннектором
|
# 1. Настройка таймаутов (увеличиваем до 90 секунд)
|
||||||
|
# Это даст прокси-серверу больше времени на 'раскачку'
|
||||||
|
session = AiohttpSession(
|
||||||
|
proxy=PROXY_URL,
|
||||||
|
timeout=90.0 # Секунды
|
||||||
|
)
|
||||||
|
|
||||||
bot = Bot(
|
bot = Bot(
|
||||||
token=TG_TOKEN,
|
token=TG_TOKEN,
|
||||||
connector=connector,
|
session=session, # Передаем настроенную сессию
|
||||||
default=DefaultBotProperties(parse_mode=ParseMode.HTML) # Используем HTML для надежности
|
default=DefaultBotProperties(parse_mode=ParseMode.HTML)
|
||||||
)
|
)
|
||||||
logger.info(f"[*] Бот инициализирован через прокси {PROXY_URL}")
|
|
||||||
|
# Проверка связи при старте
|
||||||
|
try:
|
||||||
|
me = await bot.get_me()
|
||||||
|
logger.info(f"[+] Бот авторизован: @{me.username} через прокси {PROXY_URL}")
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"[!!!] Бот НЕ СМОГ авторизоваться: {e}")
|
||||||
|
|
||||||
async def send_to_tg(text: str) -> bool:
|
async def send_to_tg(text: str) -> bool:
|
||||||
"""Отправляет сообщение в канал. Возвращает True при успехе."""
|
"""Отправляет сообщение в канал. Возвращает True при успехе."""
|
||||||
|
|||||||
Reference in New Issue
Block a user