【问题标题】:How to get the name of a message sent by a hangout bot如何获取环聊机器人发送的消息的名称
【发布时间】:2018-08-22 19:38:44
【问题描述】:

在环聊聊天机器人中,当用户添加到空间或删除或有人发送消息时,将事件发送给机器人,而我可以使用 JSON 对象 {text: "Any thing"} 进行响应。 如果我需要删除或更新此消息,我需要它的名称。 如何获取此消息名称?

【问题讨论】:

  • 你弄明白了吗?有同样的问题

标签: google-api hangouts-chat


【解决方案1】:

您应该从事件请求正文中的message 字段中获取它。比如:

var messageName = req.body.message.name;

这里有一个我从文档中找到的示例:

{
  "type": "MESSAGE",
  "eventTime": "2017-03-02T19:02:59.910959Z",
  "space": {
    "name": "spaces/AAAAAAAAAAA",
    "displayName": "Chuck Norris Discussion Room",
    "type": "ROOM"
  },
  "message": {
    "name": "spaces/AAAAAAAAAAA/messages/CCCCCCCCCCC",
    "sender": {
      "name": "users/12345678901234567890",
      "displayName": "Chuck Norris",
      "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
      "email": "chuck@example.com"
    },
    "createTime": "2017-03-02T19:02:59.910959Z",
    "text": "@TestBot Violence is my last option.",
    "argumentText": " Violence is my last option.",
    "thread": {
      "name": "spaces/AAAAAAAAAAA/threads/BBBBBBBBBBB"
    },
    "annotations": [
      {
        "length": 8,
        "startIndex": 0,
        "userMention": {
          "type": "MENTION",
          "user": {
            "avatarUrl": "https://.../avatar.png",
            "displayName": "TestBot",
            "name": "users/1234567890987654321",
            "type": "BOT"
          }
        },
        "type": "USER_MENTION"
      }
    ],
  },
  "user": {
    "name": "users/12345678901234567890",
    "displayName": "Chuck Norris",
    "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
    "email": "chuck@example.com"
  }
}

参考:https://developers.google.com/hangouts/chat/reference/message-formats/events#message

【讨论】:

  • 不,他说的是他的机器人消息名称(它发送的那个),你在请求​​正文中得到的是用户消息名称(你收到的那个)。
猜你喜欢
  • 1970-01-01
  • 2016-10-20
  • 2019-05-10
  • 1970-01-01
  • 1970-01-01
  • 2021-04-20
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多