123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- {
- "$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"
- },
- "mute": {
- "type": "object",
- "properties": {
- "role": {
- "type": "integer",
- "description": "The id of the role."
- },
- "take": {
- "$ref": "#/$defs/roles"
- }
- }
- },
- "media_channels": {
- "$ref": "#/$defs/channels",
- "description": "A list of channel ids where only media is allowed."
- },
- "logging_channel": {
- "type": "integer",
- "description": "The id of the channel to send logs to."
- }
- }
- },
- "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": {
- "$ref": "#/$defs/users",
- "description": "A list of user ids. Users with these ids have administrative privileges over this Discord bot."
- }
- },
- "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.",
- "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."
- },
- "users": {
- "$ref": "#/$defs/ids"
- },
- "roles": {
- "$ref": "#/$defs/ids"
- },
- "channels": {
- "$ref": "#/$defs/ids"
- },
- "ids": {
- "type": "array",
- "items": {
- "type": "integer"
- },
- "uniqueItems": true
- },
- "match": {
- "$ref": "#/$defs/regex",
- "description": "A list of regex strings."
- },
- "regex": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "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."
- }
- }
- }
- }
- }
|