Google Hangouts机器人未返回任何结果

时间:2019-10-02 05:45:37

标签: google-apps-script bots hangouts-chat

因此,我正在尝试构建一个Scrabble机器人,该机器人可以接受可用的字母集,使用anagramica API&应该返回可用的单词组合。

到目前为止,这是我能够编写的代码-

/**
 * Responds to a MESSAGE event in Hangouts Chat.
 *
 * @param {Object} event the event object from Hangouts Chat
 */
function onMessage(event) {
  if (event.space.type == "DM") {
    var letters = event.message.text
    var words = getWords(letters)
    return { "text": words };
  }
}

function getWords(letters) {
  var URL = 'http://www.anagramica.com/all/:' + letters
  var response = UrlFetchApp.fetch(URL, {"method":"GET"});
  var results = JSON.parse(response.getContentText())["all"];
  var words = ''
  for (var y = 0; y < results.length; y++) {
    words = words + "\n" + results[y]
  }
  return words
}

部署后,当我们向机器人发送消息时,它实际上没有返回任何结果:(

我在做什么错??

1 个答案:

答案 0 :(得分:0)

如果我运行以下代码的myFunction()

function myFunction(){
  var letters='abcd';
  Logger.log(getWords(letters));
}

function getWords(letters) {
  var URL = 'http://www.anagramica.com/all/:' + letters
  var response = UrlFetchApp.fetch(URL, {"method":"GET"});
  var results = JSON.parse(response.getContentText())["all"];
  var words = ''
  for (var y = 0; y < results.length; y++) {
    words = words + "\n" + results[y]
  }
  return words;
}

我收到以下答复:

enter image description here

Url提取请求正常工作。因此,错误必须出在您的函数onMessage(event)上。

  • 选项1:

    没有返回任何内容,因为条件event.space.type == "DM"不满足。

  • 选项2:

没有返回任何内容,因为var letters = event.message.text不是有效的参数。

除了按照上述建议实施日志外,您还可以通过以下方法测试问题的根源:放弃if条件或手动将letters定义为字符串。

以下工作吗?

function onMessage(event) {

    var letters = "test";
    var words = getWords(letters)
    return { "text": words };

}