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"}
password={optional=false,nmin=8,explanation="The password of your reddit account",example="fFAGRNJru1FTz70BzhT3Zg",oob_error="Password too short"}
2fa={optional=true,type="bool",options=[true,false,],default=false,explanation="Whether you have Reddit 2FA enabled, Valid options are True and False",example=true}
random={optional=true,options=[true,false,],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. You can have multiple subreddits, add an + with no spaces.",example="AskReddit+Redditdev",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_comment_length={default=1,optional=true,nmin=0,nmax=10000,type="int",explanation="min_comment_length number of characters a comment can have. default is 0",example=50,oob_error="the max comment length should be between 1 and 100"}
post_lang={default="",optional=true,explanation="The language you would like to translate to.",example="es-cr",options=['','af','ak','am','ar','as','ay','az','be','bg','bho','bm','bn','bs','ca','ceb','ckb','co','cs','cy','da','de','doi','dv','ee','el','en','en-US','eo','es','et','eu','fa','fi','fr','fy','ga','gd','gl','gn','gom','gu','ha','haw','hi','hmn','hr','ht','hu','hy','id','ig','ilo','is','it','iw','ja','jw','ka','kk','km','kn','ko','kri','ku','ky','la','lb','lg','ln','lo','lt','lus','lv','mai','mg','mi','mk','ml','mn','mni-Mtei','mr','ms','mt','my','ne','nl','no','nso','ny','om','or','pa','pl','ps','pt','qu','ro','ru','rw','sa','sd','si','sk','sl','sm','sn','so','sq','sr','st','su','sv','sw','ta','te','tg','th','ti','tk','tl','tr','ts','tt','ug','uk','ur','uz','vi','xh','yi','yo','zh-CN','zh-TW','zu']}
min_comments={default=20,optional=false,nmin=10,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 should be between 15 and 999999"}
#post_url = { optional = true, default = "", regex = "^https:\\/\\/www\\.reddit\\.com\\/r\\/[a-zA-Z0-9]+\\/comments\\/[a-zA-Z0-9]+\\/[a-zA-Z0-9_]+\\/$", explanation = "Not working currently Use if you want to use a specific post.", example = "https://www.reddit.com/r/buildapc/comments/yzh07p/have_you_switched_to_windows_11/" }
ai_similarity_enabled={optional=true,option=[true,false],default=false,type="bool",explanation="Threads read from Reddit are sorted based on their similarity to the keywords given below"}
ai_similarity_keywords={optional=true,type="str",example='Elon Musk, Twitter, Stocks',explanation="Every keyword or even sentence, seperated with comma, is used to sort the reddit threads based on similarity"}
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"}
storymode={optional=true,type="bool",default=false,example=false,options=[true,false,],explanation="Only read out title and post content, great for subreddits with stories"}
storymodemethod={optional=true,default=1,example=1,explanation="Style that's used for the storymode. Set to 0 for single picture display in whole video, set to 1 for fancy looking video ",type="int",nmin=0,oob_error="It's very hard to run something less than once.",options=[0,1]}
storymode_max_length={optional=true,default=1000,example=1000,explanation="Max length of the storymode video in characters. 200 characters are approximately 50 seconds.",type="int",nmin=1,oob_error="It's very hard to make a video under a second."}
fps={optional=false,default=30,example=30,explanation="Sets the FPS of the video, 30 is default for best performance. 60 FPS is smoother.",type="int",nmin=1,nmax=60,oob_error="The FPS HAS to be between 1 and 60"}
background_choice={optional=true,default="minecraft",example="rocket-league",options=["minecraft","gta","rocket-league","motor-gta","csgo-surf","cluster-truck","minecraft-2","multiversus","fall-guys","steep",""],explanation="Sets the background for the video based on game name"}
#background_audio = { optional = true, type = "bool", default = false, example = false, options = [true, false,], explanation = "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" }
background_thumbnail={optional=true,type="bool",default=false,example=false,options=[true,false,],explanation="Generate a thumbnail for the video (put a thumbnail.png file in the assets/backgrounds directory.)"}
background_thumbnail_font_family={optional=true,default="arial",example="arial",explanation="Font family for the thumbnail text"}
background_thumbnail_font_size={optional=true,type="int",default=96,example=96,explanation="Font size in pixels for the thumbnail text"}
background_thumbnail_font_color={optional=true,default="255,255,255",example="255,255,255",explanation="Font color in RGB format for the thumbnail text"}
voice_choice={optional=false,default="googletranslate",options=["streamlabspolly","tiktok","googletranslate","awspolly","pyttsx",],example="tiktok",explanation="The voice platform used for TTS generation. This can be left blank and you will be prompted to choose at runtime."}
aws_polly_voice={optional=true,default="Matthew",example="Matthew",explanation="The voice used for AWS Polly"}
streamlabs_polly_voice={optional=true,default="Matthew",example="Matthew",explanation="The voice used for Streamlabs Polly"}
tiktok_voice={optional=true,default="en_us_006",example="en_us_006",explanation="The voice used for TikTok TTS"}
python_voice={optional=true,default="1",example="1",explanation="The index of the system tts voices (can be downloaded externally, run ptt.py to find value, start from zero)"}
py_voice_num={optional=true,default="2",example="2",explanation="The number of system voices (2 are pre-installed in Windows)"}