mirror of
https://github.com/revanced/revanced-discord-bot.git
synced 2025-04-29 22:14:28 +02:00
244 lines
5.9 KiB
JSON
244 lines
5.9 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft-07/schema",
|
|
"$id": "https://github.com/ReVancedTeam/revanced-signatures/blob/main/signatures.schema.json",
|
|
"title": "Configuration schema",
|
|
"description": "The Revanced Discord bot configuration schema.",
|
|
"type": "object",
|
|
"properties": {
|
|
"general": {
|
|
"type": "object",
|
|
"properties": {
|
|
"embed_color": {
|
|
"$ref": "#/$defs/color"
|
|
}
|
|
}
|
|
},
|
|
"administrators": {
|
|
"type": "object",
|
|
"properties": {
|
|
"roles": {
|
|
"$ref": "#/$defs/roles",
|
|
"description": "A list of role ids. Users with these roles have administrative privileges over this Discord bot."
|
|
},
|
|
"users": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"description": "A list of user ids. Users with these ids have administrative privileges over this Discord bot.",
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
}
|
|
},
|
|
"description": "The list of administrators to control the Discord bot."
|
|
},
|
|
"thread_introductions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"channels": {
|
|
"$ref": "#/$defs/channels",
|
|
"description": "A list of channel ids. The bot will only introduce in threads under these channels."
|
|
},
|
|
"response": {
|
|
"$ref": "#/$defs/response",
|
|
"description": "The response to send when the thread has been created."
|
|
}
|
|
}
|
|
},
|
|
"description": "Introduce new threads with a message.",
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"message_responses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"includes": {
|
|
"type": "object",
|
|
"channels": {
|
|
"$ref": "#/$defs/channels",
|
|
"description": "A list of channel ids. The bot will only respond to messages in these channels."
|
|
},
|
|
"match": {
|
|
"$ref": "#/$defs/match",
|
|
"description": "The message must match this regex to be responded to."
|
|
}
|
|
},
|
|
"excludes": {
|
|
"type": "object",
|
|
"roles": {
|
|
"$ref": "#/$defs/roles",
|
|
"description": "A list of role ids. The bot will not respond to messages from users with these roles."
|
|
},
|
|
"match": {
|
|
"$ref": "#/$defs/match",
|
|
"description": "Messages matching this regex will not be responded to."
|
|
}
|
|
},
|
|
"condition": {
|
|
"type": "object",
|
|
"properties": {
|
|
"user": {
|
|
"type": "object",
|
|
"properties": {
|
|
"server_age": {
|
|
"type": "integer",
|
|
"description": "The user must be less than this many days old on the server."
|
|
}
|
|
},
|
|
"description": "User condition."
|
|
}
|
|
},
|
|
"description": "The conditions to respond to the message."
|
|
},
|
|
"response": {
|
|
"$ref": "#/$defs/response",
|
|
"description": "The response to send when the message is responded to."
|
|
}
|
|
},
|
|
"description": "The conditions to respond to a message."
|
|
},
|
|
"description": "A list of responses the Discord bot should send based on given conditions."
|
|
}
|
|
},
|
|
"$defs": {
|
|
"color": {
|
|
"type": "integer",
|
|
"description": "The color of the embed."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"description": "A list of role ids.",
|
|
"uniqueItems": true,
|
|
"minItems": 1
|
|
},
|
|
"channels": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"uniqueItems": true,
|
|
"minItems": 1
|
|
},
|
|
"match": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "A list of regex strings.",
|
|
"uniqueItems": true,
|
|
"minItems": 1
|
|
},
|
|
"embed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the embed."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the embed."
|
|
},
|
|
"color": {
|
|
"$ref": "#/$defs/color",
|
|
"description": "The color of the embed."
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the field."
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"description": "The value of the field."
|
|
},
|
|
"inline": {
|
|
"type": "boolean",
|
|
"description": "Whether the field is inline."
|
|
}
|
|
},
|
|
"description": "The field to add to the embed."
|
|
},
|
|
"description": "The fields to add to the embed."
|
|
},
|
|
"image": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The url of the image."
|
|
}
|
|
},
|
|
"description": "The image to add to the embed."
|
|
},
|
|
"thumbnail": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The url of the thumbnail."
|
|
}
|
|
},
|
|
"description": "The thumbnail to add to the embed."
|
|
},
|
|
"author": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the author."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The url of the author."
|
|
},
|
|
"icon_url": {
|
|
"type": "string",
|
|
"description": "The url of the author's icon."
|
|
}
|
|
},
|
|
"description": "The author to add to the embed."
|
|
},
|
|
"footer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text of the footer."
|
|
},
|
|
"icon_url": {
|
|
"type": "string",
|
|
"description": "The url of the footer's icon."
|
|
}
|
|
},
|
|
"description": "The footer to add to the embed."
|
|
}
|
|
}
|
|
},
|
|
"response": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"description": "The message. Can be empty if the embed is not empty"
|
|
},
|
|
"embed": {
|
|
"$ref": "#/$defs/embed",
|
|
"description": "The embed to send."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|