TypeError:无法读取未定义消息的属性“split”

时间:2017-12-19 14:14:25

标签: javascript split

我已经购买了这个特定的机器人脚本。我给它一个游戏列表(游戏名称可以有数字,:),每个游戏都有一个关键字。并且要求机器人从列表中给我一个特定的密钥。我输入(!给[游戏名称])。机器人检查txt文件并给我相应的游戏密钥

举个例子。

  

反恐精英:全球攻势(11111-11111-11111)
    Left For Dead 2(22222-22222-22222)
    半条命(33333-33333-33333)

这里的问题是:

当我输入!give Counter-Strike: Global Offensive!give Left For Dead 2时 机器人崩溃了。但如果输入!give Half Life它实际上会起作用并给我钥匙(33333-33333-33333)

我检查了错误日志,然后我去查找导致问题的行;我发现了这个:

错误日志:

  

C:\用户\ XXX \ bot.js:1199                   var keys = data.split(“\ n”);                                   ^

     

TypeError:无法读取未定义的属性“split”       在ReadFileContext.callback(C:\ Users \ xxx \ bot.js:1199:19)       在FSReqWrap.readFileAfterOpen [as oncomplete](fs.js:422:13)`

这是代码:

var sent = false;
files.forEach(function(file) {
      if (file.toLowerCase().endsWith(".txt")) {
        if (fs.readFileSync(file, "utf8").toLowerCase().split("\n")[0].trim() === titledab.trim()) {
          fs.readFile(file, 'utf8', function(error, data) {
                if (error) {
                  client.chatMessage(senderID.toString(), "An error occurred, sorry about that.");
                  return;
                }

                if (data == '' || data.split("\n").length <= 1) {
                  client.chatMessage(senderID.toString(), "No keys for that title right now.");
                  return;
                }

当涉及到这些事情时,我并不擅长。有人告诉我,问题也与toLowerCase有关,因为它不适用于数字。请告诉我什么是错的,哪些是正确的解决方案?

0 个答案:

没有答案