Presence references¶
Managers¶
-
class
whalesong.managers.presence.
PresenceCollectionManager
(driver, manager_path='')¶ Bases:
whalesong.managers.BaseCollectionManager
Presence collection manager.
Note
Be aware Whatsapp has some limitations about presence announcement.
- You must be available in order to receive presence announcements.
Look at
display information
. - After a while, other peer must see Whalesong user available in order to send presence announcement. But if it is not available Whalesong user is not going to announce its presence. So, presence announcements are made after first message.
Parameters: - driver (
BaseWhalesongDriver
) – Whalesong driver - manager_path (
str
) – Manager prefix path.
-
__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]
-
MODEL_MANAGER_CLASS
¶ alias of
PresenceManager
-
add_submanager
(name, submanager)¶ Add a submanager.
Parameters: - name (
str
) – Field where manager will be stored. - submanager (
BaseManager
) – Submanager
- name (
-
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_item_by_id
(item_id)¶ Get model by identifier.
Parameters: item_id ( str
) – Model identifier.Return type: Result
[+MODEL_TYPE]Returns: Model object.
-
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_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
- You must be available in order to receive presence announcements.
Look at
-
class
whalesong.managers.presence.
PresenceManager
(driver, manager_path='')¶ Bases:
whalesong.managers.BaseModelManager
Presence 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
- name (
-
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_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
-
-
class
whalesong.managers.presence.
ChatStateCollectionManager
(driver, manager_path='')¶ Bases:
whalesong.managers.BaseCollectionManager
Chat state collection manager.
Parameters: - driver (
BaseWhalesongDriver
) – Whalesong driver - manager_path (
str
) – Manager prefix path.
-
__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]
-
MODEL_MANAGER_CLASS
¶ alias of
ChatStateManager
-
add_submanager
(name, submanager)¶ Add a submanager.
Parameters: - name (
str
) – Field where manager will be stored. - submanager (
BaseManager
) – Submanager
- name (
-
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_item_by_id
(item_id)¶ Get model by identifier.
Parameters: item_id ( str
) – Model identifier.Return type: Result
[+MODEL_TYPE]Returns: Model object.
-
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_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
- driver (
-
class
whalesong.managers.presence.
ChatStateManager
(driver, manager_path='')¶ Bases:
whalesong.managers.BaseModelManager
Chat state manager.
Parameters: - driver (
BaseWhalesongDriver
) – Whalesong driver - manager_path (
str
) – Manager prefix path.
-
__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
- name (
-
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_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
- driver (
Models¶
-
Model
whalesong.managers.presence.
Presence
(data=None, flat=False, *args, **kwargs)¶ Bases:
whalesong.models.BaseModel
Presence model.
-
property
chatState
:ChatState
¶ ModelField field (
whalesong.managers.presence.ChatState
)Aliases: - chat_state
-
property
chatStates
: List ofChatState
¶ Array of ModelField field (
whalesong.managers.presence.ChatState
)Aliases: - chat_states
- chatstates
-
property