Skip to content
EFB Facebook Messenger Slave, a channel for EH Forwarder Bot.
Python
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
efb_fb_messenger_slave fix: wizard breaks when started in the procedure Feb 18, 2020
readme_translations
tests feat: follow new API in EFB 2.0.0b26 Jan 11, 2020
.gitignore
.pre-commit-config.yaml Update dev version bump triggering logic Sep 3, 2019
AUTHORS doc: add authors Jan 28, 2020
LICENSE.md docs: minor fix Dec 23, 2019
MANIFEST.in Experimental multilingual support. Feb 9, 2018
README.rst
banner.png
bump.py
crowdin.yaml
dodo.py ci: tag commit when bumping versions Jan 31, 2020
pre-commit Attempt to move to pre-commit.com hook Aug 18, 2019
setup.py

README.rst

EFB Facebook Messenger Slave (EFMS)

PyPI release Downloads per month Translate this project

Banner

README in other languages.

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.

Requirements

  • 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 and configure EFMS using the EFB configuration wizard, or enable it manually in the profile’s config.yaml.

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

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

  4. Sign in (only if setting up manually)

    $ efms-auth

    And follow the instructions.

Known issues

  • Messages from threads in MARKETPLACE type (i.e. messages from interested buyers on Facebook Marketplace) cannot be processed.
  • Live location cannot be updated properly.
  • Poll messages, reminders and events are not yet supported.
  • Voice calls are not planned to be supported.

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.

Example

# 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.
flags:
    option_one: 10
    option_two: false
    option_three: "foobar"

Tips and tricks

  • To send large emoji, send the emoji as text following by S, M, or L as small, medium and large emoji accordingly. For example, to send a large smile emoji, send 😆L.

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.

    Note

    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.

Vendor-specifics

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.

License

EFMS is licensed under GNU Affero General Public License 3.0 or later versions:

EFB Facebook Messenger Slave Channel: A slave channel for EH Forwarder Bot.
Copyright (C) 2016 - 2020 Eana Hufwe, and the EFB Facebook Messenger Slave Channel contributors
All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Translations support

EFMS supports translated user interface prompts, 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.

Note

If your are installing from source code, you will not get translations of the user interface without manual compile of message catalogs (.mo) prior to installation.

You can’t perform that action at this time.