Nightbot command to pull a random JSON array

Asked May 11, 2024·5 replies·Last activity 2 years ago·Open in Discord ↗
Archived from the original community forum
Things may have changed since it was written. Still stuck? Ask the community on Discord.

I am trying to create a command where I can read a JSON array with multiple properties (for example - prompt, response). I want to be able to get a random prompt response pair from that array and stagger the responses so it feels like a question is asked and then a response is given.

I think I know how to use vxrl.xyz/smm to stagger the responses, but I am stuck on how to get a random prompt response pair from the JSON array.

Example of what my JSON data looks like:

[
{
"prompt": "Prompt01",
"response": "Response01"
},
{
"prompt": "Prompt02",
"response": "Response02"
},
{
"prompt": "Prompt03",
"response": "Response03"
}
]

Example of expected output in the chat:

User: !command
Nightbot: Prompt02
Nightbot: Response02 (after 5-10 seconds)

Thanks in advance for the help!

5 replies

I was able to solve this part of the problem already. My problem currently is how to get a random prompt, response pair out from the JSON array. I'm not sure how to get a single item out of that JSON array.

Once I can get that object, I can parse the prompt and response into two eval statements and use vxrl.xyz to send multiple messages.

i'd say the easiest way would be to get the random number and alias it to a second command with the multiple message generator thing...

got it, thank you - I'll try and update the thread based on what I'm able to accomplish.

yeah, actually i thought about that after i said it... it would actually be easier and less work for nightbot (faster response) if u did the whole json thing in the first command and then have it output just your prompt and response, then the second command just does the timed part with the multiple generator thing

Didn't find your answer? The community is on Discord.

Ask on Discord