Skip to content

Commit 55ef4ab

Browse files
committed
Allow user-defined session properties. Related to #86
This commit adds five 5 extra parameters to the Client class: app_version, device_model, system_version, system_lang_code, lang_code
1 parent f4c0793 commit 55ef4ab

File tree

2 files changed

+77
-5
lines changed

2 files changed

+77
-5
lines changed

pyrogram/client/client.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ def __init__(self,
129129
session_name: str,
130130
api_id: int or str = None,
131131
api_hash: str = None,
132+
app_version: str = None,
133+
device_model: str = None,
134+
system_version: str = None,
135+
system_lang_code: str = None,
136+
lang_code: str = None,
132137
proxy: dict = None,
133138
test_mode: bool = False,
134139
phone_number: str = None,
@@ -145,6 +150,11 @@ def __init__(self,
145150
self.session_name = session_name
146151
self.api_id = int(api_id) if api_id else None
147152
self.api_hash = api_hash
153+
self.app_version = app_version
154+
self.device_model = device_model
155+
self.system_version = system_version
156+
self.system_lang_code = system_lang_code
157+
self.lang_code = lang_code
148158
# TODO: Make code consistent, use underscore for private/protected fields
149159
self._proxy = proxy
150160
self.test_mode = test_mode
@@ -854,6 +864,68 @@ def load_config(self):
854864
"More info: https://docs.pyrogram.ml/start/ProjectSetup#configuration"
855865
)
856866

867+
# TODO: Woah! Some redundant code down here
868+
869+
if self.app_version:
870+
pass
871+
else:
872+
self.app_version = Client.APP_VERSION
873+
874+
if parser.has_section("pyrogram"):
875+
self.app_version = parser.get(
876+
"pyrogram",
877+
"app_version",
878+
fallback=Client.APP_VERSION
879+
)
880+
881+
if self.device_model:
882+
pass
883+
else:
884+
self.device_model = Client.DEVICE_MODEL
885+
886+
if parser.has_section("pyrogram"):
887+
self.device_model = parser.get(
888+
"pyrogram",
889+
"device_model",
890+
fallback=Client.DEVICE_MODEL
891+
)
892+
893+
if self.system_version:
894+
pass
895+
else:
896+
self.system_version = Client.SYSTEM_VERSION
897+
898+
if parser.has_section("pyrogram"):
899+
self.system_version = parser.get(
900+
"pyrogram",
901+
"system_version",
902+
fallback=Client.SYSTEM_VERSION
903+
)
904+
905+
if self.system_lang_code:
906+
pass
907+
else:
908+
self.system_lang_code = Client.SYSTEM_LANG_CODE
909+
910+
if parser.has_section("pyrogram"):
911+
self.system_lang_code = parser.get(
912+
"pyrogram",
913+
"system_lang_code",
914+
fallback=Client.SYSTEM_LANG_CODE
915+
)
916+
917+
if self.lang_code:
918+
pass
919+
else:
920+
self.lang_code = Client.LANG_CODE
921+
922+
if parser.has_section("pyrogram"):
923+
self.lang_code = parser.get(
924+
"pyrogram",
925+
"lang_code",
926+
fallback=Client.LANG_CODE
927+
)
928+
857929
if self._proxy:
858930
self._proxy["enabled"] = True
859931
else:

pyrogram/session/session.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,11 @@ def start(self):
142142
layer,
143143
functions.InitConnection(
144144
api_id=self.client.api_id,
145-
device_model=self.client.DEVICE_MODEL,
146-
system_version=self.client.SYSTEM_VERSION,
147-
app_version=self.client.APP_VERSION,
148-
system_lang_code=self.client.SYSTEM_LANG_CODE,
149-
lang_code=self.client.LANG_CODE,
145+
app_version=self.client.app_version,
146+
device_model=self.client.device_model,
147+
system_version=self.client.system_version,
148+
system_lang_code=self.client.system_lang_code,
149+
lang_code=self.client.lang_code,
150150
lang_pack="",
151151
query=functions.help.GetConfig(),
152152
)

0 commit comments

Comments
 (0)