繁体   English   中英

Telegram bot webhook 和 amazon lambda

[英]Telegram bot webhook and amazon lambda

我试图创建我的第一个电报机器人,将代码托管为 amazon 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 接收,一切都像魅力一样,除了一件事,确认消息无休止地一遍又一遍地发送,网络钩子从不将消息标记为已读。

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

对此有什么想法吗?

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

这是真的。 你的最后一句话应该是

return {
    statusCode: 200
}

如果您没有返回成功的响应代码,Telegram 将不知道如何处理它,这就是您看到HTTP 502 Bad Gateway 我也打了一段时间:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM