首页 文章

Telgram bot webhook和amazon lambda

提问于
浏览
2

我试图创建我的第一个电报机器人托管代码作为一个亚马逊lambda实例,我想我应该返回webhook的东西'因为它一直说“webhook的错误响应:502坏网关” .

这是我的代码的一部分:

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收到的消息和一切都像魅力一样,除了一件事,确认消息一遍又一遍地发送,webhooks永远不会将消息标记为已读 .

这是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代码响应......

有什么想法吗?

1 回答

  • 0

    根据机器人助手,wh需要2XX代码响应......

    这是真的 . 你最后的陈述应该是

    return {
        statusCode: 200
    }
    

    如果你不知道如何处理它,这就是你看到 HTTP 502 Bad Gateway 的原因 . 我也打了一会儿:)

相关问题