Skip to content

Messenger Providers

MessengerProvider

Bases: ABC

Facebook Messenger delivery provider.

name property

name

Provider name.

send abstractmethod async

send(event, to)

Send a Facebook Messenger message.

Parameters:

Name Type Description Default
event RoomEvent

The room event containing the message content.

required
to str

Recipient Messenger user ID.

required

Returns:

Type Description
ProviderResult

Result with provider-specific delivery metadata.

verify_signature

verify_signature(payload, signature)

Verify that a webhook payload was signed by Facebook.

Parameters:

Name Type Description Default
payload bytes

Raw request body bytes.

required
signature str

Value of the X-Hub-Signature-256 header.

required

Returns:

Type Description
bool

True if the signature is valid, False otherwise.

Raises:

Type Description
NotImplementedError

If the provider does not support signature verification.

close async

close()

Release resources. Override in subclasses that hold connections.

MockMessengerProvider

MockMessengerProvider()

Bases: MessengerProvider

Records sent messages for verification in tests.