Getting started

A few simple steps to get started with EFB.

Install EH Forwarder Bot

EH Forwarder Bot can be installed in the following ways:


The following instructions may not work properly until a stable release is uploaded. As you are in the beta version documentation, I assume you know what to do.

Install from PyPI

pip will by default install the latest stable version from PyPI, but development versions are available at PyPI as well.

pip3 install ehforwarderbot

Install from GitHub

This will install the latest commit from GitHub. It might not be stable, so proceed with caution.

pip3 install git+

Alternative installation methods

You can find a list of alternative installation methods contributed by the community in the project wiki.

For scripts, containers (e.g. Docker), etc. that may include one or more external modules, please visit the modules repository.


These alternative installation methods are maintained by the community, please consult their respective author or maintainer for help related to those methods.

A stable internet connection

Since the majority of our channels are using polling for message retrieval, a stable internet connection is necessary for channels to run smoothly. An unstable connection may lead to slow response, or loss of messages.

Create local directories

EFB uses a *nix user configuration style, which is described in details in Directories. In short, if you are using the default configuration, you need to create ~/.ehforwarderbot, and give read and write permission to the user running EFB.

Choose, install and enable modules

Currently, all modules that was submitted to us are recorded in the modules repository. You can choose the channels that fits your need the best.

Instructions about installing each channel is available at their respective documentations.

When you have successfully installed a channel, you can enable it by listing its Channel ID in the configuration file. The default path is ~/.ehforwarderbot/profiles/default/config.yaml. Please refer to Directories if you have configured otherwise.

Please note that although you can have more than one slaves channels running at the same time, you can only have exactly one master channels running in one profile. Meanwhile, middlewares are completely optional.


To enable the following modules:

  • Master channel
    • Demo Master (foo.demo_master)

  • Slave channels
    • Demo Slave (foo.demo_slave)

    • Dummy Slave (bar.dummy)

  • Middlewares
    • Null Middleware (foo.null)

In the config.yaml it should have the following lines:

master_channel: foo.demo_master
- foo.demo_slave
- bar.dummy
- foo.null

Alternatively, you can also use the Configuration wizard which can also help you set up modules installed (if they also come with a wizard).

Launch EFB


This will launch EFB directly in the current environment. The default Profiles is named default, to launch EFB in a different profile, append --profile <profile-name> to the command.

For more command line options, use --help option.

Use EFB in another language

EFB supports translated user interface and prompts. You can set your system language or locale environmental variables (LANGUAGE, LC_ALL, LC_MESSAGES or LANG) to one of our supported languages to switch language.

You can help to translate this project into your languages on our Crowdin page.


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.

Launch EFB as a daemon process

Since version 2, EH Forwarder Bot has removed the daemon helper as it is unstable to use. We recommend you to use mature solutions for daemon management, such as systemd, upstart, or pm2.