从硬盘读取HTML文本文件未显示任何结果

时间:2019-06-20 14:20:30

标签: javascript node.js discord file-handling

我的机器人访问了一个网站,下载了它的视图源,并将其存储到文本文件(C:\ ViperBot \ GOW \ trooptable.txt)。我检查了文件,看起来很棒。然后,它将创建一个自定义的个人文件,我将在以后使用。下一步是读取文本文件,然后开始搜索我要查找的信息,并将信息转发给用户。

我已经尝试了每个单独的逐行文件读取器,无论使用message.channel.send还是console.log,它们中的每一个均未显示任何结果。除了需要读取文件的时间以外,所有其他文件处理方法都可以使用。一定缺少什么,我也不知道。

    else if (command === 'troop' || command === 'trp') {
        if (!args.length) {
            return message.channel.send(`${message.author} You must specify a search criteria.\nExample; To search for Abhorath:\n.troop abhorath\n.trp abh`);
        }
        let i = 0;
        let crit = '';

        for (i = 0; i < args.length; crit += args[i] + ' ', i++) {
        }

        crit = crit.slice(0, crit.length - 1);

        message.channel.send(`I got your troop request for ${crit}.`);


        message.channel.send('Parsing...');

        let file = fs.createWriteStream("C:/ViperBot/GOW/trooptable.txt");
        let request = http.get("http://gowdb.com/trooptable", function (response) {
            response.pipe(file);
        });

        message.channel.send('Finished');
        fs.writeFile(`C:/ViperBot/GOW/tmp${message.author.username}.txt`, 'Michael Luna', function (err) {
            if (err) throw err;
        });
        message.channel.send(`File created: tmp${message.author.username}.txt`);

        var stream = fs.createReadStream('C:/ViperBot/GOW/trooptable.txt');
        stream = byline.createStream(stream);

        stream.on('readable', function() {
            var line;
            while (null !== (line = stream.read())) {
                message.channel.send(line);
                message.channel.send('Is anything happening?');
            }
        });

    }

最后一种方法是使用名为byline的模块。所有评论都说它很漂亮。我使用了发现的每条线,但都没有结果。

我所能想到的就是我没有做某件事。控制台未显示任何错误。机器人不会停止。它仅不返回任何输出,并返回到等待聊天输入。

message.channel.send('Is anything happening?');

我将上面的代码放入其中只是看它是否会说出来,而没有。因此,正在进行计算,以至于没有行要读取。

文本文件的第一行不是空白。它的格式与您在浏览器上执行视图源时的外观完全相同。

0 个答案:

没有答案