• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Problem z kodem JS node

Object Storage Arubacloud
0 głosów
180 wizyt
pytanie zadane 8 stycznia 2019 w JavaScript przez Mrmatiii Początkujący (300 p.)
zamknięte 8 stycznia 2019 przez Mrmatiii

Dobry, mam taki problemik z kodem i chyba sam się już zgubiłem kod daje mi tylko że w linijce jest unexpected token else i nw w którym momencie źle mam zamknięcia jeśli była by jakaś miła osóbka i pomogła mi to naprawić będę wdzięczny nadmienię że następnego else if też nie łapie 

else if (MSG.toUpperCase().indexOf("!BUYGEMS4TF") >= 0) {
    if (botSets) {
        let n = MSG.toUpperCase().replace("!BUYGEMS4TF ", ""),
            GemsToGive = parseInt(n) * CONFIG.CARDS.GEM4TF;
        if (!isNaN(n) && parseInt(n) > 0) {
            if (n <= CONFIG.MESSAGES.MAXBUY) {
                let t = manager.createOffer(SENDER.getSteamID64());
                t.getUserDetails((ERR, ME, THEM) => {
                    if (ERR) {
                        console.log("## An error occurred while getting trade holds: " + ERR);
                        client.chatMessage(SENDER, "[Error]  An error occurred while getting your trade holds. Please try again");
                    } else if (ME.escrowDays == 0 && THEM.escrowDays == 0) {
                        n = parseInt(n);
                        let theirKeys = [];
                        client.chatMessage(SENDER, "You Requested To Buy" + GemsToGive + " with " + n + " TF2 Keys!");
                        sleep(1500);
                        client.chatMessage(SENDER, "Processing Your Trade Offer, Please Wait..");
                        manager.getUserInventoryContents(client.steamID.getSteamID64(), CONFIG.KEYSFROMGAME, 2, true, (ERR, INV, CURR) => {
                            if (ERR) {
                                console.log("## An error occurred while getting inventory: " + ERR);
                                client.chatMessage(SENDER, "[Error]  An error occurred while loading your inventory. Is it private?");
                            } else {
                                // console.log("DEBUG#INV LOADED");
                                if (!ERR) {
                                    // console.log("DEBUG#INV LOADED NOERR");
                                    for (let i = 0; i < INV.length; i++) {
                                        if (theirKeys.length < n && CONFIG.ACCEPTEDKEYS.indexOf(INV[i].market_hash_name) >= 0) {
                                            theirKeys.push(INV[i]);
                                        }
                                    }
                                    if (theirKeys.length != n) {
                                        /*error*/
                                        client.chatMessage(SENDER, "[Error]  You don't have enough keys: " + theirKeys.length + " / " + n);
                                        console.log("[Buy] Not enough Keys:" + theirKeys.length + " / " + n);

                                    } else {
                                        // console.log("DEBUG#SENDING");


                                        manager.getInventoryContents(753, 6, true, (err, MySteamInventory) => {
                                            if (err) {
                                                return console.log("[" + getTime() + "] " + err);
                                            }
                                            let MyGems = MySteamInventory.filter(gem => gem.name == "Gems");
                                            if (MyGems === undefined || MyGems.length == 0) {
                                                console.log("[" + getTime() + "] " + "[Error][Gems4Sets] Bot out of Gems.");
                                                client.chatMessage(SENDER, "[Error] Sorry, I don't have enough Gems to buy your Sets: 0 / " + GemsToGive);
                                                return;
                                            } else {
                                                let gem = MyGems[0];
                                                let gemDifference = GemsToGive - gem.amount;
                                                if (gemDifference <= 0) {
                                                    gem.amount = GemsToGive;
                                                    t.addMyItem(gem);
                                                    t.data("commandused", "BuyTF4GEMS");
                                                    console.log("!BuyTF4Gems " + n + " - SENT");
                                                    t.data("amountofgems", n.toString());
                                                    t.data("amountofkeys", n);
                                                    t.send((ERR, STATUS) => {
                                                        if (ERR) {
                                                            /*error*/
                                                            client.chatMessage(SENDER, "[Error] I'm Refreshing my inventory! Please try again in a few seconds.");
                                                            console.log("## An error occurred while sending trade: " + ERR);
                                                        } else {
                                                            console.log("[!Sell4Gems] Trade Offer Sent!");
                                                        }
                                                    });
                                                } else {
                                                    client.chatMessage(SENDER, "[Error] Sorry, I don't have enough Gems to buy your Keys: " + MyGems[0].amount + " / " + GemsToGive + "\r\n Try using !Sell4Gems " + Math.floor(MyGems[0].amount / CONFIG.CARDS.GEM4TF));
                                                }
                                            }
                                        });

                                    }

                                } else {
                                    console.log("## An error occurred while getting user inventory: " + ERR);
                                }
                            }

                        });
                    }
                });
            } else {
                /*error*/
                client.chatMessage(SENDER, "[Error] Please make sure you don't have a trade hold!");
            }
        };
    } else {
        client.chatMessage(SENDER, "[Error] You can only sell up to " + CONFIG.MESSAGES.MAXSELL + " at a time!");
    }
} else {
    client.chatMessage(SENDER, "[Error] Please enter a valid amount of Keys you wanna sell!");
} else {
    client.chatMessage(SENDER, "[Error] Please try again later.");
}

to jest wyrywek z którym mam problem po nim jest następny else if

komentarz zamknięcia: Rozwiązane

2 odpowiedzi

+2 głosów
odpowiedź 8 stycznia 2019 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Podpowiem Ci, pora na refaktoryzację kodu, jak już sam się w nim gubisz. Ułóż trochę inaczej ten kod, spróbuj zlikwidować zagnieżdżenia, maksymalnie do trzech poziomów. albo rozbij ten kod na parę funkcji.
komentarz 8 stycznia 2019 przez spamator12 Nałogowiec (28,230 p.)
heheh gdyby to bylo takie proste :)
+1 głos
odpowiedź 8 stycznia 2019 przez PolYGlok Pasjonat (19,450 p.)
Przecież kod błędu mówi Ci dokładnie w której linijce masz błąd a ty nam tego nie podałeś a jeszcze daaleś tylko wycinek kodu.

Wiesz jak to się ciężko przegląda na mobilku?!

Podobne pytania

0 głosów
1 odpowiedź 1,590 wizyt
0 głosów
1 odpowiedź 309 wizyt
pytanie zadane 12 maja 2020 w JavaScript przez Allen Obywatel (1,010 p.)
0 głosów
0 odpowiedzi 134 wizyt

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...