Bearer ${params.streamelementsJWT},
Win-Key + E -> Rightclick on D: -> Properties -> Tools -> Error Checking)
Win-Key + E -> Rightclick on D: -> Properties -> Tools -> Error Checking)
$ states to your bot that this is a variable. This variable contains the output of a short script. eval() will take care that the following stuff will be handled as JavaScript code const responses = [] this is a constant array. constants contain things just like variables - but, well, they have defined (constant) contents. Here we've got a list of potential [subject]. The individual contents of the array (so a list of things) here are strings which have to be marked by '<WORD GOES HERE>'. The , ends a content and adds a new item to the array. Noteworthy is the \' here - that's what is called escaping a character. As in your screenshot there is a don't that should be displayed you need it - otherwise the string would end at the '. So if you'd want to have a subject that contains any ' you will have to add the \ before it. '$(querystring)'.trim() == "?'Ask a question first' : in the original makes sure that a question was asked. We'll ignore that here. responses[Math.floor(Math.random() * responses.lenght)];) -- This is where "the magic" happens. So let's do it in Detail $responses[n] will give out something of the list we created above. Array contents can be accessed via Number so responses[0] would be the first item, responses[1] the second and so on Math.floor() will return the largest integer less than or equal to a given number. So rounding's happening here! It is needed because: Math.random() will give you a random floating point number between 0 and 1. * responses.lenght will count how many responses are in the responses array and multiply the random number with it, giving you a random output. (edited)