miniproto.invoke.build_sender_from_session
miniproto.invoke.build_sender_from_session
Section titled “miniproto.invoke.build_sender_from_session”build_sender_from_session(config: ClientConfig, storage: SessionStorage, factory: SenderFactory | None = None, *, fresh_session_id: bool = False, server_salt_override: int | None = None, on_salt_change: Callable[[int], None] | None = None, dc_id_override: int | None = None, auth_key_override: bytes | None = None, allow_media_only: bool = False) -> RawSenderBuild a sender for the session DC, or — with overrides — a media DC.
dc_id_override/auth_key_override support cross-DC media transfers:
the caller supplies a per-DC auth key (created via key exchange with the
target DC) without ever touching the main session’s DC or key.
Parameters:
- config (
ClientConfig) – Client transport, retry, and default-DC configuration. - storage (
SessionStorage) – Session storage containing authorization key and DC options. - factory (
SenderFactory | None) – Optional synchronous or asynchronous sender factory, bypassing built-in construction. - fresh_session_id (
bool) – Compatibility flag; all built-in senders always receive a new random session ID. - server_salt_override (
int | None) – Per-sender salt override, normally for temporary media sessions. - on_salt_change (
Callable[[int], None] | None) – Callback receiving a newer server salt discovered by the sender. - dc_id_override (
int | None) – Target DC for a cross-DC sender. - auth_key_override (
bytes | None) – Key for the target DC; never persists over the main session key. - allow_media_only (
bool) – Permit a media-only DC endpoint for a dedicated media sender.
Returns:
RawSender– The optional factory result or a configured :class:MTProtoSender.
Raises:
AuthKeyNotFound– If the persisted session has no key and no override is supplied.InvalidDatacenter– If no usable option is stored for the selected DC.