因此,我正在尝试构建一个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
}
部署后,当我们向机器人发送消息时,它实际上没有返回任何结果:(
我在做什么错??
答案 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;
}
我收到以下答复:
Url提取请求正常工作。因此,错误必须出在您的函数onMessage(event)
上。
选项1:
没有返回任何内容,因为条件event.space.type == "DM"
不满足。
没有返回任何内容,因为var letters = event.message.text
不是有效的参数。
除了按照上述建议实施日志外,您还可以通过以下方法测试问题的根源:放弃if
条件或手动将letters
定义为字符串。
以下工作吗?
function onMessage(event) {
var letters = "test";
var words = getWords(letters)
return { "text": words };
}