hangouts-chat:hangouts chat bot无法将消息发布到Bot实现https端点

时间:2018-06-13 19:29:50

标签: chat chatbot hangouts-api hangouts-chat

我开发了一个HTTPS同步端点,它响应POST消息,并在聊天机器人配置环境聊天下将URL配置为“Bot URL”。它被部署到amazon aws中的EC2并为URL添加了route53条目:enter image description here,它将HTTPS POST重定向到我的ec2。

但是,聊天机器人没有将任何消息发布到https端点,也没有记录错误。

https://mychatbot-implementation

聊天机器人实施代码:

from flask import Flask, request, json, render_template, make_response

app = Flask(__name__)

@app.route('/', methods=['POST'])

def on_event():
  event = request.get_json()
  resp = None


  if event['type'] == 'REMOVED_FROM_SPACE':
    logging.info('Bot removed from space...')
  if event['type'] == 'ADDED_TO_SPACE':
    text = 'Thanks for adding me to "%s"!' % event['space']['displayName']
  elif event['type'] == 'MESSAGE':
    text = 'You said: `%s`' % event['message']['text']
  else:
    return
  return json.jsonify({'text': text})


if __name__ == '__main__':
  app.run(port=8080, ssl_context='adhoc', debug=True, host='my host ip address')

有人可以告知接下来的步骤吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,mychatbot-implementation不是有效的Internet TLD,因此Route53将永远无法路由您的请求(事实上,它不会得到它)。你有两个问题需要关注(机器人实现,用户可达性),需要单独处理它们(分而治之),而不是试图一次解决所有问题。

我建议您测试机器人实施,让您的机器人在EC2上运行,并为您的实例获取可达的IP地址(w.x.y.z)(加上端口号),并将您的配置更改为指向 ,即https://w.x.y.z:8080/,看看环聊聊天服务是否可以访问您的机器人。一旦你完成这项工作并调试你的机器人,你就可以担心获得TLD并注册DNS。