Как убрать постоянный вывод сообщения об ошибке в случае нахождения несовпадений?
Я работаю с телеграм ботом, использую Node.js. Задача состоит в том, чтобы была БД пользователей в которой находились бы данные об пользователях, а конкретно их userName, userId.
Я написал цикл который мониторит файл JSON, затем достаю оттуда данные после разбора с помощью JSON.parse() и проверяю существующие ID-шники юзеров.
Если ID из файла совпадает с ID человека, который отправил мне сообщение, то выполняется код, и вся остальная структура, которую я не присылал. Если не совпадает, то выводиться сообщение о том, что юзер с данным ID не был найден.
Весь код рабочий, но выводится очень много сообщений о том что не найдено совпадение ID из файла, пока не доходит до нужного ID.
Как избежать многочисленного вывода сообщений об ошибке? Есть ли альтернативный вариант чтобы не забивать консоль во время чтения файла?
let TelegramBot = require('node-telegram-bot-api');
const fs = require('fs'); // для работы с файлами
const token = "xxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
let bot = new TelegramBot(token, {
polling: true
});
let writeMessageToGroup = false, // custom variable
userAuthorized = "",
userNotAuthorized = "";
fs.readFile('db/db.json', function(err, data) {
if (err) throw err;
let currentUser = JSON.parse(data);
for (let i = 0; i < currentUser.length; i++) {
if (currentUser[i].userId == msg.from.id) {
userAuthorized ="✅Вы авторизированы!✅";
bot.sendMessage(chatId,userAuthorized);
bot.sendMessage(chatId, "<b>Вас приветствует Coralife бот-помощник!</b>\nДавай знакомиться!", helloOptions);
break;
} else if (currentUser[i].userId != msg.from.id) {
userNotAuthorized = "❌Вы не авторизированы!❌";
console.log(userNotAuthorized );
}
}
});
Ответы (1 шт):
fs.readFile('db/db.json', function (err, data) {
if (err) throw err;
let currentUser = JSON.parse(data),
index = 0; // Создал переменную
for (let i = index; i < currentUser.length; i++) { // Присваиваю index к i
if (currentUser[i].userId == msg.from.id) {
userAuthorized = "✅Вы авторизированы!✅";
bot.sendMessage(chatId, userAuthorized);
setTimeout(function () {
bot.sendMessage(chatId, "<b>Вас приветствует Coralife бот-помощник!</b>\nДавай знакомиться!", helloOptions);
}, 500);
break;
}
index++; // Увеличиваю index каждый раз когда не нахожу совпадений
}
if (index == currentUser.length) { // если index в конечном счёте прировняется, то 1 раз выполнится условие
userNotAuthorized = "❌Вы не авторизированы!❌";
console.log(userNotAuthorized);
bot.sendMessage(chatId, userNotAuthorized);
}
});