Facebook Messenger engine for the Axion conversation framework.
Sends messages to Messenger via the Graph API Send API (requests).
Inherits from ObjConversationEngine.ConversationInterface.
Config section: messenger
| Key | Description |
|---|---|
page_access_token |
Facebook page access token |
verify_token |
Webhook setup verification token |
app_secret |
App secret for HMAC signature verification |
Methods:
_init_client() — loads page access token from configtransmit_message(message, recipient_id="") — sends plain text; truncates at 2 000 charsdisplay_context(opts) — sends context summary as plain textdisplay_options(opts) — sends Quick Replies (max 13, max 20 chars each) for commands; returns (first_key, first_prompt)Handles the Facebook webhook lifecycle.
Methods:
verify_webhook(mode, token, challenge) — validates Facebook GET verification; returns challenge string or raises ValueErrorverify_signature(payload_bytes, signature_header) — HMAC-SHA256 check of X-Hub-Signature-256 headerhandle_message(body) — iterates entry.messaging, routes messages to ObjConversation.read_conversation()run() — logs a deployment reminder; Messenger is always webhook-drivenconfig.yaml:messenger:
page_access_token: ""
verify_token: ""
app_secret: ""
broker.verify_webhook(mode, token, challenge)broker.verify_signature(body_bytes, sig_header) then broker.handle_message(parsed_json)