telegram.ext.PicklePersistence¶
-
class
telegram.ext.PicklePersistence(filename: str, store_user_data: bool = True, store_chat_data: bool = True, store_bot_data: bool = True, single_file: bool = True, on_flush: bool = False)¶ Bases:
telegram.ext.basepersistence.BasePersistenceUsing python’s builtin pickle for making you bot persistent.
Warning
PicklePersistencewill try to replacetelegram.Botinstances byREPLACED_BOTand insert the bot set withtelegram.ext.BasePersistence.set_bot()upon loading of the data. This is to ensure that changes to the bot apply to the saved objects, too. If you change the bots token, this may lead to e.g.Chat not founderrors. For the limitations on replacing bots seetelegram.ext.BasePersistence.replace_bot()andtelegram.ext.BasePersistence.insert_bot().Parameters: - filename (
str) – The filename for storing the pickle files. Whensingle_fileisFalsethis will be used as a prefix. - store_user_data (
bool, optional) – Whether user_data should be saved by this persistence class. Default isTrue. - store_chat_data (
bool, optional) – Whether user_data should be saved by this persistence class. Default isTrue. - store_bot_data (
bool, optional) – Whether bot_data should be saved by this persistence class. Default isTrue. - single_file (
bool, optional) – WhenFalsewill store 3 separate files of filename_user_data, filename_chat_data and filename_conversations. Default isTrue. - on_flush (
bool, optional) – WhenTruewill only save to file whenflush()is called and keep data in memory until that happens. WhenFalsewill store data on any transaction and on call toflush(). Default isFalse.
-
filename¶ The filename for storing the pickle files. When
single_fileisFalsethis will be used as a prefix.Type: str
-
store_user_data¶ Optional. Whether user_data should be saved by this persistence class.
Type: bool
-
store_chat_data¶ Optional. Whether user_data should be saved by this persistence class.
Type: bool
-
store_bot_data¶ Optional. Whether bot_data should be saved by this persistence class.
Type: bool
-
single_file¶ Optional. When
Falsewill store 3 separate files of filename_user_data, filename_chat_data and filename_conversations. Default isTrue.Type: bool
-
on_flush¶ When
Truewill only save to file whenflush()is called and keep data in memory until that happens. WhenFalsewill store data on any transaction and on call toflush(). Default isFalse.Type: bool, optional
-
flush() → None¶ Will save all data in memory to pickle file(s).
-
get_bot_data() → Dict[object, object]¶ Returns the bot_data from the pickle file if it exists or an empty
dict.Returns: The restored bot data. Return type: dict
-
get_chat_data() → DefaultDict[int, Dict[object, object]]¶ Returns the chat_data from the pickle file if it exists or an empty
defaultdict.Returns: The restored chat data. Return type: defaultdict
-
get_conversations(name: str) → Dict[Tuple[int, ...], Optional[object]]¶ Returns the conversations from the pickle file if it exsists or an empty dict.
Parameters: name ( str) – The handlers name.Returns: The restored conversations for the handler. Return type: dict
-
get_user_data() → DefaultDict[int, Dict[object, object]]¶ Returns the user_data from the pickle file if it exists or an empty
defaultdict.Returns: The restored user data. Return type: defaultdict
-
update_bot_data(data: Dict[KT, VT]) → None¶ Will update the bot_data and depending on
on_flushsave the pickle file.Parameters: data ( dict) – Thetelegram.ext.dispatcher.bot_data.
-
update_chat_data(chat_id: int, data: Dict[KT, VT]) → None¶ Will update the chat_data and depending on
on_flushsave the pickle file.Parameters: - chat_id (
int) – The chat the data might have been changed for. - data (
dict) – Thetelegram.ext.dispatcher.chat_data[chat_id].
- chat_id (
-
update_conversation(name: str, key: Tuple[int, ...], new_state: Optional[object]) → None¶ Will update the conversations for the given handler and depending on
on_flushsave the pickle file.Parameters: - name (
str) – The handler’s name. - key (
tuple) – The key the state is changed for. - new_state (
tuple|any) – The new state for the given key.
- name (
- filename (