Contact references

Managers

class whalesong.managers.contact.ContactCollectionManager(driver, manager_path='')

Bases: whalesong.managers.BaseCollectionManager

Contact collection manager. It allows manage contact collection.

Parameters:
__getitem__(name)

Get a submanager. It could be a explicit submanager or contained model manager.

Parameters:name (str) – Field where submanager was stored.
Return type:Union[BaseManager, ~MODEL_MANAGER_TYPE]
__getattr__(name)

Get a submanager. It could be a explicit submanager or contained model manager.

Parameters:name (str) – Field where submanager was stored.
Return type:Union[BaseManager, ~MODEL_MANAGER_TYPE]
add_submanager(name, submanager)

Add a submanager.

Parameters:
  • name (str) – Field where manager will be stored.
  • submanager (BaseManager) – Submanager
find_item_by_id(item_id)

Find model by identifier. If item is not in collection it will try to load it.

Parameters:item_id (str) – Model identifier.
Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_commands()

Get manager available static commands.

Return type:Result[List[str]]
Returns:Manager static commands.
get_first()

Get first item in collection.

Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_item_by_id(item_id)

Get model by identifier.

Parameters:item_id (str) – Model identifier.
Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_item_result_class()
Return type:Result[+MODEL_TYPE]
get_items()

Get all items on collection.

Return type:IteratorResult[+MODEL_TYPE]
Returns:Async iterator
get_iterator_result_class()
Return type:IteratorResult[+MODEL_TYPE]
get_last()

Get last item in collection.

Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_length()

Get collection items count.

Return type:Result[int]
Returns:Items count
get_monitor_result_class()
Return type:MonitorResult[+MODEL_TYPE]
get_submanager(name)

Get a submanager. It could be a explicit submanager or contained model manager.

Parameters:name (str) – Field where submanager was stored.
Return type:Union[BaseManager, ~MODEL_MANAGER_TYPE]
monitor_add()

Monitor add item collection. Iterate each time a item is added to collection.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model object iterator
monitor_change()

Monitor change item collection. Iterate each time a item change in collection.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model object iterator
monitor_field(field)

Monitor item’s field change. Iterate each time a field changed in any item of collection.

Return type:MonitorResult[Dict[str, Any]]
Returns:Model object iterator
monitor_remove()

Monitor remove item collection. Iterate each time a item is removed from collection.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model object iterator
remove_item_by_id(item_id)

Remove item by identifier.

Parameters:item_id (str) – Model identifier.
Return type:Result[None]
remove_submanager(name)

Remove a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:Result[~T]
MODEL_MANAGER_CLASS

alias of ContactManager

resync_contacts()
Return type:Result[None]
get_me()
Return type:Result[Contact]
class whalesong.managers.contact.ContactManager(driver, manager_path='')

Bases: whalesong.managers.BaseModelManager

Contact manager. It allows manage a contact.

profile_pic_thumb

ProfilePictureManager

Contact’s picture thumb manager.

__getitem__(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
__getattr__(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
add_submanager(name, submanager)

Add a submanager.

Parameters:
  • name (str) – Field where manager will be stored.
  • submanager (BaseManager) – Submanager
get_commands()

Get manager available static commands.

Return type:Result[List[str]]
Returns:Manager static commands.
get_field_monitor_result_class(field)
Return type:MonitorResult[Dict[str, Any]]
get_model()

Get model object

Return type:Result[+MODEL_TYPE]
Returns:Model object
get_model_result_class()
Return type:Result[+MODEL_TYPE]
get_monitor_result_class()
Return type:MonitorResult[+MODEL_TYPE]
get_submanager(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
map_model(data)
Return type:+MODEL_TYPE
monitor_field(field)

Monitor any change on a model’s field.

Parameters:field (str) – Field to monitor.
Return type:MonitorResult[Dict[str, Any]]
Returns:Model monitor
monitor_model()

Monitor any change on model.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model monitor
remove_submanager(name)

Remove a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:Result[~T]
MODEL_CLASS

alias of Contact

block()

Block contact.

Return type:Result[None]
unblock()

Unblock contact.

Return type:Result[None]

Models

Model whalesong.managers.contact.Contact(data=None, flat=False, *args, **kwargs)

Bases: whalesong.models.BaseModel

property name: str

Contact name. It will be name on phone contact list.

property pushname: str

Contact defined name. It is set by contact on its whatsapp application.

property type: str

¿?

property userhash: str

¿?

property userid: str

User identifier. It used to be the phone number.

property status: Status

Contact status.

property id: str [READ ONLY]

StringIdField field [READ ONLY]

property formattedName: str

StringIdField field

Aliases:
  • formatted_name
property shortName: str

StringIdField field

Aliases:
  • short_name
property verifiedLevel: str

StringIdField field

Aliases:
  • verified_level
property verifiedName: str

StringIdField field

Aliases:
  • verified_name
property profilePicThumbObj: ProfilePicture

ModelField field (whalesong.managers.profile_pic_thumb.ProfilePicture)

Aliases:
  • profile_pic_thumb_obj
property isUser: bool
Default value:True

BooleanField field

Aliases:
  • is_user
property isBusiness: bool
Default value:False

BooleanField field

Aliases:
  • is_business
property isContactBlocked: bool
Default value:False

BooleanField field

Aliases:
  • is_contact_blocked
property isEnterprise: bool
Default value:False

BooleanField field

Aliases:
  • is_enterprise
property isHighLevelVerified: bool
Default value:False

BooleanField field

Aliases:
  • is_high_level_verified
property isMe: bool
Default value:False

BooleanField field

Aliases:
  • is_me
property isMyContact: bool
Default value:True

BooleanField field

Aliases:
  • is_my_contact
property isPSA: bool
Default value:False

BooleanField field

Aliases:
  • is_psa
property isVerified: bool
Default value:False

BooleanField field

Aliases:
  • is_verified
property isWAContact: bool
Default value:True

BooleanField field

Aliases:
  • is_wa_contact
property plaintextDisabled: bool
Default value:False

BooleanField field

Aliases:
  • plaintext_disabled
property statusMute: bool
Default value:False

BooleanField field

Aliases:
  • status_mute
property sectionHeader: str

StringIdField field

Aliases:
  • section_header
property labels: List of str
Default value:[]

List of contact labels ¿?

to_vcard()

Build vCard from contact.

Return type:<function vCard at 0x7f92fe01ce18>
Returns:vCard object of contact