{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://squeebot.lunasqu.ee/pkg/service-irc/irc.schema.json", "title": "IRC Configuration", "description": "IRC Service configuration", "type": "object", "properties": { "instances": { "type": "array", "description": "List of all registered protocols", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Protocol's descriptive name" }, "irc": { "type": "object", "description": "IRC connection options", "properties": { "nick": { "type": "string", "description": "Nickname" }, "host": { "type": "string", "description": "Server host" }, "port": { "type": "integer", "description": "Server port" }, "sasl": { "type": "boolean", "description": "Use SASL authentication" }, "ssl": { "type": "boolean", "description": "Use a secure connection" }, "channels": { "type": "array", "description": "Channels to automatically join", "items": { "type": "string" }, "uniqueItems": true }, "nickserv": { "type": "object", "description": "NickServ configuration", "properties": { "enabled": { "type": "boolean", "description": "Enable NickServ user authorization" }, "command": { "type": "string", "description": "NickServ command used for authorization" } } }, "username": { "type": "string", "description": "Username displayed in WHOIS" }, "password": { "type": "string", "description": "Server or SASL password" } }, "required": ["nick", "host", "port"] } }, "required": ["name", "irc"] } } }, "required": ["instances"] }