client_id={optional=false,nmin=12,nmax=30,explanation="the ID of your Reddit app of SCRIPT type",example="fFAGRNJru1FTz70BzhT3Zg",regex="^[-a-zA-Z0-9._~+/]+=*$",input_error="The client ID can only contain printable characters.",oob_error="The ID should be over 12 and under 30 characters, double check your input."}
client_secret={optional=false,nmin=20,nmax=40,explanation="the SECRET of your Reddit app of SCRIPT type",example="fFAGRNJru1FTz70BzhT3Zg",regex="^[-a-zA-Z0-9._~+/]+=*$",input_error="The client ID can only contain printable characters.",oob_error="The secret should be over 20 and under 40 characters, double check your input."}
username={optional=false,nmin=3,nmax=20,explanation="the username of your reddit account",example="JasonLovesDoggo",regex="^[-_0-9a-zA-Z]+$",oob_error="A username HAS to be between 3 and 20 characters"}
],default=false,type="bool",explanation="If set to no, it will ask you a thread link to extract the thread, if yes it will randomize it. Default: 'False'",example="True"}
subreddit={optional=false,regex="[_0-9a-zA-Z]+$",nmin=3,explanation="what subreddit to pull posts from, the name of the sub, not the URL",example="AskReddit",oob_error="A subreddit name HAS to be between 3 and 20 characters"}
max_comment_length={default=500,optional=false,nmin=10,nmax=10000,type="int",explanation="max number of characters a comment can have. default is 500",example=500,oob_error="the max comment length should be between 10 and 10000"}
min_comments={default=20,optional=false,nmin=15,type="int",explanation="The minimum number of comments a post should have to be included. default is 20",example=29,oob_error="the minimum number of comments must be at least 15"}
times_to_run={optional=false,default=1,example=2,explanation="used if you want to run multiple times. set to an int e.g. 4 or 29 or 1",type="int",nmin=1,oob_error="It's very hard to run something less than once."}
opacity={optional=false,default=0.9,example=0.8,explanation="Sets the opacity of the comments when overlayed over the background",type="float",nmin=0,nmax=1,oob_error="The opacity HAS to be between 0 and 1",input_error="The opacity HAS to be a decimal number between 0 and 1"}
transition={optional=true,default=0.2,example=0.2,explanation="Sets the transition time (in seconds) between the comments. Set to 0 if you want to disable it.",type="float",nmin=0,nmax=2,oob_error="The transition HAS to be between 0 and 2",input_error="The opacity HAS to be a decimal number between 0 and 2"}
video_length={optional=false,default=50,example=60,explanation="Approximated final video length",type="int",nmin=15,oob_error="15 seconds is short enought"}
time_before_first_picture={optional=false,default=0.5,example=1.0,explanation="Deley before first screenshot apears",type="float",nmin=0,oob_error="Choose at least 0 second"}
time_before_tts={optional=false,default=0.5,example=1.0,explanation="Deley between screenshot and TTS",type="float",nmin=0,oob_error="Choose at least 0 second"}
time_between_pictures={optional=false,default=0.5,example=1.0,explanation="Time between every screenshot",type="float",nmin=0,oob_error="Choose at least 0 second"}
delay_before_end={optional=false,default=0.5,example=1.0,explanation="Deley before video ends",type="float",nmin=0,oob_error="Choose at least 0 second"}
video_width={optional=true,default=1080,example=1080,explanation="Final video width",type="int",nmin=600,oob_error="Choose at least 600 pixels wide"}
video_height={optional=true,default=1920,example=1920,explanation="Final video height",type="int",nmin=600,oob_error="Choose at least 600 pixels long"}
webdriver={optional=true,default="pyppeteer",example="pyppeteer",options=["pyppeteer","playwright"],explanation="Driver used to take screenshots (use pyppeteer if you have some problems with playwright)"}
background_choice={optional=true,default="minecraft",example="minecraft",options=["minecraft","gta","rocket-league","motor-gta","csgo-surf","cluster-truck",""],explanation="Sets the background for the video"}
#background_audio = { optional = true, type = "bool", default = false, example = false, options = [true,
# false,
#], explaination="Sets a audio to play in the background (put a background.mp3 file in the assets/backgrounds directory for it to be used.)" }
#background_audio_volume = { optional = true, type = "float", default = 0.3, example = 0.1, explanation="Sets the volume of the background audio. only used if the background_audio is also set to true" }
choice={optional=false,default="",options=["streamlabspolly","tiktok","googletranslate","awspolly",],example="streamlabspolly",explanation="The backend used for TTS generation. This can be left blank and you will be prompted to choose at runtime."}