Skip to main content

Facebook Messenger Slave Channel for EH Forwarder Bot, based on ``fbchat``.

Project description

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.

Beta version

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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for efb-fb-messenger-slave, version 2.0.0b21
Filename, size File type Python version Upload date Hashes
Filename, size efb_fb_messenger_slave-2.0.0b21-py3-none-any.whl (110.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size efb-fb-messenger-slave-2.0.0b21.tar.gz (49.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page