@tool
extends TwitchData

# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.

## 
## #/components/schemas/AutoModSettings
class_name TwitchAutoModSettings
	
## The broadcaster’s ID.
@export var broadcaster_id: String:
	set(val): 
		broadcaster_id = val
		track_data(&"broadcaster_id", val)

## The moderator’s ID.
@export var moderator_id: String:
	set(val): 
		moderator_id = val
		track_data(&"moderator_id", val)

## The default AutoMod level for the broadcaster. This field is **null** if the broadcaster has set one or more of the individual settings.
@export var overall_level: int:
	set(val): 
		overall_level = val
		track_data(&"overall_level", val)

## The Automod level for discrimination against disability.
@export var disability: int:
	set(val): 
		disability = val
		track_data(&"disability", val)

## The Automod level for hostility involving aggression.
@export var aggression: int:
	set(val): 
		aggression = val
		track_data(&"aggression", val)

## The AutoMod level for discrimination based on sexuality, sex, or gender.
@export var sexuality_sex_or_gender: int:
	set(val): 
		sexuality_sex_or_gender = val
		track_data(&"sexuality_sex_or_gender", val)

## The Automod level for discrimination against women.
@export var misogyny: int:
	set(val): 
		misogyny = val
		track_data(&"misogyny", val)

## The Automod level for hostility involving name calling or insults.
@export var bullying: int:
	set(val): 
		bullying = val
		track_data(&"bullying", val)

## The Automod level for profanity.
@export var swearing: int:
	set(val): 
		swearing = val
		track_data(&"swearing", val)

## The Automod level for racial discrimination.
@export var race_ethnicity_or_religion: int:
	set(val): 
		race_ethnicity_or_religion = val
		track_data(&"race_ethnicity_or_religion", val)

## The Automod level for sexual content.
@export var sex_based_terms: int:
	set(val): 
		sex_based_terms = val
		track_data(&"sex_based_terms", val)
var response: BufferedHTTPClient.ResponseData


## Constructor with all required fields.
static func create(_broadcaster_id: String, _moderator_id: String, _overall_level: int, _disability: int, _aggression: int, _sexuality_sex_or_gender: int, _misogyny: int, _bullying: int, _swearing: int, _race_ethnicity_or_religion: int, _sex_based_terms: int) -> TwitchAutoModSettings:
	var twitch_auto_mod_settings: TwitchAutoModSettings = TwitchAutoModSettings.new()
	twitch_auto_mod_settings.broadcaster_id = _broadcaster_id
	twitch_auto_mod_settings.moderator_id = _moderator_id
	twitch_auto_mod_settings.overall_level = _overall_level
	twitch_auto_mod_settings.disability = _disability
	twitch_auto_mod_settings.aggression = _aggression
	twitch_auto_mod_settings.sexuality_sex_or_gender = _sexuality_sex_or_gender
	twitch_auto_mod_settings.misogyny = _misogyny
	twitch_auto_mod_settings.bullying = _bullying
	twitch_auto_mod_settings.swearing = _swearing
	twitch_auto_mod_settings.race_ethnicity_or_religion = _race_ethnicity_or_religion
	twitch_auto_mod_settings.sex_based_terms = _sex_based_terms
	return twitch_auto_mod_settings


static func from_json(d: Dictionary) -> TwitchAutoModSettings:
	var result: TwitchAutoModSettings = TwitchAutoModSettings.new()
	if d.get("broadcaster_id", null) != null:
		result.broadcaster_id = d["broadcaster_id"]
	if d.get("moderator_id", null) != null:
		result.moderator_id = d["moderator_id"]
	if d.get("overall_level", null) != null:
		result.overall_level = d["overall_level"]
	if d.get("disability", null) != null:
		result.disability = d["disability"]
	if d.get("aggression", null) != null:
		result.aggression = d["aggression"]
	if d.get("sexuality_sex_or_gender", null) != null:
		result.sexuality_sex_or_gender = d["sexuality_sex_or_gender"]
	if d.get("misogyny", null) != null:
		result.misogyny = d["misogyny"]
	if d.get("bullying", null) != null:
		result.bullying = d["bullying"]
	if d.get("swearing", null) != null:
		result.swearing = d["swearing"]
	if d.get("race_ethnicity_or_religion", null) != null:
		result.race_ethnicity_or_religion = d["race_ethnicity_or_religion"]
	if d.get("sex_based_terms", null) != null:
		result.sex_based_terms = d["sex_based_terms"]
	return result
