add proxy support

This commit is contained in:
2026-04-21 05:22:42 +03:00
parent 8b859fff6f
commit 6aa9f71ff6
3 changed files with 11 additions and 1 deletions
+2
View File
@@ -1,3 +1,5 @@
stats.db
# Byte-compiled / optimized / DLL files # Byte-compiled / optimized / DLL files
__pycache__/ __pycache__/
*.py[codz] *.py[codz]
+8 -1
View File
@@ -19,6 +19,8 @@ from aiogram.types import (
PreCheckoutQuery, PreCheckoutQuery,
) )
from aiogram.utils.keyboard import InlineKeyboardBuilder from aiogram.utils.keyboard import InlineKeyboardBuilder
from aiogram.client.default import DefaultBotProperties
from aiogram.client.session.aiohttp import AiohttpSession
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -38,6 +40,7 @@ class Settings:
marzban_username: str marzban_username: str
marzban_password: str marzban_password: str
admin_ids: set[int] admin_ids: set[int]
proxy: str
db_path: str = "stats.db" db_path: str = "stats.db"
@classmethod @classmethod
@@ -54,6 +57,7 @@ class Settings:
marzban_username=os.environ["MARZBAN_USERNAME"], marzban_username=os.environ["MARZBAN_USERNAME"],
marzban_password=os.environ["MARZBAN_PASSWORD"], marzban_password=os.environ["MARZBAN_PASSWORD"],
admin_ids=admin_ids, admin_ids=admin_ids,
proxy=os.getenv("HTTP_PROXY", None),
db_path=os.getenv("DB_PATH", "stats.db"), db_path=os.getenv("DB_PATH", "stats.db"),
) )
@@ -149,7 +153,10 @@ def bytes_to_gb(value: int | float) -> str:
class VpnBot: class VpnBot:
def __init__(self, settings: Settings): def __init__(self, settings: Settings):
self.settings = settings self.settings = settings
self.bot = Bot(settings.bot_token, parse_mode=ParseMode.HTML) self.session = AiohttpSession(proxy=settings.proxy)
self.bot = Bot(settings.bot_token,
default=DefaultBotProperties(parse_mode=ParseMode.HTML),
session=self.session)
self.dp = Dispatcher() self.dp = Dispatcher()
self.marzban = MarzbanClient( self.marzban = MarzbanClient(
settings.marzban_url, settings.marzban_url,
+1
View File
@@ -1,3 +1,4 @@
aiogram>=3.7.0 aiogram>=3.7.0
aiohttp>=3.9.0 aiohttp>=3.9.0
aiosqlite>=0.20.0 aiosqlite>=0.20.0
aiohttp-socks >= 0.11.0