%bot.minigame = new scriptObject(){};
Umm...
You wouldn't want to do it that way because minigames are already script objects. IE, if you create a minigame and set it to $RPGMini, $RPGMini refers to the object number of a script object containing the properties of that minigame.
With your blah examples, anything you define within the brackets becomes a tagged field. Just like dataBlock is a tagged field (one of several in a set of default variables for that type of object) of a staticShape, minigame can be a tagged field of your botClient.