add proxy support
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
stats.db
|
||||||
|
|
||||||
# Byte-compiled / optimized / DLL files
|
# Byte-compiled / optimized / DLL files
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[codz]
|
*.py[codz]
|
||||||
|
|||||||
@@ -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,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
|
||||||
|
|||||||
Reference in New Issue
Block a user