# 多种方式部署你的 chatbot

Botfront 基于一个定制版 Rasa ,支持输出多种方式的 chatbot

# 如果你需要支持多种方式访问 chatbot

目前我们提供两种 channel

# 实现其他的 channels 接入:

通过其他方式接入其实也是非常简单的。你要做的仅仅是写一个子类,然后重写其中的 get_metadata 方法而已。下面是一个实现 rest 例子说明:

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}

language 会被添加到消息的 metadata 中去,剩下的工作 Botfront 自己会完成。如果你没有显式定义 language 属性, Botfront会用你项目设定中的默认值来填充。

::: 添加 channel 的技巧 Rasa 扩展 里面详细介绍了如何添加一个 channel 到你当前的项目中去。 :::

# 如果你的 chatbot 只需要一种访问方式

那么仔细查阅 Rasa 文本和语音 channel 介绍 是一个好主意,该文档详细介绍了 Rasa 支持的各种 channel。

::: 说明 针对 网站需求Facebook Messenger 接入场景,最好还是使用 Botfront 内置的 channel,有一些针对性的定制和优化。 :::

# 如何添加一个 channel:

  1. 打开 设置 -> Credentials 设置
  2. 在这里添加针对新添 channel 的配置信息,具体的 channel 配置参数见Rasa 文本和语音 channel 介绍