# Deploying your bot on several channels

Botfront uses a fork of Rasa customized to support multilingual bots.

# If your bot is multilingual

We currently provide two channels

# Implementing other channels:

Using other channels is actually fairly easy. All you have to do is subclass an existing channel and override the get_metadata method. Here is an illustrative example of a channel subclassing the rest channel:

class MyRestInput(RestInput):
    def get_metadata(self, request: Request) -> Optional[Dict[Text, Any]]:
        language = ... # do something to retrieve the user current language
        return {'language': language}

The language will be added to the message metadata and Botfront will do the rest. If you don't specify a language Botfront will use the default language defined in your project settings.

Using your channel

See the Extending Rasa section to see how to add this channel to your current project.

# If your bot has only one language

Then ALL Rasa channels are supported and will work out of the box.

TIP

For your website and Facebook Messenger, we still recommend using our channels are they support Botfront specific features

# Adding a channel:

  1. Go to Settings -> Credentials
  2. Add the channel specific configuration following the instructions in the Rasa documentation