Skip to content
EFB Facebook Messenger Slave, a channel for EH Forwarder Bot.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


EFB Facebook Messenger Slave (EFMS)

PyPI release Translate this project

`README in other languages`_. .. _README in other languages: ./readme_translations .. TRANSLATORS: change the URL on previous line as "." (without quotations).

Channel ID: blueset.fbmessenger

EFMS is a channel that connects to Facebook Messenger for EH Forwarder Bot, based on simulation of Facebook Messenger Web, and fbchat.

Beta version

This is an unstable beta version, and its functionality may change at any time.


  • Python >= 3.6
  • EH Forwarder Bot >= 2.0.0

Getting started

  1. Install required binary dependencies

  2. Install

    pip3 install efb-fb-messenger-slave
  3. Enable the channel in the profile’s config.yaml.

    The path to the current profile may vary depends on your configuration.

    (In EFB 2.0.0a1, the default profile path is ~/.ehforwarderbot/profiles/default )

  4. Sign in

    $ efms-auth

    And follow the instructions.

Known issues

  • Message reactions from others and you on other clients will not be received by EFMS.

Optional configuration file

EFMS allows user to enable or disable experimental features with the configuration file. It is located at <Path to current profile>/blueset.fbmessenger/config.yaml.


# Experimental flags
# This section can be used to enable experimental functionality.
# However, those features may be changed or removed at any time.
# Options in this section is explained afterward.
    option_one: 10
    option_two: false
    option_three: "foobar"

Tips and tricks

  • To react to a message, reply (target) to the message with one of the following commands:
    • r`LOVE for 😍
    • r`SMILE for 😆
    • r`WOW for 😮
    • r`SAD for 😢
    • r`ANGRY for 😠
    • r`YES for 👍
    • r`NO for 👎
  • To send large emoji, send the emoji as text following by S, M, or L as small, medium and large emoji accordingly.

Experimental flags

The following flags are experimental features, may change, break, or disappear at any time. Use at your own risk.

  • proxy_links_by_facebook (bool) [Default: false]

    Deliver links (including links in share entities and thumbnails) using Facebook’s proxy. Disable this option to show the source directly.

  • send_link_with_description (bool) [Default: false]

    When processing link message from the Master Channel, attach the title and description besides the link when the option is enabled.


    Regardless of this option, link messages are sent as text, and Facebook Messenger may or may not attach its own link preview per its system configuration.*

  • show_pending_threads (bool) [Default: false]

    When showing the threads list, include threads pending approval.

  • show_archived_threads (bool) [Default: false]

    When showing the threads list, include archived threads.


EFMS’s chats provides the following vendor specific options:

  • 'chat_type' (str): Type of the thread: 'User', 'Page', or 'Group'.
  • 'profile_picture_url' (str): URL to the thread’s profile picture.

Experimental localization support

EFMS supports localized user interface prompts experimentally, by setting the locale environmental variable (LANGUAGE, LC_ALL, LC_MESSAGES or LANG) to one of our supported languages. Meanwhile, you can help to translate this project into your languages on our Crowdin page.

You can’t perform that action at this time.