Serializing means converting a Pyrogram object, which exists as Python class instance, to a text string that can be easily shared and stored anywhere. Pyrogram provides two formats for serializing its objects: one good looking for humans and another more compact for machines that is able to recover the original structures.
For Humans - str(obj)#
If you want a nicely formatted, human readable JSON representation of any object in the API you can use
... async with app: r = await app.get_chat("me") print(str(r))
print() you don’t actually need to use
str() on the object because it is called automatically, we
have done that above just to show you how to explicitly convert a Pyrogram object to JSON.
For Machines - repr(obj)#
If you want to share or store objects for future references in a more compact way, you can use
still pretty much readable, this format is not intended for humans. The advantage of this format is that once you
serialize your object, you can use
eval() to get back the original structure; just make sure to
as the process requires the package to be in scope.
import pyrogram ... async with app: r = await app.get_chat("me") print(repr(r)) print(eval(repr(r)) == r) # True
Type definitions are subject to changes between versions. You should make sure to store and load objects using the same Pyrogram version.