Skip to content

[BUG] Previous data is reloaded after using persistence.update_user_data #2746

@Noam5

Description

@Noam5

Steps to Reproduce

persistence = PicklePersistence('my_file', store_user_data=True, store_chat_data=True, store_bot_data=True, on_flush=False)
After running persistence.update_user_data(update.message.from_user.id, user_data), the previous user_data is restored, thus having no effect on the persistence and making it unusable

Expected behaviour

self.user_data should be saved after running persistence.update_user_data without restoring the previous data

Actual behaviour

After running persistence.update_user_data , dispatcher is calling __update_persistence.
on line 729, the code runs over the new saved data with the old saved data:
self.persistence.update_user_data(user_id, self.user_data[user_id]),

Operating System

Windows

Version of Python, python-telegram-bot & dependencies

Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32

python-telegram-bot 13.7
Bot API 5.3
certifi 2020.12.05
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)]

Relevant log output

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions