How m008v/fbchat-v2 works
fbchat-v2 is an async-first Python library for operating a real Facebook account through unofficial web and Messenger interfaces. The main workflow is to obtain or reuse cookies, establish a Facebook session and tokens, then invoke account, thread, or messaging operations; real-time listeners deliver events back to an asyncio application. E2EE messaging is an optional Python-to-Go bridge path. The README documents broader feature coverage than the sampled source excerpts, so unsampled capabilities are represented at their existing feature-directory paths; uncertain wiring is omitted.
Main entry points: _http.py HTTP transport · _listening_e2ee.py E2EE listener · _listening.py Realtime listener · client.go Messenger client
Components 21
Account and transport
- Cookie storage
src/fbchat_v2/_core/_storage.py - Credential login
src/fbchat_v2/_core/_facebookLogin.py - Session setup
src/fbchat_v2/_core/_session.py - HTTP transport
src/fbchat_v2/_core/_http.py - Request utilities
src/fbchat_v2/_core/_utils.py
Facebook features
- Facebook account features
src/fbchat_v2/_features/_facebook - Thread administration
src/fbchat_v2/_features/_thread
Messaging
- Send messages
src/fbchat_v2/_messaging/_send.py - Attachment handling
src/fbchat_v2/_messaging/_attachments.py - Message operations
src/fbchat_v2/_messaging - Realtime listener
src/fbchat_v2/_messaging/_listening.py - E2EE listener
src/fbchat_v2/_messaging/_listening_e2ee.py - Bridge actions
src/fbchat_v2/_messaging/_bridge_actions.py
E2EE bridge
- JSON-RPC dispatcher
bridge-e2ee/main.go - Messenger client
bridge-e2ee/bridge/client.go - E2EE device state
bridge-e2ee/bridge/client.go
Other components
- Library user
- Async application
- Facebook web API
- Messenger event service
- Messenger E2EE service
Connections 25
- Library user → Async application: uses
- Async application → Credential login: provides credentials
- Async application → Cookie storage: configures cookies
- Session setup → Cookie storage: loads cookies
- Session setup → HTTP transport: fetches homepage
- HTTP transport → Facebook web API: HTTP requests
- Async application → Session setup: initializes session
- Async application → Facebook account features: invokes features
- Async application → Thread administration: manages threads
- Async application → Send messages: sends messages
- Async application → Message operations: uses message operations
- Facebook account features → HTTP transport: requests data
- Thread administration → HTTP transport: requests data
- Send messages → HTTP transport: posts messages
- Attachment handling → HTTP transport: uploads files
- Async application → Realtime listener: starts listener
- Realtime listener → Messenger event service: subscribes
- Realtime listener → Async application: dispatches events
- Async application → E2EE listener: starts E2EE listener
- E2EE listener → JSON-RPC dispatcher: JSON-RPC stdin/stdout
- JSON-RPC dispatcher → Messenger client: dispatches methods
- Messenger client → Messenger E2EE service: connects and exchanges E2EE
- Messenger client → E2EE device state: reads and writes
- Bridge actions → E2EE listener: issues bridge actions
- E2EE listener → Async application: delivers events