feat: Discord/Slack/ntfy/Matrix targets, command templates, delete protection, email/matrix bots
- Discord, Slack, ntfy, Matrix notification target types with clients and dispatch - MatrixBot model + API + frontend in Bots tab - Command template system fully wired into all handler commands - Default command templates seeded (EN/RU, 14 slots each) - Command template editor with variables reference including child fields - Delete protection on all 10 entity types (409 with consumer details) - Provider type selector on template config forms - Target type selector as dropdown with all 7 types - Response template selector on command config form - CLAUDE.md: mandatory server restart rule, child properties rule
This commit is contained in:
@@ -178,7 +178,7 @@
|
||||
},
|
||||
"targets": {
|
||||
"title": "Targets",
|
||||
"description": "Notification destinations (Telegram, webhooks)",
|
||||
"description": "Notification destinations (Telegram, Discord, Slack, Email, ntfy, Matrix, Webhooks)",
|
||||
"addTarget": "Add Target",
|
||||
"cancel": "Cancel",
|
||||
"type": "Type",
|
||||
@@ -203,7 +203,16 @@
|
||||
"disableUrlPreview": "Disable link previews",
|
||||
"sendLargeAsDocuments": "Send large photos as documents",
|
||||
"chatAction": "Chat action",
|
||||
"chatActionNone": "None (no action)"
|
||||
"chatActionNone": "None (no action)",
|
||||
"overrideUsername": "Override bot username",
|
||||
"ntfyServer": "ntfy Server URL",
|
||||
"ntfyTopic": "Topic",
|
||||
"ntfyToken": "Auth Token",
|
||||
"ntfyTokenPlaceholder": "Optional (for protected topics)",
|
||||
"selectEmailBot": "Select Email Bot",
|
||||
"selectMatrixBot": "Select Matrix Bot",
|
||||
"recipientEmail": "Recipient Email",
|
||||
"matrixRoomId": "Room ID"
|
||||
},
|
||||
"users": {
|
||||
"title": "Users",
|
||||
@@ -345,6 +354,7 @@
|
||||
"templateConfig": {
|
||||
"title": "Template Configs",
|
||||
"description": "Define how notification messages are formatted",
|
||||
"providerType": "Service Provider Type",
|
||||
"newConfig": "New Config",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "Default EN",
|
||||
@@ -479,6 +489,21 @@
|
||||
"botLocale": "Language for command descriptions in Telegram's menu and bot response messages.",
|
||||
"rateLimits": "Cooldown in seconds between uses of each command category per chat. 0 = no limit."
|
||||
},
|
||||
"matrixBot": {
|
||||
"title": "Matrix Bots",
|
||||
"description": "Matrix homeserver connections for room notifications",
|
||||
"addBot": "Add Matrix Bot",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "Home Server Bot",
|
||||
"homeserverUrl": "Homeserver URL",
|
||||
"accessToken": "Access Token",
|
||||
"tokenPlaceholder": "syt_...",
|
||||
"tokenUnchanged": "(unchanged)",
|
||||
"displayName": "Display Name",
|
||||
"testConnection": "Test connection",
|
||||
"noBots": "No Matrix bots yet.",
|
||||
"confirmDelete": "Delete this Matrix bot?"
|
||||
},
|
||||
"emailBot": {
|
||||
"title": "Email Bots",
|
||||
"description": "SMTP email senders for notifications",
|
||||
@@ -527,7 +552,9 @@
|
||||
"defaultCooldown": "Default cooldown (s)",
|
||||
"noConfigs": "No command configs yet.",
|
||||
"confirmDelete": "Delete this command config?",
|
||||
"commands": "commands"
|
||||
"commands": "commands",
|
||||
"responseTemplate": "Response Template",
|
||||
"noTemplate": "Default (hardcoded)"
|
||||
},
|
||||
"commandTracker": {
|
||||
"title": "Command Trackers",
|
||||
@@ -595,7 +622,11 @@
|
||||
"emailBotCreated": "Email bot created",
|
||||
"emailBotUpdated": "Email bot updated",
|
||||
"emailBotDeleted": "Email bot deleted",
|
||||
"emailBotTestSent": "Test email sent successfully"
|
||||
"emailBotTestSent": "Test email sent successfully",
|
||||
"matrixBotCreated": "Matrix bot created",
|
||||
"matrixBotUpdated": "Matrix bot updated",
|
||||
"matrixBotDeleted": "Matrix bot deleted",
|
||||
"matrixBotTestOk": "Matrix connection verified"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Loading...",
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
},
|
||||
"targets": {
|
||||
"title": "Получатели",
|
||||
"description": "Адреса уведомлений (Telegram, вебхуки)",
|
||||
"description": "Адреса уведомлений (Telegram, Discord, Slack, Email, ntfy, Matrix, вебхуки)",
|
||||
"addTarget": "Добавить получателя",
|
||||
"cancel": "Отмена",
|
||||
"type": "Тип",
|
||||
@@ -203,7 +203,16 @@
|
||||
"disableUrlPreview": "Отключить превью ссылок",
|
||||
"sendLargeAsDocuments": "Отправлять большие фото как документы",
|
||||
"chatAction": "Действие в чате",
|
||||
"chatActionNone": "Нет (без действия)"
|
||||
"chatActionNone": "Нет (без действия)",
|
||||
"overrideUsername": "Переопределить имя бота",
|
||||
"ntfyServer": "URL сервера ntfy",
|
||||
"ntfyTopic": "Тема",
|
||||
"ntfyToken": "Токен авторизации",
|
||||
"ntfyTokenPlaceholder": "Необязательно (для защищённых тем)",
|
||||
"selectEmailBot": "Выберите Email бот",
|
||||
"selectMatrixBot": "Выберите Matrix бот",
|
||||
"recipientEmail": "Email получателя",
|
||||
"matrixRoomId": "ID комнаты"
|
||||
},
|
||||
"users": {
|
||||
"title": "Пользователи",
|
||||
@@ -345,6 +354,7 @@
|
||||
"templateConfig": {
|
||||
"title": "Конфигурации шаблонов",
|
||||
"description": "Определите формат уведомлений",
|
||||
"providerType": "Тип сервис-провайдера",
|
||||
"newConfig": "Новая конфигурация",
|
||||
"name": "Название",
|
||||
"namePlaceholder": "По умолчанию RU",
|
||||
@@ -479,6 +489,21 @@
|
||||
"botLocale": "Язык описаний команд в меню Telegram и ответов бота.",
|
||||
"rateLimits": "Кулдаун в секундах между использованиями команд в каждом чате. 0 = без ограничений."
|
||||
},
|
||||
"matrixBot": {
|
||||
"title": "Matrix боты",
|
||||
"description": "Подключения к Matrix серверам для уведомлений в комнаты",
|
||||
"addBot": "Добавить Matrix бот",
|
||||
"name": "Название",
|
||||
"namePlaceholder": "Бот для дома",
|
||||
"homeserverUrl": "URL сервера",
|
||||
"accessToken": "Токен доступа",
|
||||
"tokenPlaceholder": "syt_...",
|
||||
"tokenUnchanged": "(без изменений)",
|
||||
"displayName": "Отображаемое имя",
|
||||
"testConnection": "Проверить подключение",
|
||||
"noBots": "Matrix ботов пока нет.",
|
||||
"confirmDelete": "Удалить этот Matrix бот?"
|
||||
},
|
||||
"emailBot": {
|
||||
"title": "Email боты",
|
||||
"description": "SMTP отправители для уведомлений по email",
|
||||
@@ -527,7 +552,9 @@
|
||||
"defaultCooldown": "Кулдаун по умолчанию (с)",
|
||||
"noConfigs": "Конфигураций команд пока нет.",
|
||||
"confirmDelete": "Удалить эту конфигурацию команд?",
|
||||
"commands": "команд"
|
||||
"commands": "команд",
|
||||
"responseTemplate": "Шаблон ответов",
|
||||
"noTemplate": "По умолчанию (встроенный)"
|
||||
},
|
||||
"commandTracker": {
|
||||
"title": "Трекеры команд",
|
||||
@@ -595,7 +622,11 @@
|
||||
"emailBotCreated": "Email бот создан",
|
||||
"emailBotUpdated": "Email бот обновлён",
|
||||
"emailBotDeleted": "Email бот удалён",
|
||||
"emailBotTestSent": "Тестовое письмо отправлено"
|
||||
"emailBotTestSent": "Тестовое письмо отправлено",
|
||||
"matrixBotCreated": "Matrix бот создан",
|
||||
"matrixBotUpdated": "Matrix бот обновлён",
|
||||
"matrixBotDeleted": "Matrix бот удалён",
|
||||
"matrixBotTestOk": "Подключение к Matrix проверено"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Загрузка...",
|
||||
|
||||
Reference in New Issue
Block a user