【问题标题】:How to limit the number of chats received in chatbot Kommunicate如何限制聊天机器人 Kommunicate 中收到的聊天数量
【发布时间】:2020-08-13 20:43:39
【问题描述】:

我已将 Kommunicate 聊天机器人集成到我的网站中,但是,我的网站上产生了大量流量,因此聊天的用户多于我支持的带宽(代理方面)。 我似乎无法找到一种方法来限制一个代理/人在任何给定时间可以处理的当前活动聊天的数量。我希望找到相同的解决方案。

这可以通过提供的 webhook 集成来完成吗?如果有,怎么做?

【问题讨论】:

    标签: dialogflow-es integration webhooks chatbot kommunicate


    【解决方案1】:

    解决方案确实在于添加 webhook 集成。

    首先,我启动了一个简单的烧瓶服务器,为单个端点提供服务:/webhook。

    app = Flask(__name__)
    @app.route('/webhook', methods=['GET', 'POST'])
    def webhook():
        logger.debug('Webhook Triggered') #-> we know it's being trigerred.
        resp_generated = make_response(jsonify(results()))
        logger.debug(resp_generated)#-> always shows 200 anyway.
        return resp_generated
    
    if __name__ == '__main__':
      app.run(host ='0.0.0.0', port = 5000, debug = True)
    

    然后我使用 ngrok 创建到我的本地服务器的隧道(我计划在后期将它托管在 GKE 上)

    ngrok http 5000
    

    这给了我一个指向我的 Flask 服务器的 HTTPS URL,例如 https:\\534bbe.ngrok.io

    然后我进入 DialogFlow -> Fulfillment -> 在此处输入我的 Webhooks 端点:

    [注意:点击页面底部的保存按钮]

    您必须为要在其上添加服务器逻辑的 Intent 启用 webhook 调用,在我的情况下,我想在限制聊天数量的同时转移到实时代理:

    为了确保当我的服务器宕机时 Kommunicate 的默认行为不会被破坏,我添加了自定义负载(如上图所示):

    {
      "metadata": {
        "KM_ASSIGN_TO": ""
      },
      "platform": "kommunicate",
      "message": "---- Redact that sweet sweet company Information. Yeah!!---"
    }
    

    [注意:在 Intent 中进行更改后,请务必点击右上角的保存。]

    然后我在 Kommunicate -> Settings -> Developer -> Webhooks 中添加了 Webhook URL(与 DialogFlow 中使用的相同) [注意:点击页面底部的保存更改按钮]

    一切都设置好后,您将开始在服务器中接收消息,并可以根据需要添加逻辑。请注意,这是非常乏味的,因为您必须阅读大量文档并添加一堆逻辑才能使其按您的意愿工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-23
      相关资源
      最近更新 更多