Мой бот посещает веб-сайт, загружает его источник просмотра и сохраняет его в текстовом файле (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?');
Я вставил приведенный выше код только для того, чтобы увидеть, произнесет ли он это, но это не так.Итак, что-то вычисляется, что нет строк для чтения.
Первая строка текстового файла не пуста.Он отформатирован точно так, как выглядело бы, если бы вы сделали источник просмотра в браузере.