【问题标题】:Telegram bot webhook and amazon lambdaTelegram bot webhook 和 amazon lambda
【发布时间】:2017-08-03 20:06:41
【问题描述】:

我尝试创建我的第一个电报机器人,将代码托管为亚马逊 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 代码响应...

对此有什么想法吗?

【问题讨论】:

    标签: python amazon-web-services aws-lambda bots telegram-webhook


    【解决方案1】:

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

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

    return {
        statusCode: 200
    }
    

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

    【讨论】:

      猜你喜欢
      • 2018-03-12
      • 2016-08-27
      • 2017-01-11
      • 2017-07-22
      • 2016-07-15
      • 1970-01-01
      • 1970-01-01
      • 2015-09-24
      • 2016-04-10
      相关资源
      最近更新 更多