82 lines
2.5 KiB
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"]
|
|
}
|