The Official Write Your Own Bot/RSVP Thread - Asking to buy one = Restricted from thread

Status
Not open for further replies.
Meg deleted her Linked In 
roll.gif
 
Wow I just read the whole tread and I'm impressed and confused. I have the basic google chrome auto add/cart bot and now it doesn't work and I knew why but now I understand a little better. Thanks for all the info. Now if I could just figure out how to change my bot so it will work again but I just don't understand all the stuff u guys posted. Appreciated but lost
 
Wow I just read the whole tread and I'm impressed and confused. I have the basic google chrome auto add/cart bot and now it doesn't work and I knew why but now I understand a little better. Thanks for all the info. Now if I could just figure out how to change my bot so it will work again but I just don't understand all the stuff u guys posted. Appreciated but lost
new.gif
your answer is still within this thread but like mentioned before google and a little research will lead you.
 
Why not help link or answer his/her question and stop being *** holes?:smh:
 
Last edited:
Does anyone else know where the physical location of the Nike server is? I'm in Hawaii and don't think I have a chance even with a bot with latency if it's farther than the rockies.

i did a IP lookup and the location of the server appears to be in New York (which explains why east coast residents have the best chance at snagging limited releases and why west coast people often strike out). I live in Chicago and get through on most releases on NDC. ive only missed out on the super limited releases such as the Denim Revises and the Champs Pack
 
Why not help link or answer his/her question and stop being *** holes?
mean.gif
pimp.gif

Why don't you help him if you feel so strongly about it?
Wow I just read the whole tread and I'm impressed and confused. I have the basic google chrome auto add/cart bot and now it doesn't work and I knew why but now I understand a little better. Thanks for all the info. Now if I could just figure out how to change my bot so it will work again but I just don't understand all the stuff u guys posted. Appreciated but lost
open you .js file in notepad.

change the following line of code...

see below....

http://niketalk.com/t/565593/the-official-bot-rsvp-thread/60#post_18529279

so I installed my cloud rive. can I put chrome on it and use it as access to a quicker ms?
nerd.gif
 
Last edited by a moderator:
Man U guys need 2 calm down sum. I am jus not that great w/computers. I'm gonna try to switch it. Let u know how it goes
 
Has anyone come across scripts that does their own POST to NDC?

I get a lot scripts run past me.  And if a person gets an order cancelled then I'm willing to look at the code to see what may have triggered it if asked.

Those that know about the PLACE IN LINE value on NDC are probably only looking at the response from the server but are any of you trying to inject calls to modify this value?

I need more TLOs to take place.  That or a drop with the queuing system in use.  ***** getting too interesting.
ive been thinking about this a little bit. If you don't do something to actually mess with the system (I. E. Just using bots to harass, and get to the front of the line faster) then you are on good legal standing. You would just be maximizing the system that Nike put into place using publicy available methods (I. E. Twitter) once you try to inject, or trick the computer into kicking others in out, or force your way in, then you start to hit that grey area. I'd be a little more wary then.
 
I've been getting questions about the freely available java script code that is out and about.  So, I figure I would just dissect it here and explain why you can easily get caught with this script:

I'm going to use the older version of the code that currently does not work on NDC
 1     var size_i_want = "8";

 2     var how_many = 1;

 3     function addToCart()

       {

 4       var sizesList=document.getElementsByName("skuAndSize")[0];

 5       function setQuantity()  
          {
 6         document.getElementsByName("qty")[0].selectedIndex = how_many-1;

          }

 7       function setSizeValue()

          {

 8         for (var i=0; i<sizesList.length; i++)

            {

 9           if(sizesList.options.text == size_i_want)

             {

10             document.getElementsByName("skuAndSize")[0].selectedIndex = i;

11             setQuantity();

             }

            }

          }

12       if(sizesList != undefined)

          {

13          setSizeValue();

14          document.getElementsByClassName("button-container add-to-cart")[0].click();

          }

15      else

          {

16         setTimeout("addToCart()", 250);

          }

        }

17     setTimeout("addToCart()", 250);

Lines 1 and 2 sets the shoe size and the number of shoes to add to cart, respectively.

Program starts at Line 17 with a call to the addToCart function which does not take place until 250 milliseconds after reaching Line 17.
Line 3 defines the function addToCart function.  After entering the addToCart function the first line of execution takes place at Line 4.
Line 4 acquires an array of sizes available from the skuAndSize list.

Line 12 is the next line to get executed in the addToCart function.  At this line a conditional statement is evaluated.  If the sizeList we attempted to get from the statement at Line 4 exists then we proceed to select our size (Line 13) and then click the Add to Cart button (Line 14).

However, if the statement at Line 4 did not result in a sizeList then we recall the addToCart function again in 250 milliseconds.
Line 7 defines the function that loops through the size array and finds the index associated with the size you set in Line 1.

Line 8 looks through the sizeList looking for the index value that contains the size you want.  This is inefficient.
For men's basketball shoes:  Index values start at 0 and increment their way up so:

Index : Size

0 : 7

1 : 7.5

2 : 8

3 : 8.5

4 : 9

5 : 9.5

6 : 10

7 : 10.5

8 : 11

9 : 11.5

10 : 12

11 : 12.5

12 : 13

So if your shoe size is "13" then you a have to iterate 12 times before you find your size.  You could easily just remove the for statement and replace it with the index value above.  But do realize that if you do this, the script will always select the size associated with that index - which isn't always the same index if you go outside of men's basketball shoes.

jQuery is likely to implement a for statement under the hood despite the absence of an explicit for statement in the call.

Line 10 after it finds the index, i, that contains your shoe size - the index is selected.

Line 11 call to setQuantity.  If you only purchase one shoe.  This line can be removed. Along with the setQuantity function(){} at line 5.

Line 5 defines the setQuantity function. 

Line 6 sets the quantity.  This line plays on the fact that index value for the quantity is always 1 less than the quantity value.  Since array indexes start at 0.  Thus no for statement is needed to loop.

Why is this script detectable?  The process of selecting your size involves no mouse events (such as mouseover mouseup mousedown mouseout).  Meaning that if you are able to select a size without triggering these events then you are more than likely using a bot.

Tags can be added to the order detail when certain mouse events are triggered.  So the absence of such tags, that may get passed over to the order details, could help NDC flag orders.

Furthermore, the process of clicking Add to Cart would normally involves: focus, mouseover, mouseup, mousedown (optional mouseout).  But you see in the code that all that is invoked is click (which is a combination of a mousedown then mouseup).
 
@evilside:

Good summary!  Hey quick question, how does the latest jQuery help prevent bot detection?  You previously mentioned latest jquery.js contains mouse events; can you elaborate a bit?  
 
Line 7 defines the function that loops through the size array and finds the index associated with the size you set in Line 1.

Line 8 looks through the sizeList looking for the index value that contains the size you want.  This is inefficient.
So if your shoe size is "13" then you a have to iterate 12 times before you find your size.  You could easily just remove the for statement and replace it with the index value above.  But do realize that if you do this, the script will always select the size associated with that index - which isn't always the same index if you go outside of men's basketball shoes.
So I just tested the index and highlighted for emphasis that the size index varies between the different sections of NDC. (oddly enough, it looks like the size index is off by 1 from what you listed when I tested) What would be the "ideal" way of getting the size index values for all of NDC without bogging the script down?

Why is this script detectable?   The process of selecting your size involves no mouse events (such as mouseover mouseup mousedown mouseout).  Meaning that if you are able to select a size without triggering these events then you are more than likely using a bot.

Tags can be added to the order detail when certain mouse events are triggered.  So the absence of such tags, that may get passed over to the order details, could help NDC flag orders.

Furthermore, the process of clicking Add to Cart would normally involves: focus, mouseover, mouseup, mousedown (optional mouseout).  But you see in the code that all that is invoked is click (which is a combination of a mousedown then mouseup).

You posted earlier to try adding something else to the cart manually without the bot to try and confuse the system AFTER you get the item in your cart successfully. Are you thinking that even with the above submitted mouse events that NDC can still see bot usage through other means?
 
So I just tested the index and highlighted for emphasis that the size index varies between the different sections of NDC. (oddly enough, it looks like the size index is off by 1 from what you listed when I tested) What would be the "ideal" way of getting the size index values for all of NDC without bogging the script down?

You posted earlier to try adding something else to the cart manually without the bot to try and confuse the system AFTER you get the item in your cart successfully. Are you thinking that even with the above submitted mouse events that NDC can still see bot usage through other means?
To answer your first question:  The list can vary from shoe to shoe - depending on what the very first index (0) starts at.  I believe though - for a given style of shoe that the index remains constant throughout the store.  Lebrons vs. Flyknit Chukkas vs. KDs. etc.

If you are after a larger size.  You can choose to do one of two things:

1) Start at the last element and work your way down:

for (var i=sizesList.length-1; i>0; i--)

So now the for list starts at the last element (which has an index value of 1 less than the size of the list) and then it will decrement until i is no longer greater than 0 (it may stop before the very first element (0) but you shouldn't worry about hitting it if you are after the larger sizes).  And do notice that there are two '-' following the 'i' near the end.

2) Another approach could be to start at an element value that is halfway in the list:

for (var i=sizesList.length/2-1; i<sizesList.length; i++)

Hopefully, that returns an integer.  If not, someone let me know what it returns.  

To answer your second question, there are so many things you can trigger on a page.  Its a matter of figuring out what triggers are available for each CSS selector and launching them off in the proper order.

So, unless you've pretty much triggered everything, naturally possible, I still think you run the risk of getting flagged by NDC.  

But, I have yet to hear about someone getting caught with the jQuery script.  The more people step up - the better we can respond with more mouseevents or ideas to avoid getting flagged.  
 
Last edited:
@evilside:

Good summary!  Hey quick question, how does the latest jQuery help prevent bot detection?  You previously mentioned latest jquery.js contains mouse events; can you elaborate a bit?  
In the jquery script that is floating around.

The size selection involves a mouseover, mousedown, mouseup.  

While the add to cart is still a click - it could easily be decorated with a mouseover before the call.
 
In the jquery script that is floating around.

The size selection involves a mouseover, mousedown, mouseup.  

While the add to cart is still a click - it could easily be decorated with a mouseover before the call.
got it.... I see now.   Thanks!  I'm going  to play around with my script to implement the reversed array you suggested. Do I replace line 8 with "(var i=sizesList.length-1; i<0; i--)"?
 
Yes, only replace line 8 with it or the equivalent in your script.

Just realize that the above script does not work on the recent NDC.  Needs the element name changes that have been hinted through out this thread.
 
Got word that a couple of folks at NikeDC got fired for the events last week.

RSVPs will take place for the Fear pack.  Still in-house from what I hear.  And still the same damn process.

Gonna be another one of those weeks.

May the best RSVP bot win.
 
Status
Not open for further replies.
Back
Top Bottom