@tool
extends TwitchData

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

class_name TwitchBlockUser
	


## All optional parameters for TwitchAPI.block_user
## #/components/schemas/BlockUserOpt
class Opt extends TwitchData:

	## The location where the harassment took place that is causing the brodcaster to block the user. Possible values are:  
	##   
	## * chat
	## * whisper
	##   
	## .
	@export var source_context: String:
		set(val): 
			source_context = val
			track_data(&"source_context", val)
	
	## The reason that the broadcaster is blocking the user. Possible values are:  
	##   
	## * harassment
	## * spam
	## * other
	@export var reason: String:
		set(val): 
			reason = val
			track_data(&"reason", val)
	
	
	
	## Constructor with all required fields.
	static func create() -> Opt:
		var opt: Opt = Opt.new()
		return opt
	
	
	static func from_json(d: Dictionary) -> Opt:
		var result: Opt = Opt.new()
		if d.get("source_context", null) != null:
			result.source_context = d["source_context"]
		if d.get("reason", null) != null:
			result.reason = d["reason"]
		return result
	