我发现了一个我想开始工作的teampeak机器人的废弃脚本。我从来没有真正使用过javascript,因此我希望那里的人能够为我提供帮助。
当我尝试运行脚本时,实例日志中出现以下错误。
“脚本(事件聊天)中的错误:TypeError:无法访问cleverbot.js:76:13上未定义的成员'indexOf'”
我尝试与作者联系,并在找到该脚本的论坛上寻求帮助。
event.on('chat', function(ev) {
var client = ev.clientId;
var mode = ev.mode;
if (ev.mode == 0 || ev.mode == 3) return;
if (ev.msg.indexOf("Cleverbot,") === 0 || ev.msg.indexOf("@cleverbot") === 0) {
var question = ev.msg.substring(11, ev.msg.length);
sinusbot.http({
"method": "POST",
"url": "https://cleverbot.io/1.0/ask",
"timeout": 60000,
"body": "user=" + apiuser + "&key=" + apikey +
"&nick=" + sinusbot.getBotId() + "&text=" + encodeURI(question),
"headers": {"Content-Type": "application/x-www-form-urlencoded"}
}, function (error, response) {
if (error) {
sinusbot.log(error);
return;
}
var data = JSON.parse(response.data);
if (response.statusCode != 200) {
sinusbot.chatChannel(data.status);
return;
}
var response = data.response;
if (mode == 1) {
sinusbot.chatPrivate(client, response);
}
else if (mode == 2) {
sinusbot.say(response, lang);
}
});
}
});
答案 0 :(得分:0)
'ev'参数没有此类msg属性,因此indexOf失败(无字符串)
...
ev.msg.indexOf
...
尝试调试代码以再次检查为什么会发生