From 65667e396558166bc8f079264df3380d6408f861 Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Sun, 1 Jun 2025 01:39:30 +0000 Subject: [PATCH] chore: update config-schema.json for config-checker --- config-checker/public/config-schema.json | 7990 +++++++++++++++------- 1 file changed, 5572 insertions(+), 2418 deletions(-) diff --git a/config-checker/public/config-schema.json b/config-checker/public/config-schema.json index b8a98013..4214b9f3 100644 --- a/config-checker/public/config-schema.json +++ b/config-checker/public/config-schema.json @@ -188,17 +188,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -546,6 +546,10 @@ "required": [], "additionalProperties": false }, + "include_malicious": { + "default": false, + "type": "boolean" + }, "only_real_links": { "default": true, "type": "boolean" @@ -1651,158 +1655,7 @@ "type": "string" }, { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [ - "text" - ] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "name" - ] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [ - "name" - ] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } - }, - "required": [] + "$ref": "#/$defs/strictMessageContent" } ] }, @@ -1874,10 +1727,18 @@ "type": "object", "properties": { "channels": { - "type": "array", - "items": { - "type": "string" - } + "default": [], + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] }, "duration": { "default": "10s", @@ -1892,9 +1753,7 @@ ] } }, - "required": [ - "channels" - ], + "required": [], "additionalProperties": false }, "start_thread": { @@ -1973,111 +1832,920 @@ }, "perms": { "type": "object", - "propertyNames": { - "enum": [ - "CreateInstantInvite", - "KickMembers", - "BanMembers", - "Administrator", - "ManageChannels", - "ManageGuild", - "AddReactions", - "ViewAuditLog", - "PrioritySpeaker", - "Stream", - "ViewChannel", - "SendMessages", - "SendTTSMessages", - "ManageMessages", - "EmbedLinks", - "AttachFiles", - "ReadMessageHistory", - "MentionEveryone", - "UseExternalEmojis", - "ViewGuildInsights", - "Connect", - "Speak", - "MuteMembers", - "DeafenMembers", - "MoveMembers", - "UseVAD", - "ChangeNickname", - "ManageNicknames", - "ManageRoles", - "ManageWebhooks", - "ManageEmojisAndStickers", - "ManageGuildExpressions", - "UseApplicationCommands", - "RequestToSpeak", - "ManageEvents", - "ManageThreads", - "CreatePublicThreads", - "CreatePrivateThreads", - "UseExternalStickers", - "SendMessagesInThreads", - "UseEmbeddedActivities", - "ModerateMembers", - "ViewCreatorMonetizationAnalytics", - "UseSoundboard", - "CreateGuildExpressions", - "CreateEvents", - "UseExternalSounds", - "SendVoiceMessages", - "SendPolls", - "UseExternalApps", - "CREATE_INSTANT_INVITE", - "KICK_MEMBERS", - "BAN_MEMBERS", - "ADMINISTRATOR", - "MANAGE_CHANNELS", - "MANAGE_GUILD", - "ADD_REACTIONS", - "VIEW_AUDIT_LOG", - "PRIORITY_SPEAKER", - "STREAM", - "VIEW_CHANNEL", - "SEND_MESSAGES", - "SEND_TTSMESSAGES", - "MANAGE_MESSAGES", - "EMBED_LINKS", - "ATTACH_FILES", - "READ_MESSAGE_HISTORY", - "MENTION_EVERYONE", - "USE_EXTERNAL_EMOJIS", - "VIEW_GUILD_INSIGHTS", - "CONNECT", - "SPEAK", - "MUTE_MEMBERS", - "DEAFEN_MEMBERS", - "MOVE_MEMBERS", - "USE_VAD", - "CHANGE_NICKNAME", - "MANAGE_NICKNAMES", - "MANAGE_ROLES", - "MANAGE_WEBHOOKS", - "MANAGE_EMOJIS_AND_STICKERS", - "USE_APPLICATION_COMMANDS", - "REQUEST_TO_SPEAK", - "MANAGE_EVENTS", - "MANAGE_THREADS", - "CREATE_PUBLIC_THREADS", - "CREATE_PRIVATE_THREADS", - "USE_EXTERNAL_STICKERS", - "SEND_MESSAGES_IN_THREADS", - "USE_EMBEDDED_ACTIVITIES", - "MODERATE_MEMBERS" - ] + "properties": { + "CreateInstantInvite": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "KickMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "BanMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "Administrator": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageChannels": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageGuild": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "AddReactions": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ViewAuditLog": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "PrioritySpeaker": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "Stream": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ViewChannel": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendMessages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendTTSMessages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageMessages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "EmbedLinks": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "AttachFiles": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ReadMessageHistory": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MentionEveryone": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseExternalEmojis": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ViewGuildInsights": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "Connect": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "Speak": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MuteMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "DeafenMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MoveMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseVAD": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ChangeNickname": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageNicknames": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageRoles": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageWebhooks": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageEmojisAndStickers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageGuildExpressions": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseApplicationCommands": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "RequestToSpeak": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageEvents": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageThreads": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CreatePublicThreads": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CreatePrivateThreads": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseExternalStickers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendMessagesInThreads": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseEmbeddedActivities": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ModerateMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ViewCreatorMonetizationAnalytics": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseSoundboard": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CreateGuildExpressions": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CreateEvents": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseExternalSounds": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendVoiceMessages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendPolls": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseExternalApps": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CREATE_INSTANT_INVITE": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "KICK_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "BAN_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ADMINISTRATOR": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_CHANNELS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_GUILD": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ADD_REACTIONS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "VIEW_AUDIT_LOG": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "PRIORITY_SPEAKER": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "STREAM": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "VIEW_CHANNEL": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SEND_MESSAGES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SEND_TTSMESSAGES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_MESSAGES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "EMBED_LINKS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ATTACH_FILES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "READ_MESSAGE_HISTORY": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MENTION_EVERYONE": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_EXTERNAL_EMOJIS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "VIEW_GUILD_INSIGHTS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CONNECT": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SPEAK": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MUTE_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "DEAFEN_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MOVE_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_VAD": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CHANGE_NICKNAME": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_NICKNAMES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_ROLES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_WEBHOOKS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_EMOJIS_AND_STICKERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_APPLICATION_COMMANDS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "REQUEST_TO_SPEAK": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_EVENTS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_THREADS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CREATE_PUBLIC_THREADS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CREATE_PRIVATE_THREADS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_EXTERNAL_STICKERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SEND_MESSAGES_IN_THREADS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_EMBEDDED_ACTIVITIES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MODERATE_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } }, - "additionalProperties": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } + "required": [], + "additionalProperties": false } }, "required": [ @@ -2288,17 +2956,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -2613,6 +3281,10 @@ "required": [], "additionalProperties": false }, + "include_malicious": { + "default": false, + "type": "boolean" + }, "only_real_links": { "default": true, "type": "boolean" @@ -3677,152 +4349,7 @@ "type": "string" }, { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } - }, - "required": [] + "$ref": "#/$defs/strictMessageContent" } ] }, @@ -3886,10 +4413,18 @@ "type": "object", "properties": { "channels": { - "type": "array", - "items": { - "type": "string" - } + "default": [], + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] }, "duration": { "default": "10s", @@ -3980,111 +4515,920 @@ }, "perms": { "type": "object", - "propertyNames": { - "enum": [ - "CreateInstantInvite", - "KickMembers", - "BanMembers", - "Administrator", - "ManageChannels", - "ManageGuild", - "AddReactions", - "ViewAuditLog", - "PrioritySpeaker", - "Stream", - "ViewChannel", - "SendMessages", - "SendTTSMessages", - "ManageMessages", - "EmbedLinks", - "AttachFiles", - "ReadMessageHistory", - "MentionEveryone", - "UseExternalEmojis", - "ViewGuildInsights", - "Connect", - "Speak", - "MuteMembers", - "DeafenMembers", - "MoveMembers", - "UseVAD", - "ChangeNickname", - "ManageNicknames", - "ManageRoles", - "ManageWebhooks", - "ManageEmojisAndStickers", - "ManageGuildExpressions", - "UseApplicationCommands", - "RequestToSpeak", - "ManageEvents", - "ManageThreads", - "CreatePublicThreads", - "CreatePrivateThreads", - "UseExternalStickers", - "SendMessagesInThreads", - "UseEmbeddedActivities", - "ModerateMembers", - "ViewCreatorMonetizationAnalytics", - "UseSoundboard", - "CreateGuildExpressions", - "CreateEvents", - "UseExternalSounds", - "SendVoiceMessages", - "SendPolls", - "UseExternalApps", - "CREATE_INSTANT_INVITE", - "KICK_MEMBERS", - "BAN_MEMBERS", - "ADMINISTRATOR", - "MANAGE_CHANNELS", - "MANAGE_GUILD", - "ADD_REACTIONS", - "VIEW_AUDIT_LOG", - "PRIORITY_SPEAKER", - "STREAM", - "VIEW_CHANNEL", - "SEND_MESSAGES", - "SEND_TTSMESSAGES", - "MANAGE_MESSAGES", - "EMBED_LINKS", - "ATTACH_FILES", - "READ_MESSAGE_HISTORY", - "MENTION_EVERYONE", - "USE_EXTERNAL_EMOJIS", - "VIEW_GUILD_INSIGHTS", - "CONNECT", - "SPEAK", - "MUTE_MEMBERS", - "DEAFEN_MEMBERS", - "MOVE_MEMBERS", - "USE_VAD", - "CHANGE_NICKNAME", - "MANAGE_NICKNAMES", - "MANAGE_ROLES", - "MANAGE_WEBHOOKS", - "MANAGE_EMOJIS_AND_STICKERS", - "USE_APPLICATION_COMMANDS", - "REQUEST_TO_SPEAK", - "MANAGE_EVENTS", - "MANAGE_THREADS", - "CREATE_PUBLIC_THREADS", - "CREATE_PRIVATE_THREADS", - "USE_EXTERNAL_STICKERS", - "SEND_MESSAGES_IN_THREADS", - "USE_EMBEDDED_ACTIVITIES", - "MODERATE_MEMBERS" - ] + "properties": { + "CreateInstantInvite": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "KickMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "BanMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "Administrator": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageChannels": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageGuild": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "AddReactions": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ViewAuditLog": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "PrioritySpeaker": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "Stream": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ViewChannel": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendMessages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendTTSMessages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageMessages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "EmbedLinks": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "AttachFiles": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ReadMessageHistory": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MentionEveryone": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseExternalEmojis": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ViewGuildInsights": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "Connect": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "Speak": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MuteMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "DeafenMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MoveMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseVAD": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ChangeNickname": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageNicknames": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageRoles": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageWebhooks": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageEmojisAndStickers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageGuildExpressions": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseApplicationCommands": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "RequestToSpeak": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageEvents": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ManageThreads": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CreatePublicThreads": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CreatePrivateThreads": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseExternalStickers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendMessagesInThreads": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseEmbeddedActivities": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ModerateMembers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ViewCreatorMonetizationAnalytics": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseSoundboard": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CreateGuildExpressions": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CreateEvents": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseExternalSounds": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendVoiceMessages": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SendPolls": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "UseExternalApps": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CREATE_INSTANT_INVITE": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "KICK_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "BAN_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ADMINISTRATOR": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_CHANNELS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_GUILD": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ADD_REACTIONS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "VIEW_AUDIT_LOG": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "PRIORITY_SPEAKER": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "STREAM": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "VIEW_CHANNEL": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SEND_MESSAGES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SEND_TTSMESSAGES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_MESSAGES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "EMBED_LINKS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "ATTACH_FILES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "READ_MESSAGE_HISTORY": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MENTION_EVERYONE": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_EXTERNAL_EMOJIS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "VIEW_GUILD_INSIGHTS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CONNECT": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SPEAK": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MUTE_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "DEAFEN_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MOVE_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_VAD": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CHANGE_NICKNAME": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_NICKNAMES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_ROLES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_WEBHOOKS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_EMOJIS_AND_STICKERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_APPLICATION_COMMANDS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "REQUEST_TO_SPEAK": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_EVENTS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MANAGE_THREADS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CREATE_PUBLIC_THREADS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "CREATE_PRIVATE_THREADS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_EXTERNAL_STICKERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "SEND_MESSAGES_IN_THREADS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "USE_EMBEDDED_ACTIVITIES": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "MODERATE_MEMBERS": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } }, - "additionalProperties": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } + "required": [], + "additionalProperties": false } }, "required": [], @@ -4311,17 +5655,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -4379,22 +5723,37 @@ "anyOf": [ { "type": "object", - "propertyNames": { - "enum": [ - "ban", - "unban", - "note", - "warn", - "kick", - "mute", - "unmute", - "deleted", - "softban" - ] + "properties": { + "ban": { + "type": "string" + }, + "unban": { + "type": "string" + }, + "note": { + "type": "string" + }, + "warn": { + "type": "string" + }, + "kick": { + "type": "string" + }, + "mute": { + "type": "string" + }, + "unmute": { + "type": "string" + }, + "deleted": { + "type": "string" + }, + "softban": { + "type": "string" + } }, - "additionalProperties": { - "type": "string" - } + "required": [], + "additionalProperties": false }, { "type": "null" @@ -4406,22 +5765,37 @@ "anyOf": [ { "type": "object", - "propertyNames": { - "enum": [ - "ban", - "unban", - "note", - "warn", - "kick", - "mute", - "unmute", - "deleted", - "softban" - ] + "properties": { + "ban": { + "type": "string" + }, + "unban": { + "type": "string" + }, + "note": { + "type": "string" + }, + "warn": { + "type": "string" + }, + "kick": { + "type": "string" + }, + "mute": { + "type": "string" + }, + "unmute": { + "type": "string" + }, + "deleted": { + "type": "string" + }, + "softban": { + "type": "string" + } }, - "additionalProperties": { - "type": "string" - } + "required": [], + "additionalProperties": false }, { "type": "null" @@ -4585,17 +5959,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -4629,22 +6003,37 @@ "anyOf": [ { "type": "object", - "propertyNames": { - "enum": [ - "ban", - "unban", - "note", - "warn", - "kick", - "mute", - "unmute", - "deleted", - "softban" - ] + "properties": { + "ban": { + "type": "string" + }, + "unban": { + "type": "string" + }, + "note": { + "type": "string" + }, + "warn": { + "type": "string" + }, + "kick": { + "type": "string" + }, + "mute": { + "type": "string" + }, + "unmute": { + "type": "string" + }, + "deleted": { + "type": "string" + }, + "softban": { + "type": "string" + } }, - "additionalProperties": { - "type": "string" - } + "required": [], + "additionalProperties": false }, { "type": "null" @@ -4656,22 +6045,37 @@ "anyOf": [ { "type": "object", - "propertyNames": { - "enum": [ - "ban", - "unban", - "note", - "warn", - "kick", - "mute", - "unmute", - "deleted", - "softban" - ] + "properties": { + "ban": { + "type": "string" + }, + "unban": { + "type": "string" + }, + "note": { + "type": "string" + }, + "warn": { + "type": "string" + }, + "kick": { + "type": "string" + }, + "mute": { + "type": "string" + }, + "unmute": { + "type": "string" + }, + "deleted": { + "type": "string" + }, + "softban": { + "type": "string" + } }, - "additionalProperties": { - "type": "string" - } + "required": [], + "additionalProperties": false }, { "type": "null" @@ -4998,17 +6402,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -5377,17 +6781,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -5617,17 +7021,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -5759,16 +7163,37 @@ ] }, "can_view": { - "default": false, - "type": "boolean" + "default": null, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "can_edit": { - "default": false, - "type": "boolean" + "default": null, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "can_reset_all": { - "default": false, - "type": "boolean" + "default": null, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -5946,17 +7371,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -6055,16 +7480,37 @@ ] }, "can_view": { - "default": false, - "type": "boolean" + "default": null, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "can_edit": { - "default": false, - "type": "boolean" + "default": null, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "can_reset_all": { - "default": false, - "type": "boolean" + "default": null, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } }, "required": [], @@ -6500,17 +7946,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -6888,17 +8334,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -7079,17 +8525,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "default": {}, @@ -7277,17 +8723,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -7444,243 +8890,802 @@ "format": { "default": {}, "type": "object", - "propertyNames": { - "enum": [ - "MEMBER_WARN", - "MEMBER_MUTE", - "MEMBER_UNMUTE", - "MEMBER_MUTE_EXPIRED", - "MEMBER_KICK", - "MEMBER_BAN", - "MEMBER_UNBAN", - "MEMBER_FORCEBAN", - "MEMBER_SOFTBAN", - "MEMBER_JOIN", - "MEMBER_LEAVE", - "MEMBER_ROLE_ADD", - "MEMBER_ROLE_REMOVE", - "MEMBER_NICK_CHANGE", - "MEMBER_USERNAME_CHANGE", - "MEMBER_RESTORE", - "CHANNEL_CREATE", - "CHANNEL_DELETE", - "CHANNEL_UPDATE", - "THREAD_CREATE", - "THREAD_DELETE", - "THREAD_UPDATE", - "ROLE_CREATE", - "ROLE_DELETE", - "ROLE_UPDATE", - "MESSAGE_EDIT", - "MESSAGE_DELETE", - "MESSAGE_DELETE_BULK", - "MESSAGE_DELETE_BARE", - "VOICE_CHANNEL_JOIN", - "VOICE_CHANNEL_LEAVE", - "VOICE_CHANNEL_MOVE", - "STAGE_INSTANCE_CREATE", - "STAGE_INSTANCE_DELETE", - "STAGE_INSTANCE_UPDATE", - "EMOJI_CREATE", - "EMOJI_DELETE", - "EMOJI_UPDATE", - "STICKER_CREATE", - "STICKER_DELETE", - "STICKER_UPDATE", - "COMMAND", - "MESSAGE_SPAM_DETECTED", - "CENSOR", - "CLEAN", - "CASE_CREATE", - "MASSUNBAN", - "MASSBAN", - "MASSMUTE", - "MEMBER_TIMED_MUTE", - "MEMBER_TIMED_UNMUTE", - "MEMBER_TIMED_BAN", - "MEMBER_TIMED_UNBAN", - "MEMBER_JOIN_WITH_PRIOR_RECORDS", - "OTHER_SPAM_DETECTED", - "MEMBER_ROLE_CHANGES", - "VOICE_CHANNEL_FORCE_MOVE", - "VOICE_CHANNEL_FORCE_DISCONNECT", - "CASE_UPDATE", - "MEMBER_MUTE_REJOIN", - "SCHEDULED_MESSAGE", - "POSTED_SCHEDULED_MESSAGE", - "BOT_ALERT", - "AUTOMOD_ACTION", - "SCHEDULED_REPEATED_MESSAGE", - "REPEATED_MESSAGE", - "MESSAGE_DELETE_AUTO", - "SET_ANTIRAID_USER", - "SET_ANTIRAID_AUTO", - "MEMBER_NOTE", - "CASE_DELETE", - "DM_FAILED" - ] - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [ - "text" - ] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "name" - ] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [ - "name" - ] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } + "properties": { + "MEMBER_WARN": { + "default": "{timestamp} ⚠️ {userMention(member)} was warned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" }, - "required": [] - } - ] - } + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE": { + "default": "{timestamp} 🔇 {userMention(user)} was muted indefinitely by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_UNMUTE": { + "default": "{timestamp} 🔊 {userMention(user)} was unmuted by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE_EXPIRED": { + "default": "{timestamp} 🔊 {userMention(member)}'s mute expired", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_KICK": { + "default": "{timestamp} 👢 {userMention(user)} was kicked by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_BAN": { + "default": "{timestamp} 🔨 {userMention(user)} was banned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_UNBAN": { + "default": "{timestamp} 🔓 User (`{userId}`) was unbanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_FORCEBAN": { + "default": "{timestamp} 🔨 User (`{userId}`) was forcebanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_SOFTBAN": { + "default": "{timestamp} 🔨 {userMention(member)} was softbanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_JOIN": { + "default": "{timestamp} 📥 {new} {userMention(member)} joined (created )", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_LEAVE": { + "default": "{timestamp} 📤 {userMention(member)} left the server", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_ADD": { + "default": "{timestamp} 🔑 {userMention(mod)} added roles for {userMention(member)}: **{roles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_REMOVE": { + "default": "{timestamp} 🔑 {userMention(mod)} removed roles from {userMention(member)}: **{roles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_NICK_CHANGE": { + "default": "{timestamp} ✏ {userMention(member)}: nickname changed from **{oldNick}** to **{newNick}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_USERNAME_CHANGE": { + "default": "{timestamp} ✏ {userMention(user)}: username changed from **{oldName}** to **{newName}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_RESTORE": { + "default": "{timestamp} 💿 Restored {restoredData} for {userMention(member)} on rejoin", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_CREATE": { + "default": "{timestamp} 🖊 Channel {channelMention(channel)} was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_DELETE": { + "default": "{timestamp} 🗑 Channel {channelMention(channel)} was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_UPDATE": { + "default": "{timestamp} ✏ Channel {channelMention(newChannel)} was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_CREATE": { + "default": "{timestamp} 🖊 Thread {channelMention(thread)} was created in channel <#{thread.parentId}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_DELETE": { + "default": "{timestamp} 🗑 Thread {channelMention(thread)} was deleted/archived from channel <#{thread.parentId}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_UPDATE": { + "default": "{timestamp} ✏ Thread {channelMention(newThread)} was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_CREATE": { + "default": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_DELETE": { + "default": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_UPDATE": { + "default": "{timestamp} 🖊 Role **{newRole.name}** (`{newRole.id}`) was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_EDIT": { + "default": "{timestamp} ✏ {userMention(user)} edited their message (`{after.id}`) in {channelMention(channel)}:\n**Before:**{messageSummary(before)}**After:**{messageSummary(after)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE": { + "default": "{timestamp} 🗑 Message (`{message.id}`) from {userMention(user)} deleted in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_BULK": { + "default": "{timestamp} 🗑 **{count}** messages by {authorIds} deleted in {channelMention(channel)} ({archiveUrl})", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_BARE": { + "default": "{timestamp} 🗑 Message (`{messageId}`) deleted in {channelMention(channel)} (no more info available)", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_JOIN": { + "default": "{timestamp} 🎙 🔵 {userMention(member)} joined {channelMention(channel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_LEAVE": { + "default": "{timestamp} 🎙 🔴 {userMention(member)} left {channelMention(channel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_MOVE": { + "default": "{timestamp} 🎙 ↔ {userMention(member)} moved from {channelMention(oldChannel)} to {channelMention(newChannel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_CREATE": { + "default": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was created in Stage Channel <#{stageChannel.id}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_DELETE": { + "default": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was deleted in Stage Channel <#{stageChannel.id}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_UPDATE": { + "default": "{timestamp} 📣 Stage Instance `{newStageInstance.topic}` was edited in Stage Channel <#{stageChannel.id}>. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_CREATE": { + "default": "{timestamp} {emoji.mention} Emoji **{emoji.name}** (`{emoji.id}`) was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_DELETE": { + "default": "{timestamp} 👋 Emoji **{emoji.name}** (`{emoji.id}`) was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_UPDATE": { + "default": "{timestamp} {newEmoji.mention} Emoji **{newEmoji.name}** (`{newEmoji.id}`) was updated. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_CREATE": { + "default": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was created. Description: `{sticker.description}` Format: {emoji.format}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_DELETE": { + "default": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was deleted.", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_UPDATE": { + "default": "{timestamp} 🖼️ Sticker `{newSticker.name} ({sticker.id})` was updated. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "COMMAND": { + "default": "{timestamp} 🤖 {userMention(member)} used command in {channelMention(channel)}:\n`{command}`", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_SPAM_DETECTED": { + "default": "{timestamp} 🛑 {userMention(member)} spam detected in {channelMention(channel)}: {description} (more than {limit} in {interval}s)\n{archiveUrl}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CENSOR": { + "default": "{timestamp} 🛑 Censored message (`{message.id}`) from {userMention(user)} in {channelMention(channel)}: {reason}:\n```{messageText}```", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CLEAN": { + "default": "{timestamp} 🚿 {userMention(mod)} cleaned **{count}** message(s) in {channelMention(channel)}\n{archiveUrl}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_CREATE": { + "default": "{timestamp} ✏ {userMention(mod)} manually created new **{caseType}** case (#{caseNum})", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSUNBAN": { + "default": "{timestamp} ⚒ {userMention(mod)} mass-unbanned {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSBAN": { + "default": "{timestamp} ⚒ {userMention(mod)} massbanned {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSMUTE": { + "default": "{timestamp} 📢🚫 {userMention(mod)} massmuted {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_MUTE": { + "default": "{timestamp} 🔇 {userMention(user)} was muted for **{time}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_UNMUTE": { + "default": "{timestamp} 🔊 {userMention(user)} was scheduled to be unmuted in **{time}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_BAN": { + "default": "{timestamp} 🔨 {userMention(user)} was tempbanned by {userMention(mod)} for {banTime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_UNBAN": { + "default": "{timestamp} 🔓 User (`{userId}`) was automatically unbanned by {userMention(mod)} after a tempban for {banTime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_JOIN_WITH_PRIOR_RECORDS": { + "default": "{timestamp} ⚠ {userMention(member)} joined with prior records. Recent cases:\n{recentCaseSummary}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "OTHER_SPAM_DETECTED": { + "default": "{timestamp} 🛑 {userMention(member)} spam detected: {description} (more than {limit} in {interval}s)", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_CHANGES": { + "default": "{timestamp} 🔑 {userMention(member)} had role changes: received **{addedRoles}**, lost **{removedRoles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_FORCE_MOVE": { + "default": "{timestamp} 🎙 ✍ {userMention(member)} was moved from **{oldChannel.name}** to **{newChannel.name}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_FORCE_DISCONNECT": { + "default": "{timestamp} 🎙 🚫 {userMention(member)} was forcefully disconnected from **{oldChannel.name}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_UPDATE": { + "default": "{timestamp} ✏ {userMention(mod)} updated case #{caseNumber} ({caseType}) with note:\n```{note}```", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE_REJOIN": { + "default": "{timestamp} ⚠ Reapplied active mute for {userMention(member)} on rejoin", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SCHEDULED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "POSTED_SCHEDULED_MESSAGE": { + "default": "{timestamp} 📨 Posted scheduled message (`{messageId}`) to {channelMention(channel)} as scheduled by {userMention(author)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "BOT_ALERT": { + "default": "{timestamp} ⚠ **BOT ALERT:** {tmplEval(body)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "AUTOMOD_ACTION": { + "default": "{timestamp} 🤖 Automod rule **{if(not(prettyName), rule, prettyName)}** triggered by {userMention(users)}\n{matchSummary}\nActions taken: **{actionsTaken}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SCHEDULED_REPEATED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}, repeated {repeatDetails}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "REPEATED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} {repeatDetails}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_AUTO": { + "default": "{timestamp} 🗑 Auto-deleted message (`{message.id}`) from {userMention(user)} in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SET_ANTIRAID_USER": { + "default": "{timestamp} ⚔ {userMention(user)} set anti-raid to **{level}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SET_ANTIRAID_AUTO": { + "default": "{timestamp} ⚔ Anti-raid automatically set to **{level}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_NOTE": { + "default": "{timestamp} 🖊 Note added on {userMention(user)} by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_DELETE": { + "default": "{timestamp} ✂️ **Case #{case.case_number}** was deleted by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "DM_FAILED": { + "default": "{timestamp} 🚧 Failed to send DM ({source}) to {userMention(user)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + } + }, + "required": [], + "additionalProperties": false }, "timestamp_format": { "default": null, @@ -7710,318 +9715,804 @@ } }, "format": { - "default": { - "MEMBER_NOTE": "{timestamp} 🖊 Note added on {userMention(user)} by {userMention(mod)}", - "MEMBER_WARN": "{timestamp} ⚠️ {userMention(member)} was warned by {userMention(mod)}", - "MEMBER_MUTE": "{timestamp} 🔇 {userMention(user)} was muted indefinitely by {userMention(mod)}", - "MEMBER_TIMED_MUTE": "{timestamp} 🔇 {userMention(user)} was muted for **{time}** by {userMention(mod)}", - "MEMBER_UNMUTE": "{timestamp} 🔊 {userMention(user)} was unmuted by {userMention(mod)}", - "MEMBER_TIMED_UNMUTE": "{timestamp} 🔊 {userMention(user)} was scheduled to be unmuted in **{time}** by {userMention(mod)}", - "MEMBER_MUTE_EXPIRED": "{timestamp} 🔊 {userMention(member)}'s mute expired", - "MEMBER_KICK": "{timestamp} 👢 {userMention(user)} was kicked by {userMention(mod)}", - "MEMBER_BAN": "{timestamp} 🔨 {userMention(user)} was banned by {userMention(mod)}", - "MEMBER_UNBAN": "{timestamp} 🔓 User (`{userId}`) was unbanned by {userMention(mod)}", - "MEMBER_FORCEBAN": "{timestamp} 🔨 User (`{userId}`) was forcebanned by {userMention(mod)}", - "MEMBER_SOFTBAN": "{timestamp} 🔨 {userMention(member)} was softbanned by {userMention(mod)}", - "MEMBER_JOIN": "{timestamp} 📥 {new} {userMention(member)} joined (created )", - "MEMBER_LEAVE": "{timestamp} 📤 {userMention(member)} left the server", - "MEMBER_ROLE_ADD": "{timestamp} 🔑 {userMention(mod)} added roles for {userMention(member)}: **{roles}**", - "MEMBER_ROLE_REMOVE": "{timestamp} 🔑 {userMention(mod)} removed roles from {userMention(member)}: **{roles}**", - "MEMBER_ROLE_CHANGES": "{timestamp} 🔑 {userMention(member)} had role changes: received **{addedRoles}**, lost **{removedRoles}**", - "MEMBER_NICK_CHANGE": "{timestamp} ✏ {userMention(member)}: nickname changed from **{oldNick}** to **{newNick}**", - "MEMBER_USERNAME_CHANGE": "{timestamp} ✏ {userMention(user)}: username changed from **{oldName}** to **{newName}**", - "MEMBER_RESTORE": "{timestamp} 💿 Restored {restoredData} for {userMention(member)} on rejoin", - "MEMBER_TIMED_BAN": "{timestamp} 🔨 {userMention(user)} was tempbanned by {userMention(mod)} for {banTime}", - "MEMBER_TIMED_UNBAN": "{timestamp} 🔓 User (`{userId}`) was automatically unbanned by {userMention(mod)} after a tempban for {banTime}", - "CHANNEL_CREATE": "{timestamp} 🖊 Channel {channelMention(channel)} was created", - "CHANNEL_DELETE": "{timestamp} 🗑 Channel {channelMention(channel)} was deleted", - "CHANNEL_UPDATE": "{timestamp} ✏ Channel {channelMention(newChannel)} was edited. Changes:\n{differenceString}", - "THREAD_CREATE": "{timestamp} 🖊 Thread {channelMention(thread)} was created in channel <#{thread.parentId}>", - "THREAD_DELETE": "{timestamp} 🗑 Thread {channelMention(thread)} was deleted/archived from channel <#{thread.parentId}>", - "THREAD_UPDATE": "{timestamp} ✏ Thread {channelMention(newThread)} was edited. Changes:\n{differenceString}", - "ROLE_CREATE": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was created", - "ROLE_DELETE": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was deleted", - "ROLE_UPDATE": "{timestamp} 🖊 Role **{newRole.name}** (`{newRole.id}`) was edited. Changes:\n{differenceString}", - "MESSAGE_EDIT": "{timestamp} ✏ {userMention(user)} edited their message (`{after.id}`) in {channelMention(channel)}:\n**Before:**{messageSummary(before)}**After:**{messageSummary(after)}", - "MESSAGE_DELETE": "{timestamp} 🗑 Message (`{message.id}`) from {userMention(user)} deleted in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", - "MESSAGE_DELETE_BULK": "{timestamp} 🗑 **{count}** messages by {authorIds} deleted in {channelMention(channel)} ({archiveUrl})", - "MESSAGE_DELETE_BARE": "{timestamp} 🗑 Message (`{messageId}`) deleted in {channelMention(channel)} (no more info available)", - "MESSAGE_DELETE_AUTO": "{timestamp} 🗑 Auto-deleted message (`{message.id}`) from {userMention(user)} in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", - "VOICE_CHANNEL_JOIN": "{timestamp} 🎙 🔵 {userMention(member)} joined {channelMention(channel)}", - "VOICE_CHANNEL_MOVE": "{timestamp} 🎙 ↔ {userMention(member)} moved from {channelMention(oldChannel)} to {channelMention(newChannel)}", - "VOICE_CHANNEL_LEAVE": "{timestamp} 🎙 🔴 {userMention(member)} left {channelMention(channel)}", - "VOICE_CHANNEL_FORCE_MOVE": "{timestamp} 🎙 ✍ {userMention(member)} was moved from **{oldChannel.name}** to **{newChannel.name}** by {userMention(mod)}", - "VOICE_CHANNEL_FORCE_DISCONNECT": "{timestamp} 🎙 🚫 {userMention(member)} was forcefully disconnected from **{oldChannel.name}** by {userMention(mod)}", - "STAGE_INSTANCE_CREATE": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was created in Stage Channel <#{stageChannel.id}>", - "STAGE_INSTANCE_DELETE": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was deleted in Stage Channel <#{stageChannel.id}>", - "STAGE_INSTANCE_UPDATE": "{timestamp} 📣 Stage Instance `{newStageInstance.topic}` was edited in Stage Channel <#{stageChannel.id}>. Changes:\n{differenceString}", - "EMOJI_CREATE": "{timestamp} {emoji.mention} Emoji **{emoji.name}** (`{emoji.id}`) was created", - "EMOJI_DELETE": "{timestamp} 👋 Emoji **{emoji.name}** (`{emoji.id}`) was deleted", - "EMOJI_UPDATE": "{timestamp} {newEmoji.mention} Emoji **{newEmoji.name}** (`{newEmoji.id}`) was updated. Changes:\n{differenceString}", - "STICKER_CREATE": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was created. Description: `{sticker.description}` Format: {emoji.format}", - "STICKER_DELETE": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was deleted.", - "STICKER_UPDATE": "{timestamp} 🖼️ Sticker `{newSticker.name} ({sticker.id})` was updated. Changes:\n{differenceString}", - "COMMAND": "{timestamp} 🤖 {userMention(member)} used command in {channelMention(channel)}:\n`{command}`", - "MESSAGE_SPAM_DETECTED": "{timestamp} 🛑 {userMention(member)} spam detected in {channelMention(channel)}: {description} (more than {limit} in {interval}s)\n{archiveUrl}", - "OTHER_SPAM_DETECTED": "{timestamp} 🛑 {userMention(member)} spam detected: {description} (more than {limit} in {interval}s)", - "CENSOR": "{timestamp} 🛑 Censored message (`{message.id}`) from {userMention(user)} in {channelMention(channel)}: {reason}:\n```{messageText}```", - "CLEAN": "{timestamp} 🚿 {userMention(mod)} cleaned **{count}** message(s) in {channelMention(channel)}\n{archiveUrl}", - "CASE_CREATE": "{timestamp} ✏ {userMention(mod)} manually created new **{caseType}** case (#{caseNum})", - "CASE_DELETE": "{timestamp} ✂️ **Case #{case.case_number}** was deleted by {userMention(mod)}", - "MASSUNBAN": "{timestamp} ⚒ {userMention(mod)} mass-unbanned {count} users", - "MASSBAN": "{timestamp} ⚒ {userMention(mod)} massbanned {count} users", - "MASSMUTE": "{timestamp} 📢🚫 {userMention(mod)} massmuted {count} users", - "MEMBER_JOIN_WITH_PRIOR_RECORDS": "{timestamp} ⚠ {userMention(member)} joined with prior records. Recent cases:\n{recentCaseSummary}", - "CASE_UPDATE": "{timestamp} ✏ {userMention(mod)} updated case #{caseNumber} ({caseType}) with note:\n```{note}```", - "MEMBER_MUTE_REJOIN": "{timestamp} ⚠ Reapplied active mute for {userMention(member)} on rejoin", - "SCHEDULED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}", - "SCHEDULED_REPEATED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}, repeated {repeatDetails}", - "REPEATED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} {repeatDetails}", - "POSTED_SCHEDULED_MESSAGE": "{timestamp} 📨 Posted scheduled message (`{messageId}`) to {channelMention(channel)} as scheduled by {userMention(author)}", - "BOT_ALERT": "{timestamp} ⚠ **BOT ALERT:** {tmplEval(body)}", - "DM_FAILED": "{timestamp} 🚧 Failed to send DM ({source}) to {userMention(user)}", - "AUTOMOD_ACTION": "{timestamp} 🤖 Automod rule **{if(not(prettyName), rule, prettyName)}** triggered by {userMention(users)}\n{matchSummary}\nActions taken: **{actionsTaken}**", - "SET_ANTIRAID_USER": "{timestamp} ⚔ {userMention(user)} set anti-raid to **{level}**", - "SET_ANTIRAID_AUTO": "{timestamp} ⚔ Anti-raid automatically set to **{level}**" - }, + "default": {}, "type": "object", - "propertyNames": { - "enum": [ - "MEMBER_WARN", - "MEMBER_MUTE", - "MEMBER_UNMUTE", - "MEMBER_MUTE_EXPIRED", - "MEMBER_KICK", - "MEMBER_BAN", - "MEMBER_UNBAN", - "MEMBER_FORCEBAN", - "MEMBER_SOFTBAN", - "MEMBER_JOIN", - "MEMBER_LEAVE", - "MEMBER_ROLE_ADD", - "MEMBER_ROLE_REMOVE", - "MEMBER_NICK_CHANGE", - "MEMBER_USERNAME_CHANGE", - "MEMBER_RESTORE", - "CHANNEL_CREATE", - "CHANNEL_DELETE", - "CHANNEL_UPDATE", - "THREAD_CREATE", - "THREAD_DELETE", - "THREAD_UPDATE", - "ROLE_CREATE", - "ROLE_DELETE", - "ROLE_UPDATE", - "MESSAGE_EDIT", - "MESSAGE_DELETE", - "MESSAGE_DELETE_BULK", - "MESSAGE_DELETE_BARE", - "VOICE_CHANNEL_JOIN", - "VOICE_CHANNEL_LEAVE", - "VOICE_CHANNEL_MOVE", - "STAGE_INSTANCE_CREATE", - "STAGE_INSTANCE_DELETE", - "STAGE_INSTANCE_UPDATE", - "EMOJI_CREATE", - "EMOJI_DELETE", - "EMOJI_UPDATE", - "STICKER_CREATE", - "STICKER_DELETE", - "STICKER_UPDATE", - "COMMAND", - "MESSAGE_SPAM_DETECTED", - "CENSOR", - "CLEAN", - "CASE_CREATE", - "MASSUNBAN", - "MASSBAN", - "MASSMUTE", - "MEMBER_TIMED_MUTE", - "MEMBER_TIMED_UNMUTE", - "MEMBER_TIMED_BAN", - "MEMBER_TIMED_UNBAN", - "MEMBER_JOIN_WITH_PRIOR_RECORDS", - "OTHER_SPAM_DETECTED", - "MEMBER_ROLE_CHANGES", - "VOICE_CHANNEL_FORCE_MOVE", - "VOICE_CHANNEL_FORCE_DISCONNECT", - "CASE_UPDATE", - "MEMBER_MUTE_REJOIN", - "SCHEDULED_MESSAGE", - "POSTED_SCHEDULED_MESSAGE", - "BOT_ALERT", - "AUTOMOD_ACTION", - "SCHEDULED_REPEATED_MESSAGE", - "REPEATED_MESSAGE", - "MESSAGE_DELETE_AUTO", - "SET_ANTIRAID_USER", - "SET_ANTIRAID_AUTO", - "MEMBER_NOTE", - "CASE_DELETE", - "DM_FAILED" - ] - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [ - "text" - ] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "name" - ] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [ - "name" - ] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } + "properties": { + "MEMBER_WARN": { + "default": "{timestamp} ⚠️ {userMention(member)} was warned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" }, - "required": [] - } - ] - } + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE": { + "default": "{timestamp} 🔇 {userMention(user)} was muted indefinitely by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_UNMUTE": { + "default": "{timestamp} 🔊 {userMention(user)} was unmuted by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE_EXPIRED": { + "default": "{timestamp} 🔊 {userMention(member)}'s mute expired", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_KICK": { + "default": "{timestamp} 👢 {userMention(user)} was kicked by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_BAN": { + "default": "{timestamp} 🔨 {userMention(user)} was banned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_UNBAN": { + "default": "{timestamp} 🔓 User (`{userId}`) was unbanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_FORCEBAN": { + "default": "{timestamp} 🔨 User (`{userId}`) was forcebanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_SOFTBAN": { + "default": "{timestamp} 🔨 {userMention(member)} was softbanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_JOIN": { + "default": "{timestamp} 📥 {new} {userMention(member)} joined (created )", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_LEAVE": { + "default": "{timestamp} 📤 {userMention(member)} left the server", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_ADD": { + "default": "{timestamp} 🔑 {userMention(mod)} added roles for {userMention(member)}: **{roles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_REMOVE": { + "default": "{timestamp} 🔑 {userMention(mod)} removed roles from {userMention(member)}: **{roles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_NICK_CHANGE": { + "default": "{timestamp} ✏ {userMention(member)}: nickname changed from **{oldNick}** to **{newNick}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_USERNAME_CHANGE": { + "default": "{timestamp} ✏ {userMention(user)}: username changed from **{oldName}** to **{newName}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_RESTORE": { + "default": "{timestamp} 💿 Restored {restoredData} for {userMention(member)} on rejoin", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_CREATE": { + "default": "{timestamp} 🖊 Channel {channelMention(channel)} was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_DELETE": { + "default": "{timestamp} 🗑 Channel {channelMention(channel)} was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_UPDATE": { + "default": "{timestamp} ✏ Channel {channelMention(newChannel)} was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_CREATE": { + "default": "{timestamp} 🖊 Thread {channelMention(thread)} was created in channel <#{thread.parentId}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_DELETE": { + "default": "{timestamp} 🗑 Thread {channelMention(thread)} was deleted/archived from channel <#{thread.parentId}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_UPDATE": { + "default": "{timestamp} ✏ Thread {channelMention(newThread)} was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_CREATE": { + "default": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_DELETE": { + "default": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_UPDATE": { + "default": "{timestamp} 🖊 Role **{newRole.name}** (`{newRole.id}`) was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_EDIT": { + "default": "{timestamp} ✏ {userMention(user)} edited their message (`{after.id}`) in {channelMention(channel)}:\n**Before:**{messageSummary(before)}**After:**{messageSummary(after)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE": { + "default": "{timestamp} 🗑 Message (`{message.id}`) from {userMention(user)} deleted in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_BULK": { + "default": "{timestamp} 🗑 **{count}** messages by {authorIds} deleted in {channelMention(channel)} ({archiveUrl})", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_BARE": { + "default": "{timestamp} 🗑 Message (`{messageId}`) deleted in {channelMention(channel)} (no more info available)", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_JOIN": { + "default": "{timestamp} 🎙 🔵 {userMention(member)} joined {channelMention(channel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_LEAVE": { + "default": "{timestamp} 🎙 🔴 {userMention(member)} left {channelMention(channel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_MOVE": { + "default": "{timestamp} 🎙 ↔ {userMention(member)} moved from {channelMention(oldChannel)} to {channelMention(newChannel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_CREATE": { + "default": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was created in Stage Channel <#{stageChannel.id}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_DELETE": { + "default": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was deleted in Stage Channel <#{stageChannel.id}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_UPDATE": { + "default": "{timestamp} 📣 Stage Instance `{newStageInstance.topic}` was edited in Stage Channel <#{stageChannel.id}>. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_CREATE": { + "default": "{timestamp} {emoji.mention} Emoji **{emoji.name}** (`{emoji.id}`) was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_DELETE": { + "default": "{timestamp} 👋 Emoji **{emoji.name}** (`{emoji.id}`) was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_UPDATE": { + "default": "{timestamp} {newEmoji.mention} Emoji **{newEmoji.name}** (`{newEmoji.id}`) was updated. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_CREATE": { + "default": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was created. Description: `{sticker.description}` Format: {emoji.format}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_DELETE": { + "default": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was deleted.", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_UPDATE": { + "default": "{timestamp} 🖼️ Sticker `{newSticker.name} ({sticker.id})` was updated. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "COMMAND": { + "default": "{timestamp} 🤖 {userMention(member)} used command in {channelMention(channel)}:\n`{command}`", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_SPAM_DETECTED": { + "default": "{timestamp} 🛑 {userMention(member)} spam detected in {channelMention(channel)}: {description} (more than {limit} in {interval}s)\n{archiveUrl}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CENSOR": { + "default": "{timestamp} 🛑 Censored message (`{message.id}`) from {userMention(user)} in {channelMention(channel)}: {reason}:\n```{messageText}```", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CLEAN": { + "default": "{timestamp} 🚿 {userMention(mod)} cleaned **{count}** message(s) in {channelMention(channel)}\n{archiveUrl}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_CREATE": { + "default": "{timestamp} ✏ {userMention(mod)} manually created new **{caseType}** case (#{caseNum})", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSUNBAN": { + "default": "{timestamp} ⚒ {userMention(mod)} mass-unbanned {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSBAN": { + "default": "{timestamp} ⚒ {userMention(mod)} massbanned {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSMUTE": { + "default": "{timestamp} 📢🚫 {userMention(mod)} massmuted {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_MUTE": { + "default": "{timestamp} 🔇 {userMention(user)} was muted for **{time}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_UNMUTE": { + "default": "{timestamp} 🔊 {userMention(user)} was scheduled to be unmuted in **{time}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_BAN": { + "default": "{timestamp} 🔨 {userMention(user)} was tempbanned by {userMention(mod)} for {banTime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_UNBAN": { + "default": "{timestamp} 🔓 User (`{userId}`) was automatically unbanned by {userMention(mod)} after a tempban for {banTime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_JOIN_WITH_PRIOR_RECORDS": { + "default": "{timestamp} ⚠ {userMention(member)} joined with prior records. Recent cases:\n{recentCaseSummary}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "OTHER_SPAM_DETECTED": { + "default": "{timestamp} 🛑 {userMention(member)} spam detected: {description} (more than {limit} in {interval}s)", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_CHANGES": { + "default": "{timestamp} 🔑 {userMention(member)} had role changes: received **{addedRoles}**, lost **{removedRoles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_FORCE_MOVE": { + "default": "{timestamp} 🎙 ✍ {userMention(member)} was moved from **{oldChannel.name}** to **{newChannel.name}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_FORCE_DISCONNECT": { + "default": "{timestamp} 🎙 🚫 {userMention(member)} was forcefully disconnected from **{oldChannel.name}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_UPDATE": { + "default": "{timestamp} ✏ {userMention(mod)} updated case #{caseNumber} ({caseType}) with note:\n```{note}```", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE_REJOIN": { + "default": "{timestamp} ⚠ Reapplied active mute for {userMention(member)} on rejoin", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SCHEDULED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "POSTED_SCHEDULED_MESSAGE": { + "default": "{timestamp} 📨 Posted scheduled message (`{messageId}`) to {channelMention(channel)} as scheduled by {userMention(author)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "BOT_ALERT": { + "default": "{timestamp} ⚠ **BOT ALERT:** {tmplEval(body)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "AUTOMOD_ACTION": { + "default": "{timestamp} 🤖 Automod rule **{if(not(prettyName), rule, prettyName)}** triggered by {userMention(users)}\n{matchSummary}\nActions taken: **{actionsTaken}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SCHEDULED_REPEATED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}, repeated {repeatDetails}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "REPEATED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} {repeatDetails}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_AUTO": { + "default": "{timestamp} 🗑 Auto-deleted message (`{message.id}`) from {userMention(user)} in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SET_ANTIRAID_USER": { + "default": "{timestamp} ⚔ {userMention(user)} set anti-raid to **{level}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SET_ANTIRAID_AUTO": { + "default": "{timestamp} ⚔ Anti-raid automatically set to **{level}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_NOTE": { + "default": "{timestamp} 🖊 Note added on {userMention(user)} by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_DELETE": { + "default": "{timestamp} ✂️ **Case #{case.case_number}** was deleted by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "DM_FAILED": { + "default": "{timestamp} 🚧 Failed to send DM ({source}) to {userMention(user)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + } + }, + "required": [], + "additionalProperties": false }, "ping_user": { "default": true, @@ -8203,17 +10694,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -8342,237 +10833,802 @@ "format": { "default": {}, "type": "object", - "propertyNames": { - "enum": [ - "MEMBER_WARN", - "MEMBER_MUTE", - "MEMBER_UNMUTE", - "MEMBER_MUTE_EXPIRED", - "MEMBER_KICK", - "MEMBER_BAN", - "MEMBER_UNBAN", - "MEMBER_FORCEBAN", - "MEMBER_SOFTBAN", - "MEMBER_JOIN", - "MEMBER_LEAVE", - "MEMBER_ROLE_ADD", - "MEMBER_ROLE_REMOVE", - "MEMBER_NICK_CHANGE", - "MEMBER_USERNAME_CHANGE", - "MEMBER_RESTORE", - "CHANNEL_CREATE", - "CHANNEL_DELETE", - "CHANNEL_UPDATE", - "THREAD_CREATE", - "THREAD_DELETE", - "THREAD_UPDATE", - "ROLE_CREATE", - "ROLE_DELETE", - "ROLE_UPDATE", - "MESSAGE_EDIT", - "MESSAGE_DELETE", - "MESSAGE_DELETE_BULK", - "MESSAGE_DELETE_BARE", - "VOICE_CHANNEL_JOIN", - "VOICE_CHANNEL_LEAVE", - "VOICE_CHANNEL_MOVE", - "STAGE_INSTANCE_CREATE", - "STAGE_INSTANCE_DELETE", - "STAGE_INSTANCE_UPDATE", - "EMOJI_CREATE", - "EMOJI_DELETE", - "EMOJI_UPDATE", - "STICKER_CREATE", - "STICKER_DELETE", - "STICKER_UPDATE", - "COMMAND", - "MESSAGE_SPAM_DETECTED", - "CENSOR", - "CLEAN", - "CASE_CREATE", - "MASSUNBAN", - "MASSBAN", - "MASSMUTE", - "MEMBER_TIMED_MUTE", - "MEMBER_TIMED_UNMUTE", - "MEMBER_TIMED_BAN", - "MEMBER_TIMED_UNBAN", - "MEMBER_JOIN_WITH_PRIOR_RECORDS", - "OTHER_SPAM_DETECTED", - "MEMBER_ROLE_CHANGES", - "VOICE_CHANNEL_FORCE_MOVE", - "VOICE_CHANNEL_FORCE_DISCONNECT", - "CASE_UPDATE", - "MEMBER_MUTE_REJOIN", - "SCHEDULED_MESSAGE", - "POSTED_SCHEDULED_MESSAGE", - "BOT_ALERT", - "AUTOMOD_ACTION", - "SCHEDULED_REPEATED_MESSAGE", - "REPEATED_MESSAGE", - "MESSAGE_DELETE_AUTO", - "SET_ANTIRAID_USER", - "SET_ANTIRAID_AUTO", - "MEMBER_NOTE", - "CASE_DELETE", - "DM_FAILED" - ] - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } + "properties": { + "MEMBER_WARN": { + "default": "{timestamp} ⚠️ {userMention(member)} was warned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" }, - "required": [] - } - ] - } + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE": { + "default": "{timestamp} 🔇 {userMention(user)} was muted indefinitely by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_UNMUTE": { + "default": "{timestamp} 🔊 {userMention(user)} was unmuted by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE_EXPIRED": { + "default": "{timestamp} 🔊 {userMention(member)}'s mute expired", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_KICK": { + "default": "{timestamp} 👢 {userMention(user)} was kicked by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_BAN": { + "default": "{timestamp} 🔨 {userMention(user)} was banned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_UNBAN": { + "default": "{timestamp} 🔓 User (`{userId}`) was unbanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_FORCEBAN": { + "default": "{timestamp} 🔨 User (`{userId}`) was forcebanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_SOFTBAN": { + "default": "{timestamp} 🔨 {userMention(member)} was softbanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_JOIN": { + "default": "{timestamp} 📥 {new} {userMention(member)} joined (created )", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_LEAVE": { + "default": "{timestamp} 📤 {userMention(member)} left the server", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_ADD": { + "default": "{timestamp} 🔑 {userMention(mod)} added roles for {userMention(member)}: **{roles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_REMOVE": { + "default": "{timestamp} 🔑 {userMention(mod)} removed roles from {userMention(member)}: **{roles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_NICK_CHANGE": { + "default": "{timestamp} ✏ {userMention(member)}: nickname changed from **{oldNick}** to **{newNick}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_USERNAME_CHANGE": { + "default": "{timestamp} ✏ {userMention(user)}: username changed from **{oldName}** to **{newName}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_RESTORE": { + "default": "{timestamp} 💿 Restored {restoredData} for {userMention(member)} on rejoin", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_CREATE": { + "default": "{timestamp} 🖊 Channel {channelMention(channel)} was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_DELETE": { + "default": "{timestamp} 🗑 Channel {channelMention(channel)} was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_UPDATE": { + "default": "{timestamp} ✏ Channel {channelMention(newChannel)} was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_CREATE": { + "default": "{timestamp} 🖊 Thread {channelMention(thread)} was created in channel <#{thread.parentId}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_DELETE": { + "default": "{timestamp} 🗑 Thread {channelMention(thread)} was deleted/archived from channel <#{thread.parentId}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_UPDATE": { + "default": "{timestamp} ✏ Thread {channelMention(newThread)} was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_CREATE": { + "default": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_DELETE": { + "default": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_UPDATE": { + "default": "{timestamp} 🖊 Role **{newRole.name}** (`{newRole.id}`) was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_EDIT": { + "default": "{timestamp} ✏ {userMention(user)} edited their message (`{after.id}`) in {channelMention(channel)}:\n**Before:**{messageSummary(before)}**After:**{messageSummary(after)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE": { + "default": "{timestamp} 🗑 Message (`{message.id}`) from {userMention(user)} deleted in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_BULK": { + "default": "{timestamp} 🗑 **{count}** messages by {authorIds} deleted in {channelMention(channel)} ({archiveUrl})", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_BARE": { + "default": "{timestamp} 🗑 Message (`{messageId}`) deleted in {channelMention(channel)} (no more info available)", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_JOIN": { + "default": "{timestamp} 🎙 🔵 {userMention(member)} joined {channelMention(channel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_LEAVE": { + "default": "{timestamp} 🎙 🔴 {userMention(member)} left {channelMention(channel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_MOVE": { + "default": "{timestamp} 🎙 ↔ {userMention(member)} moved from {channelMention(oldChannel)} to {channelMention(newChannel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_CREATE": { + "default": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was created in Stage Channel <#{stageChannel.id}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_DELETE": { + "default": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was deleted in Stage Channel <#{stageChannel.id}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_UPDATE": { + "default": "{timestamp} 📣 Stage Instance `{newStageInstance.topic}` was edited in Stage Channel <#{stageChannel.id}>. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_CREATE": { + "default": "{timestamp} {emoji.mention} Emoji **{emoji.name}** (`{emoji.id}`) was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_DELETE": { + "default": "{timestamp} 👋 Emoji **{emoji.name}** (`{emoji.id}`) was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_UPDATE": { + "default": "{timestamp} {newEmoji.mention} Emoji **{newEmoji.name}** (`{newEmoji.id}`) was updated. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_CREATE": { + "default": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was created. Description: `{sticker.description}` Format: {emoji.format}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_DELETE": { + "default": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was deleted.", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_UPDATE": { + "default": "{timestamp} 🖼️ Sticker `{newSticker.name} ({sticker.id})` was updated. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "COMMAND": { + "default": "{timestamp} 🤖 {userMention(member)} used command in {channelMention(channel)}:\n`{command}`", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_SPAM_DETECTED": { + "default": "{timestamp} 🛑 {userMention(member)} spam detected in {channelMention(channel)}: {description} (more than {limit} in {interval}s)\n{archiveUrl}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CENSOR": { + "default": "{timestamp} 🛑 Censored message (`{message.id}`) from {userMention(user)} in {channelMention(channel)}: {reason}:\n```{messageText}```", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CLEAN": { + "default": "{timestamp} 🚿 {userMention(mod)} cleaned **{count}** message(s) in {channelMention(channel)}\n{archiveUrl}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_CREATE": { + "default": "{timestamp} ✏ {userMention(mod)} manually created new **{caseType}** case (#{caseNum})", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSUNBAN": { + "default": "{timestamp} ⚒ {userMention(mod)} mass-unbanned {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSBAN": { + "default": "{timestamp} ⚒ {userMention(mod)} massbanned {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSMUTE": { + "default": "{timestamp} 📢🚫 {userMention(mod)} massmuted {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_MUTE": { + "default": "{timestamp} 🔇 {userMention(user)} was muted for **{time}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_UNMUTE": { + "default": "{timestamp} 🔊 {userMention(user)} was scheduled to be unmuted in **{time}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_BAN": { + "default": "{timestamp} 🔨 {userMention(user)} was tempbanned by {userMention(mod)} for {banTime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_UNBAN": { + "default": "{timestamp} 🔓 User (`{userId}`) was automatically unbanned by {userMention(mod)} after a tempban for {banTime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_JOIN_WITH_PRIOR_RECORDS": { + "default": "{timestamp} ⚠ {userMention(member)} joined with prior records. Recent cases:\n{recentCaseSummary}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "OTHER_SPAM_DETECTED": { + "default": "{timestamp} 🛑 {userMention(member)} spam detected: {description} (more than {limit} in {interval}s)", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_CHANGES": { + "default": "{timestamp} 🔑 {userMention(member)} had role changes: received **{addedRoles}**, lost **{removedRoles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_FORCE_MOVE": { + "default": "{timestamp} 🎙 ✍ {userMention(member)} was moved from **{oldChannel.name}** to **{newChannel.name}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_FORCE_DISCONNECT": { + "default": "{timestamp} 🎙 🚫 {userMention(member)} was forcefully disconnected from **{oldChannel.name}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_UPDATE": { + "default": "{timestamp} ✏ {userMention(mod)} updated case #{caseNumber} ({caseType}) with note:\n```{note}```", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE_REJOIN": { + "default": "{timestamp} ⚠ Reapplied active mute for {userMention(member)} on rejoin", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SCHEDULED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "POSTED_SCHEDULED_MESSAGE": { + "default": "{timestamp} 📨 Posted scheduled message (`{messageId}`) to {channelMention(channel)} as scheduled by {userMention(author)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "BOT_ALERT": { + "default": "{timestamp} ⚠ **BOT ALERT:** {tmplEval(body)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "AUTOMOD_ACTION": { + "default": "{timestamp} 🤖 Automod rule **{if(not(prettyName), rule, prettyName)}** triggered by {userMention(users)}\n{matchSummary}\nActions taken: **{actionsTaken}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SCHEDULED_REPEATED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}, repeated {repeatDetails}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "REPEATED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} {repeatDetails}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_AUTO": { + "default": "{timestamp} 🗑 Auto-deleted message (`{message.id}`) from {userMention(user)} in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SET_ANTIRAID_USER": { + "default": "{timestamp} ⚔ {userMention(user)} set anti-raid to **{level}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SET_ANTIRAID_AUTO": { + "default": "{timestamp} ⚔ Anti-raid automatically set to **{level}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_NOTE": { + "default": "{timestamp} 🖊 Note added on {userMention(user)} by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_DELETE": { + "default": "{timestamp} ✂️ **Case #{case.case_number}** was deleted by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "DM_FAILED": { + "default": "{timestamp} 🚧 Failed to send DM ({source}) to {userMention(user)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + } + }, + "required": [], + "additionalProperties": false }, "timestamp_format": { "default": null, @@ -8602,312 +11658,804 @@ } }, "format": { - "default": { - "MEMBER_NOTE": "{timestamp} 🖊 Note added on {userMention(user)} by {userMention(mod)}", - "MEMBER_WARN": "{timestamp} ⚠️ {userMention(member)} was warned by {userMention(mod)}", - "MEMBER_MUTE": "{timestamp} 🔇 {userMention(user)} was muted indefinitely by {userMention(mod)}", - "MEMBER_TIMED_MUTE": "{timestamp} 🔇 {userMention(user)} was muted for **{time}** by {userMention(mod)}", - "MEMBER_UNMUTE": "{timestamp} 🔊 {userMention(user)} was unmuted by {userMention(mod)}", - "MEMBER_TIMED_UNMUTE": "{timestamp} 🔊 {userMention(user)} was scheduled to be unmuted in **{time}** by {userMention(mod)}", - "MEMBER_MUTE_EXPIRED": "{timestamp} 🔊 {userMention(member)}'s mute expired", - "MEMBER_KICK": "{timestamp} 👢 {userMention(user)} was kicked by {userMention(mod)}", - "MEMBER_BAN": "{timestamp} 🔨 {userMention(user)} was banned by {userMention(mod)}", - "MEMBER_UNBAN": "{timestamp} 🔓 User (`{userId}`) was unbanned by {userMention(mod)}", - "MEMBER_FORCEBAN": "{timestamp} 🔨 User (`{userId}`) was forcebanned by {userMention(mod)}", - "MEMBER_SOFTBAN": "{timestamp} 🔨 {userMention(member)} was softbanned by {userMention(mod)}", - "MEMBER_JOIN": "{timestamp} 📥 {new} {userMention(member)} joined (created )", - "MEMBER_LEAVE": "{timestamp} 📤 {userMention(member)} left the server", - "MEMBER_ROLE_ADD": "{timestamp} 🔑 {userMention(mod)} added roles for {userMention(member)}: **{roles}**", - "MEMBER_ROLE_REMOVE": "{timestamp} 🔑 {userMention(mod)} removed roles from {userMention(member)}: **{roles}**", - "MEMBER_ROLE_CHANGES": "{timestamp} 🔑 {userMention(member)} had role changes: received **{addedRoles}**, lost **{removedRoles}**", - "MEMBER_NICK_CHANGE": "{timestamp} ✏ {userMention(member)}: nickname changed from **{oldNick}** to **{newNick}**", - "MEMBER_USERNAME_CHANGE": "{timestamp} ✏ {userMention(user)}: username changed from **{oldName}** to **{newName}**", - "MEMBER_RESTORE": "{timestamp} 💿 Restored {restoredData} for {userMention(member)} on rejoin", - "MEMBER_TIMED_BAN": "{timestamp} 🔨 {userMention(user)} was tempbanned by {userMention(mod)} for {banTime}", - "MEMBER_TIMED_UNBAN": "{timestamp} 🔓 User (`{userId}`) was automatically unbanned by {userMention(mod)} after a tempban for {banTime}", - "CHANNEL_CREATE": "{timestamp} 🖊 Channel {channelMention(channel)} was created", - "CHANNEL_DELETE": "{timestamp} 🗑 Channel {channelMention(channel)} was deleted", - "CHANNEL_UPDATE": "{timestamp} ✏ Channel {channelMention(newChannel)} was edited. Changes:\n{differenceString}", - "THREAD_CREATE": "{timestamp} 🖊 Thread {channelMention(thread)} was created in channel <#{thread.parentId}>", - "THREAD_DELETE": "{timestamp} 🗑 Thread {channelMention(thread)} was deleted/archived from channel <#{thread.parentId}>", - "THREAD_UPDATE": "{timestamp} ✏ Thread {channelMention(newThread)} was edited. Changes:\n{differenceString}", - "ROLE_CREATE": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was created", - "ROLE_DELETE": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was deleted", - "ROLE_UPDATE": "{timestamp} 🖊 Role **{newRole.name}** (`{newRole.id}`) was edited. Changes:\n{differenceString}", - "MESSAGE_EDIT": "{timestamp} ✏ {userMention(user)} edited their message (`{after.id}`) in {channelMention(channel)}:\n**Before:**{messageSummary(before)}**After:**{messageSummary(after)}", - "MESSAGE_DELETE": "{timestamp} 🗑 Message (`{message.id}`) from {userMention(user)} deleted in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", - "MESSAGE_DELETE_BULK": "{timestamp} 🗑 **{count}** messages by {authorIds} deleted in {channelMention(channel)} ({archiveUrl})", - "MESSAGE_DELETE_BARE": "{timestamp} 🗑 Message (`{messageId}`) deleted in {channelMention(channel)} (no more info available)", - "MESSAGE_DELETE_AUTO": "{timestamp} 🗑 Auto-deleted message (`{message.id}`) from {userMention(user)} in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", - "VOICE_CHANNEL_JOIN": "{timestamp} 🎙 🔵 {userMention(member)} joined {channelMention(channel)}", - "VOICE_CHANNEL_MOVE": "{timestamp} 🎙 ↔ {userMention(member)} moved from {channelMention(oldChannel)} to {channelMention(newChannel)}", - "VOICE_CHANNEL_LEAVE": "{timestamp} 🎙 🔴 {userMention(member)} left {channelMention(channel)}", - "VOICE_CHANNEL_FORCE_MOVE": "{timestamp} 🎙 ✍ {userMention(member)} was moved from **{oldChannel.name}** to **{newChannel.name}** by {userMention(mod)}", - "VOICE_CHANNEL_FORCE_DISCONNECT": "{timestamp} 🎙 🚫 {userMention(member)} was forcefully disconnected from **{oldChannel.name}** by {userMention(mod)}", - "STAGE_INSTANCE_CREATE": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was created in Stage Channel <#{stageChannel.id}>", - "STAGE_INSTANCE_DELETE": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was deleted in Stage Channel <#{stageChannel.id}>", - "STAGE_INSTANCE_UPDATE": "{timestamp} 📣 Stage Instance `{newStageInstance.topic}` was edited in Stage Channel <#{stageChannel.id}>. Changes:\n{differenceString}", - "EMOJI_CREATE": "{timestamp} {emoji.mention} Emoji **{emoji.name}** (`{emoji.id}`) was created", - "EMOJI_DELETE": "{timestamp} 👋 Emoji **{emoji.name}** (`{emoji.id}`) was deleted", - "EMOJI_UPDATE": "{timestamp} {newEmoji.mention} Emoji **{newEmoji.name}** (`{newEmoji.id}`) was updated. Changes:\n{differenceString}", - "STICKER_CREATE": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was created. Description: `{sticker.description}` Format: {emoji.format}", - "STICKER_DELETE": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was deleted.", - "STICKER_UPDATE": "{timestamp} 🖼️ Sticker `{newSticker.name} ({sticker.id})` was updated. Changes:\n{differenceString}", - "COMMAND": "{timestamp} 🤖 {userMention(member)} used command in {channelMention(channel)}:\n`{command}`", - "MESSAGE_SPAM_DETECTED": "{timestamp} 🛑 {userMention(member)} spam detected in {channelMention(channel)}: {description} (more than {limit} in {interval}s)\n{archiveUrl}", - "OTHER_SPAM_DETECTED": "{timestamp} 🛑 {userMention(member)} spam detected: {description} (more than {limit} in {interval}s)", - "CENSOR": "{timestamp} 🛑 Censored message (`{message.id}`) from {userMention(user)} in {channelMention(channel)}: {reason}:\n```{messageText}```", - "CLEAN": "{timestamp} 🚿 {userMention(mod)} cleaned **{count}** message(s) in {channelMention(channel)}\n{archiveUrl}", - "CASE_CREATE": "{timestamp} ✏ {userMention(mod)} manually created new **{caseType}** case (#{caseNum})", - "CASE_DELETE": "{timestamp} ✂️ **Case #{case.case_number}** was deleted by {userMention(mod)}", - "MASSUNBAN": "{timestamp} ⚒ {userMention(mod)} mass-unbanned {count} users", - "MASSBAN": "{timestamp} ⚒ {userMention(mod)} massbanned {count} users", - "MASSMUTE": "{timestamp} 📢🚫 {userMention(mod)} massmuted {count} users", - "MEMBER_JOIN_WITH_PRIOR_RECORDS": "{timestamp} ⚠ {userMention(member)} joined with prior records. Recent cases:\n{recentCaseSummary}", - "CASE_UPDATE": "{timestamp} ✏ {userMention(mod)} updated case #{caseNumber} ({caseType}) with note:\n```{note}```", - "MEMBER_MUTE_REJOIN": "{timestamp} ⚠ Reapplied active mute for {userMention(member)} on rejoin", - "SCHEDULED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}", - "SCHEDULED_REPEATED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}, repeated {repeatDetails}", - "REPEATED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} {repeatDetails}", - "POSTED_SCHEDULED_MESSAGE": "{timestamp} 📨 Posted scheduled message (`{messageId}`) to {channelMention(channel)} as scheduled by {userMention(author)}", - "BOT_ALERT": "{timestamp} ⚠ **BOT ALERT:** {tmplEval(body)}", - "DM_FAILED": "{timestamp} 🚧 Failed to send DM ({source}) to {userMention(user)}", - "AUTOMOD_ACTION": "{timestamp} 🤖 Automod rule **{if(not(prettyName), rule, prettyName)}** triggered by {userMention(users)}\n{matchSummary}\nActions taken: **{actionsTaken}**", - "SET_ANTIRAID_USER": "{timestamp} ⚔ {userMention(user)} set anti-raid to **{level}**", - "SET_ANTIRAID_AUTO": "{timestamp} ⚔ Anti-raid automatically set to **{level}**" - }, + "default": {}, "type": "object", - "propertyNames": { - "enum": [ - "MEMBER_WARN", - "MEMBER_MUTE", - "MEMBER_UNMUTE", - "MEMBER_MUTE_EXPIRED", - "MEMBER_KICK", - "MEMBER_BAN", - "MEMBER_UNBAN", - "MEMBER_FORCEBAN", - "MEMBER_SOFTBAN", - "MEMBER_JOIN", - "MEMBER_LEAVE", - "MEMBER_ROLE_ADD", - "MEMBER_ROLE_REMOVE", - "MEMBER_NICK_CHANGE", - "MEMBER_USERNAME_CHANGE", - "MEMBER_RESTORE", - "CHANNEL_CREATE", - "CHANNEL_DELETE", - "CHANNEL_UPDATE", - "THREAD_CREATE", - "THREAD_DELETE", - "THREAD_UPDATE", - "ROLE_CREATE", - "ROLE_DELETE", - "ROLE_UPDATE", - "MESSAGE_EDIT", - "MESSAGE_DELETE", - "MESSAGE_DELETE_BULK", - "MESSAGE_DELETE_BARE", - "VOICE_CHANNEL_JOIN", - "VOICE_CHANNEL_LEAVE", - "VOICE_CHANNEL_MOVE", - "STAGE_INSTANCE_CREATE", - "STAGE_INSTANCE_DELETE", - "STAGE_INSTANCE_UPDATE", - "EMOJI_CREATE", - "EMOJI_DELETE", - "EMOJI_UPDATE", - "STICKER_CREATE", - "STICKER_DELETE", - "STICKER_UPDATE", - "COMMAND", - "MESSAGE_SPAM_DETECTED", - "CENSOR", - "CLEAN", - "CASE_CREATE", - "MASSUNBAN", - "MASSBAN", - "MASSMUTE", - "MEMBER_TIMED_MUTE", - "MEMBER_TIMED_UNMUTE", - "MEMBER_TIMED_BAN", - "MEMBER_TIMED_UNBAN", - "MEMBER_JOIN_WITH_PRIOR_RECORDS", - "OTHER_SPAM_DETECTED", - "MEMBER_ROLE_CHANGES", - "VOICE_CHANNEL_FORCE_MOVE", - "VOICE_CHANNEL_FORCE_DISCONNECT", - "CASE_UPDATE", - "MEMBER_MUTE_REJOIN", - "SCHEDULED_MESSAGE", - "POSTED_SCHEDULED_MESSAGE", - "BOT_ALERT", - "AUTOMOD_ACTION", - "SCHEDULED_REPEATED_MESSAGE", - "REPEATED_MESSAGE", - "MESSAGE_DELETE_AUTO", - "SET_ANTIRAID_USER", - "SET_ANTIRAID_AUTO", - "MEMBER_NOTE", - "CASE_DELETE", - "DM_FAILED" - ] - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } + "properties": { + "MEMBER_WARN": { + "default": "{timestamp} ⚠️ {userMention(member)} was warned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" }, - "required": [] - } - ] - } + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE": { + "default": "{timestamp} 🔇 {userMention(user)} was muted indefinitely by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_UNMUTE": { + "default": "{timestamp} 🔊 {userMention(user)} was unmuted by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE_EXPIRED": { + "default": "{timestamp} 🔊 {userMention(member)}'s mute expired", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_KICK": { + "default": "{timestamp} 👢 {userMention(user)} was kicked by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_BAN": { + "default": "{timestamp} 🔨 {userMention(user)} was banned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_UNBAN": { + "default": "{timestamp} 🔓 User (`{userId}`) was unbanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_FORCEBAN": { + "default": "{timestamp} 🔨 User (`{userId}`) was forcebanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_SOFTBAN": { + "default": "{timestamp} 🔨 {userMention(member)} was softbanned by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_JOIN": { + "default": "{timestamp} 📥 {new} {userMention(member)} joined (created )", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_LEAVE": { + "default": "{timestamp} 📤 {userMention(member)} left the server", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_ADD": { + "default": "{timestamp} 🔑 {userMention(mod)} added roles for {userMention(member)}: **{roles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_REMOVE": { + "default": "{timestamp} 🔑 {userMention(mod)} removed roles from {userMention(member)}: **{roles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_NICK_CHANGE": { + "default": "{timestamp} ✏ {userMention(member)}: nickname changed from **{oldNick}** to **{newNick}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_USERNAME_CHANGE": { + "default": "{timestamp} ✏ {userMention(user)}: username changed from **{oldName}** to **{newName}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_RESTORE": { + "default": "{timestamp} 💿 Restored {restoredData} for {userMention(member)} on rejoin", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_CREATE": { + "default": "{timestamp} 🖊 Channel {channelMention(channel)} was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_DELETE": { + "default": "{timestamp} 🗑 Channel {channelMention(channel)} was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CHANNEL_UPDATE": { + "default": "{timestamp} ✏ Channel {channelMention(newChannel)} was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_CREATE": { + "default": "{timestamp} 🖊 Thread {channelMention(thread)} was created in channel <#{thread.parentId}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_DELETE": { + "default": "{timestamp} 🗑 Thread {channelMention(thread)} was deleted/archived from channel <#{thread.parentId}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "THREAD_UPDATE": { + "default": "{timestamp} ✏ Thread {channelMention(newThread)} was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_CREATE": { + "default": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_DELETE": { + "default": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "ROLE_UPDATE": { + "default": "{timestamp} 🖊 Role **{newRole.name}** (`{newRole.id}`) was edited. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_EDIT": { + "default": "{timestamp} ✏ {userMention(user)} edited their message (`{after.id}`) in {channelMention(channel)}:\n**Before:**{messageSummary(before)}**After:**{messageSummary(after)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE": { + "default": "{timestamp} 🗑 Message (`{message.id}`) from {userMention(user)} deleted in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_BULK": { + "default": "{timestamp} 🗑 **{count}** messages by {authorIds} deleted in {channelMention(channel)} ({archiveUrl})", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_BARE": { + "default": "{timestamp} 🗑 Message (`{messageId}`) deleted in {channelMention(channel)} (no more info available)", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_JOIN": { + "default": "{timestamp} 🎙 🔵 {userMention(member)} joined {channelMention(channel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_LEAVE": { + "default": "{timestamp} 🎙 🔴 {userMention(member)} left {channelMention(channel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_MOVE": { + "default": "{timestamp} 🎙 ↔ {userMention(member)} moved from {channelMention(oldChannel)} to {channelMention(newChannel)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_CREATE": { + "default": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was created in Stage Channel <#{stageChannel.id}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_DELETE": { + "default": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was deleted in Stage Channel <#{stageChannel.id}>", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STAGE_INSTANCE_UPDATE": { + "default": "{timestamp} 📣 Stage Instance `{newStageInstance.topic}` was edited in Stage Channel <#{stageChannel.id}>. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_CREATE": { + "default": "{timestamp} {emoji.mention} Emoji **{emoji.name}** (`{emoji.id}`) was created", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_DELETE": { + "default": "{timestamp} 👋 Emoji **{emoji.name}** (`{emoji.id}`) was deleted", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "EMOJI_UPDATE": { + "default": "{timestamp} {newEmoji.mention} Emoji **{newEmoji.name}** (`{newEmoji.id}`) was updated. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_CREATE": { + "default": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was created. Description: `{sticker.description}` Format: {emoji.format}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_DELETE": { + "default": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was deleted.", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "STICKER_UPDATE": { + "default": "{timestamp} 🖼️ Sticker `{newSticker.name} ({sticker.id})` was updated. Changes:\n{differenceString}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "COMMAND": { + "default": "{timestamp} 🤖 {userMention(member)} used command in {channelMention(channel)}:\n`{command}`", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_SPAM_DETECTED": { + "default": "{timestamp} 🛑 {userMention(member)} spam detected in {channelMention(channel)}: {description} (more than {limit} in {interval}s)\n{archiveUrl}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CENSOR": { + "default": "{timestamp} 🛑 Censored message (`{message.id}`) from {userMention(user)} in {channelMention(channel)}: {reason}:\n```{messageText}```", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CLEAN": { + "default": "{timestamp} 🚿 {userMention(mod)} cleaned **{count}** message(s) in {channelMention(channel)}\n{archiveUrl}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_CREATE": { + "default": "{timestamp} ✏ {userMention(mod)} manually created new **{caseType}** case (#{caseNum})", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSUNBAN": { + "default": "{timestamp} ⚒ {userMention(mod)} mass-unbanned {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSBAN": { + "default": "{timestamp} ⚒ {userMention(mod)} massbanned {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MASSMUTE": { + "default": "{timestamp} 📢🚫 {userMention(mod)} massmuted {count} users", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_MUTE": { + "default": "{timestamp} 🔇 {userMention(user)} was muted for **{time}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_UNMUTE": { + "default": "{timestamp} 🔊 {userMention(user)} was scheduled to be unmuted in **{time}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_BAN": { + "default": "{timestamp} 🔨 {userMention(user)} was tempbanned by {userMention(mod)} for {banTime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_TIMED_UNBAN": { + "default": "{timestamp} 🔓 User (`{userId}`) was automatically unbanned by {userMention(mod)} after a tempban for {banTime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_JOIN_WITH_PRIOR_RECORDS": { + "default": "{timestamp} ⚠ {userMention(member)} joined with prior records. Recent cases:\n{recentCaseSummary}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "OTHER_SPAM_DETECTED": { + "default": "{timestamp} 🛑 {userMention(member)} spam detected: {description} (more than {limit} in {interval}s)", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_ROLE_CHANGES": { + "default": "{timestamp} 🔑 {userMention(member)} had role changes: received **{addedRoles}**, lost **{removedRoles}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_FORCE_MOVE": { + "default": "{timestamp} 🎙 ✍ {userMention(member)} was moved from **{oldChannel.name}** to **{newChannel.name}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "VOICE_CHANNEL_FORCE_DISCONNECT": { + "default": "{timestamp} 🎙 🚫 {userMention(member)} was forcefully disconnected from **{oldChannel.name}** by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_UPDATE": { + "default": "{timestamp} ✏ {userMention(mod)} updated case #{caseNumber} ({caseType}) with note:\n```{note}```", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_MUTE_REJOIN": { + "default": "{timestamp} ⚠ Reapplied active mute for {userMention(member)} on rejoin", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SCHEDULED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "POSTED_SCHEDULED_MESSAGE": { + "default": "{timestamp} 📨 Posted scheduled message (`{messageId}`) to {channelMention(channel)} as scheduled by {userMention(author)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "BOT_ALERT": { + "default": "{timestamp} ⚠ **BOT ALERT:** {tmplEval(body)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "AUTOMOD_ACTION": { + "default": "{timestamp} 🤖 Automod rule **{if(not(prettyName), rule, prettyName)}** triggered by {userMention(users)}\n{matchSummary}\nActions taken: **{actionsTaken}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SCHEDULED_REPEATED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}, repeated {repeatDetails}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "REPEATED_MESSAGE": { + "default": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} {repeatDetails}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MESSAGE_DELETE_AUTO": { + "default": "{timestamp} 🗑 Auto-deleted message (`{message.id}`) from {userMention(user)} in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SET_ANTIRAID_USER": { + "default": "{timestamp} ⚔ {userMention(user)} set anti-raid to **{level}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "SET_ANTIRAID_AUTO": { + "default": "{timestamp} ⚔ Anti-raid automatically set to **{level}**", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "MEMBER_NOTE": { + "default": "{timestamp} 🖊 Note added on {userMention(user)} by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "CASE_DELETE": { + "default": "{timestamp} ✂️ **Case #{case.case_number}** was deleted by {userMention(mod)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + }, + "DM_FAILED": { + "default": "{timestamp} 🚧 Failed to send DM ({source}) to {userMention(user)}", + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/strictMessageContent" + } + ] + } + }, + "required": [], + "additionalProperties": false }, "ping_user": { "default": true, @@ -9113,17 +12661,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -9500,17 +13048,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -10005,17 +13553,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -10323,17 +13871,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -10534,17 +14082,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -10753,17 +14301,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -10961,17 +14509,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -11161,17 +14709,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -11374,17 +14922,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -11587,17 +15135,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -11665,158 +15213,7 @@ "type": "string" }, { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [ - "text" - ] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "name" - ] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [ - "name" - ] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } - }, - "required": [] + "$ref": "#/$defs/strictMessageContent" } ] } @@ -12080,17 +15477,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -12131,152 +15528,7 @@ "type": "string" }, { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } - }, - "required": [] + "$ref": "#/$defs/strictMessageContent" } ] } @@ -12551,17 +15803,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -12758,17 +16010,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -13011,17 +16263,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -13258,17 +16510,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -14172,17 +17424,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -15107,17 +18359,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -15419,158 +18671,7 @@ "type": "string" }, { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [ - "text" - ] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "name" - ] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [ - "name" - ] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } - }, - "required": [] + "$ref": "#/$defs/strictMessageContent" } ] } @@ -15762,17 +18863,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -15994,152 +19095,7 @@ "type": "string" }, { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "tts": { - "type": "boolean" - }, - "embeds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "color": { - "type": "number" - }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - } - }, - "required": [] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "thumbnail": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "video": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [] - }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "required": [] - } - }, - "author": { - "anyOf": [ - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "width": { - "type": "number" - }, - "height": { - "type": "number" - } - }, - "required": [] - }, - { - "type": "null" - } - ] - } - }, - "required": [] - } - } - }, - "required": [] + "$ref": "#/$defs/strictMessageContent" } ] } @@ -16202,24 +19158,23 @@ "time": "H:mm", "pretty_datetime": "MMM D, YYYY [at] H:mm z" }, - "anyOf": [ - { - "type": "object", - "propertyNames": { - "enum": [ - "date", - "time", - "pretty_datetime" - ] - }, - "additionalProperties": { - "type": "string" - } + "type": "object", + "properties": { + "date": { + "default": "MMM D, YYYY", + "type": "string" }, - { - "type": "null" + "time": { + "default": "H:mm", + "type": "string" + }, + "pretty_datetime": { + "default": "MMM D, YYYY [at] H:mm z", + "type": "string" } - ] + }, + "required": [], + "additionalProperties": false }, "can_set_timezone": { "default": false, @@ -16382,17 +19337,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -16407,24 +19362,23 @@ "time": "H:mm", "pretty_datetime": "MMM D, YYYY [at] H:mm z" }, - "anyOf": [ - { - "type": "object", - "propertyNames": { - "enum": [ - "date", - "time", - "pretty_datetime" - ] - }, - "additionalProperties": { - "type": "string" - } + "type": "object", + "properties": { + "date": { + "default": "MMM D, YYYY", + "type": "string" }, - { - "type": "null" + "time": { + "default": "H:mm", + "type": "string" + }, + "pretty_datetime": { + "default": "MMM D, YYYY [at] H:mm z", + "type": "string" } - ] + }, + "required": [], + "additionalProperties": false }, "can_set_timezone": { "default": false, @@ -16606,17 +19560,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -16905,17 +19859,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -17231,17 +20185,17 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", @@ -17293,12 +20247,26 @@ "type": "object", "properties": { "success_emoji": { - "default": "✅", - "type": "string" + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "error_emoji": { - "default": "❌", - "type": "string" + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "attachment_storing_channel": { "default": null, @@ -17468,28 +20436,42 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, "config": { "type": "object", "properties": { "success_emoji": { - "default": "✅", - "type": "string" + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "error_emoji": { - "default": "❌", - "type": "string" + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "attachment_storing_channel": { "default": null, @@ -17525,9 +20507,10 @@ "additionalProperties": false, "$defs": { "__schema0": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" }, - "__schema1": { + "overrideCriteria": { + "id": "overrideCriteria", "type": "object", "properties": { "channel": { @@ -17678,17 +20661,188 @@ "all": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "any": { "type": "array", "items": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" } }, "not": { - "$ref": "#/$defs/__schema1" + "$ref": "#/$defs/overrideCriteria" + } + }, + "required": [], + "additionalProperties": false + }, + "strictMessageContent": { + "id": "strictMessageContent", + "type": "object", + "properties": { + "content": { + "type": "string" + }, + "tts": { + "type": "boolean" + }, + "embeds": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/$defs/embedInput" + } + }, + { + "$ref": "#/$defs/embedInput" + } + ] + }, + "embed": { + "$ref": "#/$defs/embedInput" + } + }, + "required": [], + "additionalProperties": false + }, + "embedInput": { + "id": "embedInput", + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "url": { + "type": "string" + }, + "timestamp": { + "type": "string" + }, + "color": { + "type": "number" + }, + "footer": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "icon_url": { + "type": "string" + } + }, + "required": [ + "text" + ] + }, + "image": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + } + }, + "required": [] + }, + "thumbnail": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + } + }, + "required": [] + }, + "video": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + } + }, + "required": [] + }, + "provider": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "inline": { + "type": "boolean" + } + }, + "required": [] + } + }, + "author": { + "anyOf": [ + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + } + }, + "required": [ + "name" + ] + }, + { + "type": "null" + } + ] } }, "required": [],