You could make it so each segment of the circle has an id associated with it. Each segment could live under a parent with a script attached that takes an id, and calls open() on whichever child has that id. In code, that might look like:
var segments = {}
func _ready():
for c in get_children():
if "id" in c:
segments[c.id] = c
func open_segment(id):
segments[id].open()
func open_rand_segment():
var i = rand_range(0, segments.size())
open_segment(segments.keys()[i])
Of course, this varies greatly depending on implementation details.