service-irc/irc/schema.json

82 lines
2.5 KiB
JSON

{
"$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"]
}