2024-12-26 13:47:04 +00:00
{
"$schema" : "https://json-schema.org/draft/2020-12/schema" ,
2024-12-26 14:21:59 +00:00
"id" : "https://toastielab.dev/Emotions-stuff/SupportChild/raw/branch/main/Interviews/interview_template.schema.json" ,
2024-12-26 13:47:04 +00:00
"title" : "Interview Template" ,
2024-12-27 04:29:06 +00:00
"description" : "An interview dialog tree template for SupportBoi" ,
"definitions" :
{
"step" :
{
2024-12-26 13:47:04 +00:00
"type" : "object" ,
2024-12-26 13:58:17 +00:00
"title" : "Interview Step" ,
"description" : "Contains a question, error message or end of an interview." ,
2024-12-27 04:29:06 +00:00
"properties" :
{
"heading" :
{
2024-12-26 13:47:04 +00:00
"type" : "string" ,
"title" : "Heading" ,
"description" : "The title of the message." ,
"minLength" : 1
} ,
2024-12-27 04:29:06 +00:00
"message" :
{
2024-12-26 13:47:04 +00:00
"type" : "string" ,
"title" : "Message" ,
2024-12-27 04:29:06 +00:00
"description" : "The text in the embed message that will be sent to the user when they reach this step." ,
2024-12-26 13:47:04 +00:00
"minLength" : 1
} ,
2024-12-27 04:29:06 +00:00
"message-type" :
{
2024-12-26 13:47:04 +00:00
"type" : "string" ,
"title" : "Message Type" ,
"description" : "The type of message, decides what the bot will do when the user gets to this step." ,
2024-12-27 04:29:06 +00:00
"enum" :
[
2024-12-26 13:47:04 +00:00
"ERROR" ,
"END_WITH_SUMMARY" ,
"END_WITHOUT_SUMMARY" ,
"BUTTONS" ,
"TEXT_SELECTOR" ,
"USER_SELECTOR" ,
"ROLE_SELECTOR" ,
"MENTIONABLE_SELECTOR" ,
"CHANNEL_SELECTOR" ,
"TEXT_INPUT"
]
} ,
2024-12-27 04:29:06 +00:00
"color" :
{
2024-12-26 13:47:04 +00:00
"type" : "string" ,
"title" : "Color" ,
2024-12-27 04:29:06 +00:00
"description" : "Colour of the message embed. You can either enter a colour name or a hexadecimal RGB value." ,
"examples" :
[
2024-12-26 13:47:04 +00:00
"BLACK" ,
"WHITE" ,
"GRAY" ,
"DARKGRAY" ,
"LIGHTGRAY" ,
"VERYDARKGRAY" ,
"BLURPLE" ,
"GRAYPLE" ,
"DARKBUTNOTBLACK" ,
"NOTQUITEBLACK" ,
"RED" ,
"DARKRED" ,
"GREEN" ,
"DARKGREEN" ,
"BLUE" ,
"DARKBLUE" ,
"YELLOW" ,
"CYAN" ,
"MAGENTA" ,
"TEAL" ,
"AQUAMARINE" ,
"GOLD" ,
"GOLDENROD" ,
"AZURE" ,
"ROSE" ,
"SPRINGGREEN" ,
"CHARTREUSE" ,
"ORANGE" ,
"PURPLE" ,
"VIOLET" ,
"BROWN" ,
"HOTPINK" ,
"LILAC" ,
"CORNFLOWERBLUE" ,
"MIDNIGHTBLUE" ,
"WHEAT" ,
"INDIANRED" ,
"TURQUOISE" ,
"SAPGREEN" ,
"PHTHALOBLUE" ,
"PHTHALOGREEN" ,
"SIENNA"
] ,
"minLength" : 1
} ,
2024-12-27 04:29:06 +00:00
"steps" :
{
2024-12-26 13:47:04 +00:00
"type" : "object" ,
2024-12-27 04:23:03 +00:00
"title" : "Steps" ,
2024-12-27 04:29:06 +00:00
"description" : "One or more interview steps. The name of the step is used as a regex match against the user's answer, except for selection boxes and buttons where each step becomes a button or selection option." ,
"patternProperties" :
{
".*" :
{
2024-12-26 13:47:04 +00:00
"$ref" : "#/definitions/step"
}
}
} ,
2024-12-27 04:29:06 +00:00
"summary-field" :
{
2024-12-26 13:47:04 +00:00
"type" : "string" ,
"title" : "Summary Field" ,
2024-12-27 04:29:06 +00:00
"description" : "When an interview ends all previous answers with this property will be put in a summary. If this property is not specified the answer will not be shown in the summary. The value of this property is the name which will be displayed next to the answer in the summary." ,
2024-12-26 13:47:04 +00:00
"minLength" : 1
} ,
2024-12-27 04:29:06 +00:00
"button-style" :
{
2024-12-26 13:47:04 +00:00
"type" : "string" ,
"title" : "Button Style" ,
2024-12-27 04:29:06 +00:00
"description" : "The style of the button that leads to this step. Requires that the parent step is a 'BUTTONS' step." ,
"enum" :
[
2024-12-26 13:47:04 +00:00
"PRIMARY" ,
"SECONDARY" ,
"SUCCESS" ,
"DANGER"
]
} ,
2024-12-27 04:29:06 +00:00
"selector-description" :
{
2024-12-26 13:47:04 +00:00
"type" : "string" ,
"title" : "Selector Description" ,
2024-12-27 04:29:06 +00:00
"description" : "Description for this option in the parent step's selection box. Requires that the parent step is a 'TEXT_SELECTOR'." ,
2024-12-26 13:47:04 +00:00
"minLength" : 1
} ,
2024-12-27 04:29:06 +00:00
"selector-placeholder" :
{
2024-12-27 04:23:03 +00:00
"type" : "string" ,
"title" : "Selector Placeholder" ,
2024-12-27 04:29:06 +00:00
"description" : "The placeholder text shown before a value is selected in the selection box. Requires that this step is a TEXT_SELECTOR." ,
2024-12-27 04:23:03 +00:00
"minLength" : 1
} ,
2024-12-27 04:29:06 +00:00
"max-length" :
{
2024-12-26 13:47:04 +00:00
"type" : "number" ,
"title" : "Max Length" ,
2024-12-27 04:29:06 +00:00
"description" : "The maximum length of the user's response message. Requires that this step is a 'TEXT_INPUT'." ,
2024-12-26 14:39:00 +00:00
"maximum" : 1024
2024-12-26 13:47:04 +00:00
} ,
2024-12-27 04:29:06 +00:00
"min-length" :
{
2024-12-26 13:47:04 +00:00
"type" : "number" ,
"title" : "Min Length" ,
2024-12-27 04:29:06 +00:00
"description" : "The minimum length of the user's response message. Requires that this step is a 'TEXT_INPUT'." ,
2024-12-26 14:39:00 +00:00
"minimum" : 0
2024-12-26 13:47:04 +00:00
}
} ,
2024-12-27 03:34:28 +00:00
"required" : [ "message" , "message-type" , "color" ] ,
2024-12-26 13:47:04 +00:00
"unevaluatedProperties" : false
}
} ,
"type" : "object" ,
2024-12-27 04:29:06 +00:00
"properties" :
{
"category-id" :
{
2024-12-27 05:14:20 +00:00
"type" : "number" ,
2024-12-26 13:47:04 +00:00
"title" : "Category ID" ,
2024-12-27 04:29:06 +00:00
"description" : "The id of the category this template applies to. You can change this and re-upload the template to apply it to a different category."
2024-12-26 13:47:04 +00:00
} ,
2024-12-27 04:29:06 +00:00
"interview" :
{
2024-12-26 13:47:04 +00:00
"$ref" : "#/definitions/step"
}
} ,
"required" : [ "category-id" , "interview" ] ,
"unevaluatedProperties" : false
}