Почему мой бот Discord медленно обрабатывает данные? - PullRequest
1 голос
/ 31 марта 2019

Итак, я новичок в веб-проверке и пытаюсь создать команду для своего бота 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;
    }
...