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
__pycache__/
*.py[codz]
+8 -1
View File
@@ -19,6 +19,8 @@ from aiogram.types import (
PreCheckoutQuery,
)
from aiogram.utils.keyboard import InlineKeyboardBuilder
from aiogram.client.default import DefaultBotProperties
from aiogram.client.session.aiohttp import AiohttpSession
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
@@ -38,6 +40,7 @@ class Settings:
marzban_username: str
marzban_password: str
admin_ids: set[int]
proxy: str
db_path: str = "stats.db"
@classmethod
@@ -54,6 +57,7 @@ class Settings:
marzban_username=os.environ["MARZBAN_USERNAME"],
marzban_password=os.environ["MARZBAN_PASSWORD"],
admin_ids=admin_ids,
proxy=os.getenv("HTTP_PROXY", None),
db_path=os.getenv("DB_PATH", "stats.db"),
)
@@ -149,7 +153,10 @@ def bytes_to_gb(value: int | float) -> str:
class VpnBot:
def __init__(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.marzban = MarzbanClient(
settings.marzban_url,
+1
View File
@@ -1,3 +1,4 @@
aiogram>=3.7.0
aiohttp>=3.9.0
aiosqlite>=0.20.0
aiohttp-socks >= 0.11.0