0

我有一个正在尝试为 Google Chat 平台制作的聊天机器人。我的老板想要这样,如果有人在房间里说“我很无聊”或“它很慢”等等,它会以预设的回应做出回应。比如“你今天打电话了吗?” 或类似的。我试图这样做,但只有在提到聊天机器人时才能让它工作。

function onMessage(event) {
  var name = "";

  if (event.message.text == "Im Bored") {
    name = "You";
  } else {
    name = event.user.displayName;
  }
  var message = name + ": You could scrub accounts or make some calls.  Have you logged into statflo today? ";

  return { "text": message };
}

我们想要的是查看消息并找到任何说无聊或缓慢并自动响应的消息。以上不适用于我们的使用。对此有什么想法吗?

我已经阅读了https://developers.google.com/hangouts/chat/reference/message-formats/events上的事件格式页面,但无法获得任何结果。

4

1 回答 1

0

您可以设置一个条件,在发送的每条消息中搜索特定字符串。例如:

    function onMessage(event) {
      var name = "";

      if (event.type == "MESSAGE") {
        if (event.message.text.indexOf("I'm bored") > -1) {
        var message = name + ": You could scrub accounts or make some calls.  Have you logged into statflo today? ";

      return { "text": message };
        }
      }
    }

编辑:

这对于房间是不可能的。正如文档所说:

就像人一样,机器人可以参与聊天室,并且可以回复直接消息。但与人不同的是,只有当有人在聊天室中@提及他们,或者有人向他们发送直接消息时,机器人才会看到定向到他们的消息。

于 2019-11-27T09:01:12.673 回答