Итак, я новичок в веб-проверке и пытаюсь создать команду для своего бота Discord для поиска учетных записей Steam с использованием идентификатора Steam с использованием пакетов npm «Запрос» и «Cheerio».После тестирования моей команды я понял, что начальный URL a a (https://steamcommunity.com/id/) не работает для каждого профиля. Я обнаружил, что есть 2 URL, которые используются для поиска учетных записей Steam с использованием идентификаторов Steam. Другой - https://steamcommunity.com/profiles/. Итак, я сделал функцию, которая заставляет моего бота пробовать первый URL (https://steamcommunity.com/id/),, и если это не работает, он пробует второй URL (https://steamcommunity.com/profiles/), чтобы убедиться, что каждый поиск выполняется)Возможен аккаунт. Проблема в том, что по какой-то причине мой бот Discord всегда загружает данные с URL-адресов (имя пользователя, уровень и т. д.). Есть ли проблема с моим кодом или это что-то вроде моего интернета?
else if (command === "steam")
{
let id = args.join("-");
message.channel.send(message.author + " - Please Wait...");
let requestFunc = function(url) {
request(url + id, (error, response, html) => {
if (!error && response.statusCode == 200)
{
const $ = cheerio.load(html);
const username = $('.persona_name').find('.actual_persona_name');
const profilePic = $('.playerAvatarAutoSizeInner').find('img').attr('src');
const level = $('.persona_level').find('span');
const friendCount = $('.profile_friend_links.profile_count_link_preview_ctn.responsive_groupfriends_element').find('.profile_count_link_total').text().replace(/\s\s+/g, '');
const badgeCount = $('.profile_badges').find('.profile_count_link_total').text().replace(/\s\s+/g, '');
if (username.html() != null || username.text() != '')
{
console.log('[SUCCESS] - Someone is looking up a Steam profile!');
if (level.html() != null || level.text() != '' || friendCount != '' || badgeCount != '')
{
message.channel.send({embed: {
title: "**STEAM PROFILE**",
color: 0x7f7bff,
image: {
url: profilePic
},
fields: [{
name: "Username: " + username.text() + "\nLevel: " + level.text() + "\nNumber of Friends: " + friendCount + "\nNumber of Badges: " + badgeCount,
value: "This account is Public!"
}]
}});
return;
}
else if (username.html() != null || username.text() != '' || level.html() == null || level.text() == '' || friendCount == '' || badgeCount == '')
{
message.channel.send({embed: {
title: "**STEAM PROFILE**",
color: 0x7f7bff,
image: {
url: profilePic
},
fields: [{
name: "Username: " + username.text() + "\nLevel: `PRIVATE`\nNumber of Friends: `PRIVATE`\nNumber of Badges: `PRIVATE`",
value: "This account is Private."
}]
}});
return;
}
}
else if (username.html() == null || username.text() == '')
{
requestFunc('https://steamcommunity.com/profiles/');
return;
}
}
});
}
requestFunc('https://steamcommunity.com/id/');
return;
}