From b85430ca04860e0824f45bb6b142950bbe82fb66 Mon Sep 17 00:00:00 2001 From: wulan17 Date: Tue, 27 Jun 2023 16:44:49 +0700 Subject: [PATCH] PyroFork: Add custom storage support Signed-off-by: wulan17 --- pyrogram/client.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pyrogram/client.py b/pyrogram/client.py index 2567db48..3009f0f6 100644 --- a/pyrogram/client.py +++ b/pyrogram/client.py @@ -48,7 +48,7 @@ from pyrogram.errors import ( from pyrogram.handlers.handler import Handler from pyrogram.methods import Methods from pyrogram.session import Auth, Session -from pyrogram.storage import FileStorage, MemoryStorage, MongoStorage +from pyrogram.storage import FileStorage, MemoryStorage, MongoStorage, Storage from pyrogram.types import User, TermsOfService from pyrogram.utils import ainput from .dispatcher import Dispatcher @@ -123,6 +123,9 @@ class Client(Methods): mongodb (``dict``, *optional*): Mongodb config as dict, e.g.: *dict(connection=async_pymongo.AsyncClient("mongodb://..."), remove_peers=False)*. Only applicable for new sessions. + + storage (:obj:`~pyrogram.storage.Storage`, *optional*): + Custom session storage. phone_number (``str``, *optional*): Pass the phone number as string (with the Country Code prefix included) to avoid entering it manually. @@ -208,6 +211,7 @@ class Client(Methods): session_string: str = None, in_memory: bool = None, mongodb: dict = None, + storage: Storage = None, phone_number: str = None, phone_code: str = None, password: str = None, @@ -250,7 +254,9 @@ class Client(Methods): self.executor = ThreadPoolExecutor(self.workers, thread_name_prefix="Handler") - if self.session_string: + if storage: + self.storage = storage + elif self.session_string: self.storage = MemoryStorage(self.name, self.session_string) elif self.in_memory: self.storage = MemoryStorage(self.name)