我试图创建我的第一个电报机器人,将代码托管为亚马逊 lambda 实例,我想我应该向 webhook 返回一些东西,因为它一直说“来自 webhook 的错误响应:502 Bad Gateway”。
这是我的代码的一部分:
def msgSend(text, chat_id):
url = URL + "sendMessage?text={}&chat_id={}".format(text, chat_id)
response = requests.get(url)
content = response.content.decode("utf8")
return content
def handle(msg):
sender = msg['from']['username']
id_gruppo = msg['chat']['id']
if sender == NAME:
testo = msg['text']
usernames = [x.replace('@','') for x in rx.findall(text)]
map(foo, usernames)
msgSend(confirm_mess, id_group)
return
def main(event, context):
response = ast.literal_eval(event['body'])
handle(response['message'])
return {
'something': 'something'
}
实际上这个过程工作得很好,消息被我的 lambda 接收,一切都像一个魅力,除了一件事,确认消息被无休止地发送,webhook 永远不会将消息标记为已读。
这是 getWebHookInfo 的响应:{"ok":true,"result":{"url":"https://t2rt9guj3h.execute-api.us-west-2.amazonaws.com/prod/instabot"," has_custom_certificate":false,"pending_update_count":19,"last_error_date":1489331750,"last_error_message":"来自 webhook 的错误响应:502 Bad Gateway","max_connections":40}}
根据机器人助手的说法,wh 需要 2XX 代码响应......
有什么想法吗?