Storage#

class pyrogram.storage.Storage#

Abstract class for storage engines.

Parameters:

name (str) – The name of the session.

abstract async open()#

Opens the storage engine.

abstract async save()#

Saves the current state of the storage engine.

abstract async close()#

Closes the storage engine.

abstract async delete()#

Deletes the storage.

abstract async update_peers(peers: list[tuple[int, int, str, list[str], str]])#

Update the peers table with the provided information.

Parameters:

peers (list[tuple[int, int, str, list[str], str]]) – A list of tuples containing the information of the peers to be updated. Each tuple must contain the following information: - int: The peer id. - int: The peer access hash. - str: The peer type (user, chat or channel). - List of str: The peer username (if any). - str: The peer phone number (if any).

abstract async update_state(update_state: tuple[int, int, int, int, int] = <class 'object'>)#

Get or set the update state of the current session.

Parameters:

update_state (tuple[int, int, int, int, int]) – A tuple containing the update state to set. Tuple must contain the following information: - int: The id of the entity. - int: The pts. - int: The qts. - int: The date. - int: The seq.

abstract async get_peer_by_id(peer_id: int)#

Retrieve a peer by its ID.

Parameters:

peer_id (int) – The ID of the peer to retrieve.

abstract async get_peer_by_username(username: str)#

Retrieve a peer by its username.

Parameters:

username (str) – The username of the peer to retrieve.

abstract async get_peer_by_phone_number(phone_number: str)#

Retrieve a peer by its phone number.

Parameters:

phone_number (str) – The phone number of the peer to retrieve.

abstract async dc_id(value: int = <class 'object'>)#

Get or set the DC ID of the current session.

Parameters:

value (int, optional) – The DC ID to set.

abstract async api_id(value: int = <class 'object'>)#

Get or set the API ID of the current session.

Parameters:

value (int, optional) – The API ID to set.

abstract async test_mode(value: bool = <class 'object'>)#

Get or set the test mode of the current session.

Parameters:

value (bool, optional) – The test mode to set.

abstract async auth_key(value: bytes = <class 'object'>)#

Get or set the authorization key of the current session.

Parameters:

value (bytes, optional) – The authorization key to set.

abstract async date(value: int = <class 'object'>)#

Get or set the date of the current session.

Parameters:

value (int, optional) – The date to set.

abstract async user_id(value: int = <class 'object'>)#

Get or set the user ID of the current session.

Parameters:

value (int, optional) – The user ID to set.

abstract async is_bot(value: bool = <class 'object'>)#

Get or set the bot flag of the current session.

Parameters:

value (bool, optional) – The bot flag to set.

async export_session_string()#

Exports the session string for the current session.

Returns:

str – The session string for the current session.