@tool extends TwitchData # CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY. class_name TwitchCreatePrediction ## ## #/components/schemas/CreatePredictionBody class Body extends TwitchData: ## The ID of the broadcaster that’s running the prediction. This ID must match the user ID in the user access token. @export var broadcaster_id: String: set(val): broadcaster_id = val track_data(&"broadcaster_id", val) ## The question that the broadcaster is asking. For example, _Will I finish this entire pizza?_ The title is limited to a maximum of 45 characters. @export var title: String: set(val): title = val track_data(&"title", val) ## The list of possible outcomes that the viewers may choose from. The list must contain a minimum of 2 choices and up to a maximum of 10 choices. @export var outcomes: Array[BodyOutcomes]: set(val): outcomes = val track_data(&"outcomes", val) ## The length of time (in seconds) that the prediction will run for. The minimum is 30 seconds and the maximum is 1800 seconds (30 minutes). @export var prediction_window: int: set(val): prediction_window = val track_data(&"prediction_window", val) var response: BufferedHTTPClient.ResponseData ## Constructor with all required fields. static func create(_broadcaster_id: String, _title: String, _outcomes: Array[BodyOutcomes], _prediction_window: int) -> Body: var body: Body = Body.new() body.broadcaster_id = _broadcaster_id body.title = _title body.outcomes = _outcomes body.prediction_window = _prediction_window return body static func from_json(d: Dictionary) -> Body: var result: Body = Body.new() if d.get("broadcaster_id", null) != null: result.broadcaster_id = d["broadcaster_id"] if d.get("title", null) != null: result.title = d["title"] if d.get("outcomes", null) != null: for value in d["outcomes"]: result.outcomes.append(BodyOutcomes.from_json(value)) if d.get("prediction_window", null) != null: result.prediction_window = d["prediction_window"] return result ## The list of possible outcomes that the viewers may choose from. The list must contain a minimum of 2 choices and up to a maximum of 10 choices. ## #/components/schemas/CreatePredictionBody/Outcomes class BodyOutcomes extends TwitchData: ## The text of one of the outcomes that the viewer may select. The title is limited to a maximum of 25 characters. @export var title: String: set(val): title = val track_data(&"title", val) ## Constructor with all required fields. static func create(_title: String) -> BodyOutcomes: var body_outcomes: BodyOutcomes = BodyOutcomes.new() body_outcomes.title = _title return body_outcomes static func from_json(d: Dictionary) -> BodyOutcomes: var result: BodyOutcomes = BodyOutcomes.new() if d.get("title", null) != null: result.title = d["title"] return result ## ## #/components/schemas/CreatePredictionResponse class Response extends TwitchData: ## A list that contains the single prediction that you created. @export var data: Array[TwitchPrediction]: set(val): data = val track_data(&"data", val) var response: BufferedHTTPClient.ResponseData ## Constructor with all required fields. static func create(_data: Array[TwitchPrediction]) -> Response: var response: Response = Response.new() response.data = _data return response static func from_json(d: Dictionary) -> Response: var result: Response = Response.new() if d.get("data", null) != null: for value in d["data"]: result.data.append(TwitchPrediction.from_json(value)) return result