环聊聊天机器人-获取我的机器人消息的消息名称(空格/ xx /消息/ yy)以进行更新

时间:2019-02-22 11:11:41

标签: hangouts-chat

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

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

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

在我的上下文中,每当用户向bot发送消息时,它就会调用我的函数,并且bot会回复我从该函数发回的信息。

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

是否可以在这种情况下获取消息的名称,或者必须切换到常规api调用才能获取消息。

1 个答案:

答案 0 :(得分:0)

我不确定云功能,但是,您可以通过常规API获得它,也可以使用API​​库,要回答您的问题,当您使用spaces.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