Skip to content

angee.messaging.session ​

Worker-only live channel ingestion.

This module imports :mod:angee.integrate.session, whose worker loop imports qrcode. The console must never load either worker module; console-safe backend declarations stay in :mod:angee.messaging.backends, mirroring the integrate.live / integrate.session split.

INGEST_CHUNK ​

Messages per drain slice so cooperative-stop and lock checks stay responsive.

API_TIMEOUT_SECONDS ​

Maximum wait for one bounded asyncio vendor API operation.

DOWNLOAD_TIMEOUT_SECONDS ​

Maximum task-thread wait for one vendor-loop media download.

INITIAL_HISTORY_TIMEOUT_SECONDS ​

Wall-clock bound for a live channel's first bounded history seed.

INITIAL_HISTORY_LIMIT ​

Global maximum number of messages in a live channel's first history seed.

INITIAL_CONVERSATION_LIMIT ​

Maximum recent conversations considered by a first history seed.

LiveChannelSession ​

python
class LiveChannelSession(LiveSession)

Live worker session that owns queued message media resolution and landing.

AsyncioLiveSession ​

python
class AsyncioLiveSession(LiveChannelSession, ABC)

Live channel session whose vendor asyncio loop owns its connection thread.

This deliberately refines :class:LiveChannelSession, not integrate's LiveSession: the asyncio frame currently has only messaging-channel consumers; a non-messaging asyncio bridge would lift it to integrate.

request_password_async ​

python
async def request_password_async(
        message: str = "",
        *,
        material_key: str = "password",
        optional: bool = False) -> str | PasswordSkipped | None

Wait for transient operator input without blocking the vendor loop.

Released under the AGPL-3.0 License.