@tool extends TwitchData # CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY. ## ## #/components/schemas/Prediction class_name TwitchPrediction ## An ID that identifies this prediction. @export var id: String: set(val): id = val track_data(&"id", val) ## An ID that identifies the broadcaster that created the prediction. @export var broadcaster_id: String: set(val): broadcaster_id = val track_data(&"broadcaster_id", val) ## The broadcaster’s display name. @export var broadcaster_name: String: set(val): broadcaster_name = val track_data(&"broadcaster_name", val) ## The broadcaster’s login name. @export var broadcaster_login: String: set(val): broadcaster_login = val track_data(&"broadcaster_login", val) ## The question that the prediction asks. For example, _Will I finish this entire pizza?_ @export var title: String: set(val): title = val track_data(&"title", val) ## The ID of the winning outcome. Is **null** unless `status` is RESOLVED. @export var winning_outcome_id: String: set(val): winning_outcome_id = val track_data(&"winning_outcome_id", val) ## The list of possible outcomes for the prediction. @export var outcomes: Array[TwitchPredictionOutcome]: set(val): outcomes = val track_data(&"outcomes", val) ## The length of time (in seconds) that the prediction will run for. @export var prediction_window: int: set(val): prediction_window = val track_data(&"prediction_window", val) ## The prediction’s status. Valid values are: ## ## * ACTIVE — The Prediction is running and viewers can make predictions. ## * CANCELED — The broadcaster canceled the Prediction and refunded the Channel Points to the participants. ## * LOCKED — The broadcaster locked the Prediction, which means viewers can no longer make predictions. ## * RESOLVED — The winning outcome was determined and the Channel Points were distributed to the viewers who predicted the correct outcome. @export var status: String: set(val): status = val track_data(&"status", val) ## The UTC date and time of when the Prediction began. @export var created_at: String: set(val): created_at = val track_data(&"created_at", val) ## The UTC date and time of when the Prediction ended. If `status` is ACTIVE, this is set to **null**. @export var ended_at: String: set(val): ended_at = val track_data(&"ended_at", val) ## The UTC date and time of when the Prediction was locked. If `status` is not LOCKED, this is set to **null**. @export var locked_at: String: set(val): locked_at = val track_data(&"locked_at", val) var response: BufferedHTTPClient.ResponseData ## Constructor with all required fields. static func create(_id: String, _broadcaster_id: String, _broadcaster_name: String, _broadcaster_login: String, _title: String, _winning_outcome_id: String, _outcomes: Array[TwitchPredictionOutcome], _prediction_window: int, _status: String, _created_at: String, _ended_at: String, _locked_at: String) -> TwitchPrediction: var twitch_prediction: TwitchPrediction = TwitchPrediction.new() twitch_prediction.id = _id twitch_prediction.broadcaster_id = _broadcaster_id twitch_prediction.broadcaster_name = _broadcaster_name twitch_prediction.broadcaster_login = _broadcaster_login twitch_prediction.title = _title twitch_prediction.winning_outcome_id = _winning_outcome_id twitch_prediction.outcomes = _outcomes twitch_prediction.prediction_window = _prediction_window twitch_prediction.status = _status twitch_prediction.created_at = _created_at twitch_prediction.ended_at = _ended_at twitch_prediction.locked_at = _locked_at return twitch_prediction static func from_json(d: Dictionary) -> TwitchPrediction: var result: TwitchPrediction = TwitchPrediction.new() if d.get("id", null) != null: result.id = d["id"] if d.get("broadcaster_id", null) != null: result.broadcaster_id = d["broadcaster_id"] if d.get("broadcaster_name", null) != null: result.broadcaster_name = d["broadcaster_name"] if d.get("broadcaster_login", null) != null: result.broadcaster_login = d["broadcaster_login"] if d.get("title", null) != null: result.title = d["title"] if d.get("winning_outcome_id", null) != null: result.winning_outcome_id = d["winning_outcome_id"] if d.get("outcomes", null) != null: for value in d["outcomes"]: result.outcomes.append(TwitchPredictionOutcome.from_json(value)) if d.get("prediction_window", null) != null: result.prediction_window = d["prediction_window"] if d.get("status", null) != null: result.status = d["status"] if d.get("created_at", null) != null: result.created_at = d["created_at"] if d.get("ended_at", null) != null: result.ended_at = d["ended_at"] if d.get("locked_at", null) != null: result.locked_at = d["locked_at"] return result