我可以创建一个环聊聊天机器人来获取和显示SQL数据库的结果吗?

时间:2018-03-12 18:47:53

标签: google-api bots chatbot hangouts-chat

我想构建一个自定义聊天机器人(使用Google Hangouts Chat)来回答$"销售08-03-2018在$" - > " $ 50万&#34 ;.我有AWS Redshift中的数据。我可以使用psycopg2使用Python连接Redshift。是否有任何API将直接连接到Redshift或MySQL并将这些聚合结果发送回我的机器人,以回答所需的问题?如果没有,有什么其他方法可以做到这一点?此外,谁能告诉我在哪里运行Flask代码?我是新手,如果有人可以向我简要介绍一下编码和运行的位置,那将会非常有用。我有一个启用了环聊聊天API的G Suite帐户。请帮忙。

感谢。

1 个答案:

答案 0 :(得分:0)

您几乎拥有构建此解决方案所需的一切,并且不需要任何特定的API来完成工作(除非您希望构建此解决方案以服务其他用户)。

  • 用Python编写你的机器人(很明显,因为你已经这样做了)
  • 使用psycopg2 to access Redshift,因为您已经说过
  • 您的机器人应用程序聚合psycopg2 + Redshift
  • 的结果
  • 以JSON格式化输出并将其返回到环聊聊天
  • 使用Google App Engine托管您的应用; it supports Flask
  • 从这个简单的同步Flask App Engine sample bot
  • 开始
  • 如果您的机器人无法立即响应,请将其设为异步;看看this equivalent async Flask bot
  • 如果您希望您的数据/结果在聊天中看起来不错,请查看this 3rd Flask sample bot,其中包含interactive cards,其中包含formatted visual output
  • 一旦您的应用在App Engine上运行,请在Hangouts Chat "Configuration" tab下的"连接设置"中注册 YOUR_APP .appspot.com(或自定义域)端点。 - > " Bot URL"
  • 查看所有环聊聊天开发者文档here
  • 您还可以在支持它的任何其他PaaS或IaaS实例上运行Flask。
  • 另外read this了解有关平台本身的更多信息以及创建+主机游戏机的其他方法
  • 来自摩托罗拉解决方案CIO per his Mar 2018 post的类似想法...获取&将数据绑定在一起,然后在聊天室中显示结果