【问题标题】:Hangout chat bot - get message name (spaces/xx/message/yy) of my bot's message in order to update it环聊聊天机器人 - 获取我的机器人消息的消息名称(空格/xx/message/yy)以更新它
【发布时间】:2019-03-07 17:51:42
【问题描述】:

我在谷歌云功能上有一个环聊聊天机器人。 我想使用 rest api 的 message.update 端点来更新机器人之前发送给用户的一条消息。

问题是我不知道如何获取我的机器人刚刚发送的消息的消息 ID(名称)。

例如,如果我的机器人发送了{ text: "hello" },然后我想将文本更改为其他内容。

在我的上下文中,每当用户向机器人发送消息时,它都会调用我的函数,而机器人会回复我从函数返回的任何内容。

所以当我发送“你好”消息时,我没有使用 api,只是回复请求。

有没有办法在这种情况下获取消息的名称,或者我必须切换到常规的 api 调用才能得到它。

【问题讨论】:

    标签: hangouts-chat


    【解决方案1】:

    我不确定云功能,但是,您将在常规 API 中获得它,或者您可以使用 API 库来回答您的问题,当您使用 space.messages.create 创建消息时,它会返回消息 ID 作为响应,您可以在更新消息 API 中使用该消息 ID。

    检查以下来自创建消息 API 的响应,

    {
      "name": "spaces/u********E/messages/N*********M.N*********M", **//last one is messageId**
    
            "sender": {
                "name": "users/1***************2",
                "displayName": "",
                "type": "BOT"
            },
            "text": "hello world",
            "cards": [],
            "previewText": "",
            "annotations": [],
            "thread": {
                "name": "spaces/u********E/threads/N********M"
            },
            "space": {
                "name": "spaces/u********E",
                "type": "DM",
                "displayName": ""
            },
            "fallbackText": "",
            "argumentText": "Hello World",
            "createTime": "2019-03-07T07:44:06.430607Z"
        }
    

    另请参阅发现文档。

    https://chat.googleapis.com/$discovery/rest?version=v1
    

    在这里您将获得使用库创建消息的实现。

    https://github.com/googleapis/google-api-nodejs-client/issues/1123#issuecomment-396111871
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 2011-11-16
      • 2016-12-04
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多