add proxy support
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user