Hi Jarret, first welcome! It's always exciting to see a new face. As far as your script, it certainly it. Think of coding as something that goes along in steps. You will need to break your process down into steps, and then create the code. The first step is: How will it be initiated. Typically, and I am going to assume, is you want it to be a chat command. To handle chat commands you use this function: on("chat:message", function(msg) { } This function runs every time a chat message is given. Inside the brackets you will put the work you want to be done. In this case, you first want to test to see if the command was given. Lets say you want to name your dice rolling JarretsRoll and the command you want to give it would be !JarretsRoll. Now you must test to see if it was given. if(msg.content.indefOf("!JarretsRoll") !== -1 && msg.type == "api") { } This code tests to make sure your command is present AND that it was an api command. (API commands are chat lines that begin with an exclamation point. Next, you can roll your dice. If you want it to be static (I will assume that is the case) you can just handle it in the API. You roll the dice by sending a Chat command: SendChat(msg.who, "/r 100d10") This command will roll 100d10s, and then you can manipulate the results as you want. Obviously, as you stated you want to add a modifier and control how many dice you roll. I will add more in the next part.