Whalesong Service

class whalesong.Whalesong(profile=None, *, autostart=True, headless=False, extra_options=None, driver=None, loop=None, **kwargs)

Bases: whalesong.managers.BaseManager

Whalesong service.

The main Whalesong manager.

Parameters:
  • profile (Optional[str]) – Path to firefox profile.
  • autostart (bool) – Whether driver must start immediately.
  • headless (bool) – Whether browser must be started with headless flag. In production environments it should be set to True.
  • extra_options (Optional[dict]) – Extra parametres for browser commandline.
  • loop (Optional[AbstractEventLoop]) – Event loop.
  • loadstyles (bool) – Whether CSS styles must be loaded. It is need in order to get QR image. (Only for Firefox)
  • interval (float) – Polling responses interval in seconds. Default 0.5 seconds. (Only for Firefox)
storage

StorageManager

Manager for local storage.

stream

StreamManager

Manager for stream object.

conn

ConnManager

Manager for connection object

contacts

ContactCollectionManager

Manager for contact collection.

chats

ChatCollectionManager

Manager for chat collection.

messages

MessageCollectionManager

Manager for messages collection.

wap

WapManager

Manager for wap object.

sticker_packs

StickerPackCollectionManager

Manager for sticker pack collection.

status

StatusCollectionManager

Manager for status collection.

display_info

DisplayInfoManager

Manager for display information.

live_locations

LiveLocationCollectionManager

Manager for live locations collection.

mutes

MuteCollectionManager

Manager for mutes collection.

status_v3

StatusV3CollectionManager

Manager for statuses version 3 (Stories) collection.

loop

Event loop.

Returns:Event loop.
await start()

Start Whalesong service.

await stop()

Stop Whalesong service.

await wait_until_stop()

Wait until Whalesong service is stopped.

await screenshot()

Take a screenshot of whole page.

Return type:BytesIO
Returns:It returns a stream of a PNG image.
await qr()

Take a screenshot of QR.

Return type:BytesIO
Returns:It returns a stream of a PNG image.
stop_monitor(monitor)

Stop a given monitor.

Parameters:monitor (MonitorResult[~T]) – Monitor object to stop.
Return type:Result[None]
await cancel_iterators()

Cancel all iterators.

await download_file(url)

Download a file by URL

Parameters:url (str) – URL to the file
Return type:BytesIO
Returns:It returns a stream.