Enhance embed functionality across scheduler and welcome components

- Updated SchedulerManager and WelcomeForm to integrate DiscordEmbedBuilder for managing embeds, replacing JSON text areas with a more user-friendly interface.
- Modified data handling in the scheduler and welcome configurations to support embed structures, ensuring proper parsing and validation.
- Updated localization files to reflect changes in embed handling, improving user guidance and clarity in both English and German.
- Enhanced validation schemas to require embed titles or descriptions where necessary, ensuring robust data integrity.
This commit is contained in:
TheOnlyMace
2026-07-22 21:49:38 +02:00
parent 6a223892dd
commit 55a4f7bf09
10 changed files with 392 additions and 82 deletions

View File

@@ -21,7 +21,19 @@
"optional": "Optional",
"searchSelect": "Search and select…",
"noResults": "No results",
"clearSelection": "Clear selection"
"clearSelection": "Clear selection"
},
"embedBuilder": {
"title": "Title",
"titlePlaceholder": "Welcome!",
"description": "Description",
"descriptionPlaceholder": "Glad you're here, {user}.",
"color": "Color",
"preview": "Preview",
"previewTitlePlaceholder": "Embed title",
"previewDescriptionPlaceholder": "Embed description appears here…",
"clear": "Clear embed",
"clearHint": "Empty fields do not save an embed."
},
"nav": {
"dashboard": "Dashboard",
@@ -276,7 +288,7 @@
"welcomeContent": "Message content",
"contentPlaceholder": "Welcome {user} to {server}!",
"placeholdersHint": "Available placeholders: {user}, {user.name}, {user.tag}, {user.id}, {server}, {memberCount}",
"welcomeEmbed": "Embed (JSON, optional)",
"welcomeEmbed": "Embed",
"welcomeDmEnabled": "Welcome DM enabled",
"dmContentPlaceholder": "Optional private message to new members",
"userAutoroles": "Autoroles for users",
@@ -288,7 +300,7 @@
"leaveEnabledLabel": "Leave message enabled",
"leaveChannelId": "Leave channel ID",
"leaveContent": "Message content",
"leaveEmbed": "Embed (JSON, optional)"
"leaveEmbed": "Embed"
},
"verification": {
"title": "Verification",
@@ -461,7 +473,9 @@
},
"triggerWord": "Trigger word (optional)",
"content": "Content",
"allowedRoleIds": "Allowed role IDs",
"embed": "Embed",
"embedRequired": "Embed tags need a title or description.",
"allowedRoleIds": "Allowed roles",
"allowedChannelIds": "Allowed channel IDs",
"idsPlaceholder": "One or more IDs, comma-separated",
"create": "Create tag",
@@ -562,10 +576,11 @@
"cron": "Cron expression",
"runAt": "Run at",
"content": "Message content",
"cronHint": "Set a cron expression for recurring messages, or a one-time date/time - not both.",
"embed": "Embed (optional)",
"cronHint": "Set a cron expression for recurring messages, or a one-time date/time - not both. Text and/or embed is required.",
"create": "Schedule message",
"created": "Message scheduled.",
"formIncomplete": "Please fill in the channel, content and either a cron expression or a date/time.",
"formIncomplete": "Please fill channel, content or embed, and either a cron expression or a date/time.",
"confirmDelete": "Really delete this schedule?",
"listTitle": "Scheduled messages",
"listDescription": "Upcoming and recurring scheduled messages.",