Skip to main content

timers.json

Schema for Mudlet timers described in timers.json.

Schema URL

{
"$schema": "https://schema.gesslar.dev/muddler/v1/timers.json"
}

Array Items

This schema defines an array where each item references: #/definitions/timer

Definitions

This schema includes 1 reusable definition(s): timer

Full Schema

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schema.gesslar.dev/muddler/v1/timers.json",
"title": "Muddler Timers Schema",
"description": "Schema for Mudlet timers described in timers.json.",
"type": "array",
"items": {
"$ref": "#/definitions/timer"
},
"definitions": {
"timer": {
"allOf": [
{
"$ref": "https://schema.gesslar.dev/muddler/v1/common.json#/$defs/nodeBase"
},
{
"type": "object",
"properties": {
"isActive": {
"description": "Yes if this timer will automatically load, no otherwise."
},
"isFolder": {
"description": "Yes if this is a folder, no otherwise."
},
"command": {
"$ref": "https://schema.gesslar.dev/muddler/v1/common.json#/$defs/commandString",
"description": "Command text (optional convenience alongside script)."
},
"time": {
"$ref": "https://schema.gesslar.dev/muddler/v1/common.json#/$defs/durationString",
"description": "Timer duration. If omitted, constructed from hours/minutes/seconds/milliseconds."
},
"hours": {
"$ref": "https://schema.gesslar.dev/muddler/v1/common.json#/$defs/hours23",
"description": "Hours component (0-23)."
},
"minutes": {
"$ref": "https://schema.gesslar.dev/muddler/v1/common.json#/$defs/minutes59",
"description": "Minutes component (0-59)."
},
"seconds": {
"$ref": "https://schema.gesslar.dev/muddler/v1/common.json#/$defs/minutes59",
"description": "Seconds component (0-59)."
},
"milliseconds": {
"$ref": "https://schema.gesslar.dev/muddler/v1/common.json#/$defs/milliseconds999",
"description": "Milliseconds component (0-999)."
},
"children": {
"type": "array",
"description": "Nested timers when used as a folder (isFolder=yes).",
"items": {
"$ref": "#/definitions/timer"
}
}
}
}
],
"unevaluatedProperties": false
}
}
}