From d42191310404217c5890bea6af4b16c916d70533 Mon Sep 17 00:00:00 2001 From: Evert Prants Date: Sat, 2 Oct 2021 15:10:13 +0300 Subject: [PATCH] plugin configuration schemas --- calendar/schema.json | 43 +++++++++++++++++++++++++++++++++++++++++ debug/schema.json | 12 ++++++++++++ diction/schema.json | 22 +++++++++++++++++++++ fun/schema.json | 24 +++++++++++++++++++++++ gamedig/schema.json | 39 +++++++++++++++++++++++++++++++++++++ timezone/schema.json | 14 ++++++++++++++ url-twitter/schema.json | 26 +++++++++++++++++++++++++ urlreply/schema.json | 24 +++++++++++++++++++++++ utility/schema.json | 18 +++++++++++++++++ 9 files changed, 222 insertions(+) create mode 100644 calendar/schema.json create mode 100644 debug/schema.json create mode 100644 diction/schema.json create mode 100644 fun/schema.json create mode 100644 gamedig/schema.json create mode 100644 timezone/schema.json create mode 100644 url-twitter/schema.json create mode 100644 urlreply/schema.json create mode 100644 utility/schema.json diff --git a/calendar/schema.json b/calendar/schema.json new file mode 100644 index 0000000..95f1b24 --- /dev/null +++ b/calendar/schema.json @@ -0,0 +1,43 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://squeebot.lunasqu.ee/pkg/plugins-evert/calendar.schema.json", + "title": "calendar", + "description": "calendar plugin configuration", + "type": "object", + "properties": { + "calendars": { + "type": "array", + "description": "List of all registered protocols", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Calendar name" + }, + "url": { + "type": "string", + "description": "iCal URL" + }, + "rooms": { + "type": "array", + "description": "Rooms this calendar is accessible from", + "items": { + "type": "string" + } + }, + "timeFrame": { + "type": "integer", + "description": "Time frame in seconds to display events from" + } + }, + "required": ["name", "url", "rooms", "timeFrame"] + } + }, + "updateInterval": { + "type": "string", + "description": "CRON expression for update task" + } + }, + "required": ["calendars", "updateInterval"] +} diff --git a/debug/schema.json b/debug/schema.json new file mode 100644 index 0000000..d05cade --- /dev/null +++ b/debug/schema.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://squeebot.lunasqu.ee/pkg/plugins-evert/debug.schema.json", + "title": "debug", + "description": "debug plugin configuration", + "type": "object", + "properties": { + "allowShell": { + "type": "boolean" + } + } +} diff --git a/diction/schema.json b/diction/schema.json new file mode 100644 index 0000000..f54c1ad --- /dev/null +++ b/diction/schema.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://squeebot.lunasqu.ee/pkg/plugins-evert/diction.schema.json", + "title": "diction", + "description": "diction plugin configuration", + "type": "object", + "properties": { + "wordnik": { + "type": "string", + "description": "Wordnik API token" + }, + "cooldown": { + "type": "integer", + "description": "Allowed time in seconds between requests" + }, + "limit": { + "type": "integer", + "description": "Number of results to fetch" + } + }, + "required": ["wordnik"] +} diff --git a/fun/schema.json b/fun/schema.json new file mode 100644 index 0000000..cfbcf07 --- /dev/null +++ b/fun/schema.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://squeebot.lunasqu.ee/pkg/plugins-evert/fun.schema.json", + "title": "fun", + "description": "fun plugin configuration", + "type": "object", + "properties": { + "simpleReplies": { + "type": "array", + "items": { + "type": "object", + "patternProperties": { + ".*": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": ["simpleReplies"] +} diff --git a/gamedig/schema.json b/gamedig/schema.json new file mode 100644 index 0000000..eb997c0 --- /dev/null +++ b/gamedig/schema.json @@ -0,0 +1,39 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://squeebot.lunasqu.ee/pkg/plugins-evert/gamedig.schema.json", + "title": "gamedig", + "description": "gamedig plugin configuration", + "type": "object", + "properties": { + "games": { + "type": "array", + "description": "List of games", + "items": { + "type": "object", + "properties": { + "game": { + "type": "string", + "description": "gamedig game name" + }, + "host": { + "type": "string", + "description": "Game server host" + }, + "port": { + "type": "integer", + "description": "Game server port" + }, + "rooms": { + "type": "array", + "description": "Rooms to register command in", + "items": { + "type": "string" + } + } + }, + "required": ["game", "host", "rooms"] + } + } + }, + "required": ["games"] +} diff --git a/timezone/schema.json b/timezone/schema.json new file mode 100644 index 0000000..8aa9487 --- /dev/null +++ b/timezone/schema.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://squeebot.lunasqu.ee/pkg/plugins-evert/timezone.schema.json", + "title": "timezone", + "description": "timezone plugin configuration", + "type": "object", + "properties": { + "timezone": { + "description": "Default time zone", + "type": "string" + } + }, + "required": ["timezone"] +} diff --git a/url-twitter/schema.json b/url-twitter/schema.json new file mode 100644 index 0000000..62b5ad7 --- /dev/null +++ b/url-twitter/schema.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://squeebot.lunasqu.ee/pkg/plugins-evert/url-twitter.schema.json", + "title": "url-twitter", + "description": "url-twitter plugin configuration", + "type": "object", + "properties": { + "consumer_key": { + "type": "string", + "description": "Twitter Consumer Key" + }, + "consumer_secret": { + "type": "string", + "description": "Twitter Consumer Secret" + }, + "access_token_key": { + "type": "string", + "description": "Twitter Access Token Key" + }, + "access_token_secret": { + "type": "string", + "description": "Twitter Access Token Secret" + } + }, + "required": ["consumer_key", "consumer_secret", "access_token_key", "access_token_secret"] +} diff --git a/urlreply/schema.json b/urlreply/schema.json new file mode 100644 index 0000000..20cbfd6 --- /dev/null +++ b/urlreply/schema.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://squeebot.lunasqu.ee/pkg/plugins-evert/urlreply.schema.json", + "title": "urlreply", + "description": "urlreply plugin configuration", + "type": "object", + "properties": { + "tokens": { + "type": "object", + "description": "Tokens for services", + "properties": { + "google": { + "type": "string", + "description": "Google API token" + }, + "soundcloud": { + "type": "string", + "description": "Soundcloud API token" + } + } + } + }, + "required": ["tokens"] +} diff --git a/utility/schema.json b/utility/schema.json new file mode 100644 index 0000000..241909f --- /dev/null +++ b/utility/schema.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://squeebot.lunasqu.ee/pkg/plugins-evert/utility.schema.json", + "title": "utility", + "description": "utility plugin configuration", + "type": "object", + "properties": { + "ipfsGateway": { + "type": "string", + "description": "IPFS gateway" + }, + "randomMax": { + "type": "integer", + "description": "Max number of allowed random numbers" + } + }, + "required": ["ipfsGateway", "randomMax"] +}