iobroker.telegram-menu
Advanced tools
Comparing version 0.5.1 to 0.6.0
@@ -5,2 +5,3 @@ { | ||
"Active": "Aktiv", | ||
"Active Menu:": "Aktives Menü:", | ||
"Add": "hinzufügen", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Fügen Sie && als Platzhalter für den Wert im Text hinzu", | ||
"Add new Groupname": "Neuen Gruppennamen hinzufügen", | ||
"Add new Menu Name": "Neuen Menünamen hinzufügen", | ||
"Add new Navigation": "Neue Navigation hinzufügen", | ||
@@ -25,4 +27,6 @@ "Add new User": "Neuen Benutzer hinzufügen", | ||
"Confirm set value": "Eingestellten Wert bestätigen", | ||
"Copy Elements from other Menus": "Elemente aus anderen Menüs kopieren", | ||
"Delay": "Verzögerung", | ||
"Delay (ms)": "Verzögerung (ms)", | ||
"Delete Menu": "Menü löschen", | ||
"Delete User": "Benutzer löschen", | ||
@@ -32,2 +36,3 @@ "Directory": "Verzeichnis", | ||
"Each entry may only occur once in the complete navigation": "Jeder Eintrag darf in der gesamten Navigation nur einmal vorkommen", | ||
"Edit Menu": "Menü bearbeiten", | ||
"Edit Username": "Benutzernamen bearbeiten", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "Eintrag nicht gefunden!", | ||
"Users for this Group, seperate with": "Benutzer für diese Gruppe, trennen Sie mit", | ||
"Users from Telegram": "Benutzer von Telegram", | ||
"Value": "Wert", | ||
@@ -53,0 +59,0 @@ "What is to do?": "Was ist zu tun?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "Active", | ||
"Active Menu:": "Active Menu:", | ||
"Add": "add", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Add && as a placeholder for the value in the text", | ||
"Add new Groupname": "Add new Groupname", | ||
"Add new Menu Name": "Add new Menu Name", | ||
"Add new Navigation": "Add new Navigation", | ||
@@ -25,4 +27,6 @@ "Add new User": "Add new User", | ||
"Confirm set value": "Confirm set value", | ||
"Copy Elements from other Menus": "Copy Elements from other Menus", | ||
"Delay": "Delay", | ||
"Delay (ms)": "Delay (ms)", | ||
"Delete Menu": "Delete Menu", | ||
"Delete User": "Delete User", | ||
@@ -32,2 +36,3 @@ "Directory": "Directory", | ||
"Each entry may only occur once in the complete navigation": "Each entry may only occur once in the complete navigation", | ||
"Edit Menu": "Edit Menu", | ||
"Edit Username": "Edit Username", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "Entry not found!", | ||
"Users for this Group, seperate with": "Users for this Group, seperate with", | ||
"Users from Telegram": "Users from Telegram", | ||
"Value": "Value", | ||
@@ -53,0 +59,0 @@ "What is to do?": "What is to do?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "Activo", | ||
"Active Menu:": "Menú Activo:", | ||
"Add": "agregar", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Agregue && como marcador de posición para el valor en el texto", | ||
"Add new Groupname": "Agregar nuevo nombre de grupo", | ||
"Add new Menu Name": "Agregar nuevo nombre de menú", | ||
"Add new Navigation": "Agregar nueva navegación", | ||
@@ -25,4 +27,6 @@ "Add new User": "Añadir nuevo usuario", | ||
"Confirm set value": "Confirmar valor establecido", | ||
"Copy Elements from other Menus": "Copiar elementos de otros menús", | ||
"Delay": "Demora", | ||
"Delay (ms)": "Retardo (ms)", | ||
"Delete Menu": "Borrar Menú", | ||
"Delete User": "Borrar usuario", | ||
@@ -32,2 +36,3 @@ "Directory": "Directorio", | ||
"Each entry may only occur once in the complete navigation": "Cada entrada solo puede ocurrir una vez en la navegación completa", | ||
"Edit Menu": "Menú de edición", | ||
"Edit Username": "Editar nombre de usuario", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "¡Entrada no encontrada!", | ||
"Users for this Group, seperate with": "Usuarios para este Grupo, separe con", | ||
"Users from Telegram": "Usuarios de Telegram", | ||
"Value": "Valor", | ||
@@ -53,0 +59,0 @@ "What is to do?": "¿Qué hay que hacer?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "Actif", | ||
"Active Menu:": "Menu Actif :", | ||
"Add": "ajouter", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Ajouter && comme espace réservé pour la valeur dans le texte", | ||
"Add new Groupname": "Ajouter un nouveau nom de groupe", | ||
"Add new Menu Name": "Ajouter un nouveau nom de menu", | ||
"Add new Navigation": "Ajouter une nouvelle navigation", | ||
@@ -25,4 +27,6 @@ "Add new User": "Ajouter un nouvel utilisateur", | ||
"Confirm set value": "Confirmer la valeur définie", | ||
"Copy Elements from other Menus": "Copier des éléments d'autres menus", | ||
"Delay": "Retard", | ||
"Delay (ms)": "Délai (ms)", | ||
"Delete Menu": "Supprimer le menu", | ||
"Delete User": "Supprimer l'utilisateur", | ||
@@ -32,2 +36,3 @@ "Directory": "Annuaire", | ||
"Each entry may only occur once in the complete navigation": "Chaque entrée ne peut apparaître qu'une seule fois dans la navigation complète", | ||
"Edit Menu": "Modifier le menu", | ||
"Edit Username": "Modifier le nom d'utilisateur", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "Entrée introuvable !", | ||
"Users for this Group, seperate with": "Utilisateurs pour ce groupe, séparés par", | ||
"Users from Telegram": "Utilisateurs de Telegram", | ||
"Value": "Valeur", | ||
@@ -53,0 +59,0 @@ "What is to do?": "Que faire ?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "Attivo", | ||
"Active Menu:": "Menù attivo:", | ||
"Add": "aggiungere", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Aggiungi && come segnaposto per il valore nel testo", | ||
"Add new Groupname": "Aggiungi nuovo nome gruppo", | ||
"Add new Menu Name": "Aggiungi un nuovo nome di menu", | ||
"Add new Navigation": "Aggiungi nuova navigazione", | ||
@@ -25,4 +27,6 @@ "Add new User": "Aggiungi nuovo utente", | ||
"Confirm set value": "Conferma il valore impostato", | ||
"Copy Elements from other Menus": "Copia elementi da altri menu", | ||
"Delay": "Ritardo", | ||
"Delay (ms)": "Ritardo (ms)", | ||
"Delete Menu": "Elimina Menù", | ||
"Delete User": "Elimina utente", | ||
@@ -32,2 +36,3 @@ "Directory": "Direttorio", | ||
"Each entry may only occur once in the complete navigation": "Ogni voce può comparire una sola volta nella navigazione completa", | ||
"Edit Menu": "Menù Modifica", | ||
"Edit Username": "Modifica nome utente", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "Voce non trovata!", | ||
"Users for this Group, seperate with": "Utenti per questo gruppo, separati da", | ||
"Users from Telegram": "Utenti di Telegram", | ||
"Value": "Valore", | ||
@@ -53,0 +59,0 @@ "What is to do?": "Cosa fare?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "Actief", | ||
"Active Menu:": "Actief menu:", | ||
"Add": "toevoegen", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Voeg && toe als tijdelijke aanduiding voor de waarde in de tekst", | ||
"Add new Groupname": "Nieuwe groepsnaam toevoegen", | ||
"Add new Menu Name": "Voeg een nieuwe menunaam toe", | ||
"Add new Navigation": "Nieuwe navigatie toevoegen", | ||
@@ -25,4 +27,6 @@ "Add new User": "Voeg een nieuwe gebruiker toe", | ||
"Confirm set value": "Bevestig ingestelde waarde", | ||
"Copy Elements from other Menus": "Kopieer elementen uit andere menu's", | ||
"Delay": "Vertraging", | ||
"Delay (ms)": "Vertraging (ms)", | ||
"Delete Menu": "Menu verwijderen", | ||
"Delete User": "Verwijder gebruiker", | ||
@@ -32,2 +36,3 @@ "Directory": "Gids", | ||
"Each entry may only occur once in the complete navigation": "Elke invoer mag slechts één keer voorkomen in de volledige navigatie", | ||
"Edit Menu": "Menu bewerken", | ||
"Edit Username": "Gebruikersnaam bewerken", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "Invoer niet gevonden!", | ||
"Users for this Group, seperate with": "Gebruikers voor deze groep, scheid met", | ||
"Users from Telegram": "Gebruikers van Telegram", | ||
"Value": "Waarde", | ||
@@ -53,0 +59,0 @@ "What is to do?": "Wat is er te doen?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "Aktywny", | ||
"Active Menu:": "aktywne menu:", | ||
"Add": "dodać", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Dodaj && jako symbol zastępczy wartości w tekście", | ||
"Add new Groupname": "Dodaj nową nazwę grupy", | ||
"Add new Menu Name": "Dodaj nową nazwę menu", | ||
"Add new Navigation": "Dodaj nową Nawigację", | ||
@@ -25,4 +27,6 @@ "Add new User": "Dodaj nowego użytkownika", | ||
"Confirm set value": "Potwierdź ustawioną wartość", | ||
"Copy Elements from other Menus": "Kopiuj elementy z innych menu", | ||
"Delay": "Opóźnienie", | ||
"Delay (ms)": "Opóźnienie (ms)", | ||
"Delete Menu": "Usuń menu", | ||
"Delete User": "Usuń użytkownika", | ||
@@ -32,2 +36,3 @@ "Directory": "Informator", | ||
"Each entry may only occur once in the complete navigation": "Każdy wpis może wystąpić tylko raz w całej nawigacji", | ||
"Edit Menu": "Edytuj menu", | ||
"Edit Username": "Edytuj nazwę użytkownika", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "Nie znaleziono wpisu!", | ||
"Users for this Group, seperate with": "Użytkownicy dla tej grupy, oddzielni od", | ||
"Users from Telegram": "Użytkownicy Telegrama", | ||
"Value": "Wartość", | ||
@@ -53,0 +59,0 @@ "What is to do?": "Co robić?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "Ativo", | ||
"Active Menu:": "Menu ativo:", | ||
"Add": "adicionar", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Adicionar && como espaço reservado para o valor no texto", | ||
"Add new Groupname": "Adicionar novo nome de grupo", | ||
"Add new Menu Name": "Adicionar novo nome de menu", | ||
"Add new Navigation": "Adicionar nova navegação", | ||
@@ -25,4 +27,6 @@ "Add new User": "Adicionar novo usuário", | ||
"Confirm set value": "Confirme o valor definido", | ||
"Copy Elements from other Menus": "Copiar elementos de outros menus", | ||
"Delay": "Atraso", | ||
"Delay (ms)": "Atraso (ms)", | ||
"Delete Menu": "Apagar Menu", | ||
"Delete User": "Deletar usuário", | ||
@@ -32,2 +36,3 @@ "Directory": "Diretório", | ||
"Each entry may only occur once in the complete navigation": "Cada entrada só pode ocorrer uma vez na navegação completa", | ||
"Edit Menu": "Editar menu", | ||
"Edit Username": "Editar nome de usuário", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "Entrada não encontrada!", | ||
"Users for this Group, seperate with": "Usuários deste Grupo, separados por", | ||
"Users from Telegram": "Usuários do Telegram", | ||
"Value": "Valor", | ||
@@ -53,0 +59,0 @@ "What is to do?": "O que fazer?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "Активный", | ||
"Active Menu:": "Активное меню:", | ||
"Add": "добавлять", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Добавьте && в качестве заполнителя для значения в тексте", | ||
"Add new Groupname": "Добавить новое имя группы", | ||
"Add new Menu Name": "Добавить новое название меню", | ||
"Add new Navigation": "Добавить новую навигацию", | ||
@@ -25,4 +27,6 @@ "Add new User": "Добавить нового пользователя", | ||
"Confirm set value": "Подтвердить установленное значение", | ||
"Copy Elements from other Menus": "Копировать элементы из других меню", | ||
"Delay": "Задерживать", | ||
"Delay (ms)": "Задержка (мс)", | ||
"Delete Menu": "Удалить меню", | ||
"Delete User": "Удалить пользователя", | ||
@@ -32,2 +36,3 @@ "Directory": "Каталог", | ||
"Each entry may only occur once in the complete navigation": "Каждая запись может встречаться только один раз за всю навигацию.", | ||
"Edit Menu": "Меню редактирования", | ||
"Edit Username": "Изменить имя пользователя", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "Запись не найдена!", | ||
"Users for this Group, seperate with": "Пользователи для этой группы, отдельно с", | ||
"Users from Telegram": "Пользователи из Telegram", | ||
"Value": "Ценить", | ||
@@ -53,0 +59,0 @@ "What is to do?": "Что делать?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "Активний", | ||
"Active Menu:": "Активне меню:", | ||
"Add": "додати", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "Додайте && як заповнювач для значення в тексті", | ||
"Add new Groupname": "Додайте нову назву групи", | ||
"Add new Menu Name": "Додайте нову назву меню", | ||
"Add new Navigation": "Додати нову навігацію", | ||
@@ -25,4 +27,6 @@ "Add new User": "Додати нового користувача", | ||
"Confirm set value": "Підтвердьте встановлене значення", | ||
"Copy Elements from other Menus": "Копіювати елементи з інших меню", | ||
"Delay": "Затримка", | ||
"Delay (ms)": "Затримка (мс)", | ||
"Delete Menu": "Видалити меню", | ||
"Delete User": "Видалити користувача", | ||
@@ -32,2 +36,3 @@ "Directory": "Довідник", | ||
"Each entry may only occur once in the complete navigation": "Кожен запис може з’являтися лише один раз у повній навігації", | ||
"Edit Menu": "Меню редагування", | ||
"Edit Username": "Редагувати ім'я користувача", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "Запис не знайдено!", | ||
"Users for this Group, seperate with": "Користувачі для цієї групи, окремо від", | ||
"Users from Telegram": "Користувачі з Telegram", | ||
"Value": "Значення", | ||
@@ -53,0 +59,0 @@ "What is to do?": "Що робити?", |
@@ -5,2 +5,3 @@ { | ||
"Active": "积极的", | ||
"Active Menu:": "活动菜单:", | ||
"Add": "添加", | ||
@@ -12,2 +13,3 @@ "Add && as a placeholder for the value in the text": "添加 && 作为文本中值的占位符", | ||
"Add new Groupname": "添加新组名", | ||
"Add new Menu Name": "添加新菜单名称", | ||
"Add new Navigation": "添加新导航", | ||
@@ -25,4 +27,6 @@ "Add new User": "添加新用户", | ||
"Confirm set value": "确认设定值", | ||
"Copy Elements from other Menus": "从其他菜单复制元素", | ||
"Delay": "延迟", | ||
"Delay (ms)": "延迟(毫秒)", | ||
"Delete Menu": "删除菜单", | ||
"Delete User": "删除用户", | ||
@@ -32,2 +36,3 @@ "Directory": "目录", | ||
"Each entry may only occur once in the complete navigation": "每个条目在完整导航中只能出现一次", | ||
"Edit Menu": "编辑菜单", | ||
"Edit Username": "修改用户名", | ||
@@ -51,2 +56,3 @@ "Entry not found!": "找不到条目!", | ||
"Users for this Group, seperate with": "该组的用户,与", | ||
"Users from Telegram": "来自 Telegram 的用户", | ||
"Value": "价值", | ||
@@ -53,0 +59,0 @@ "What is to do?": "怎么办?", |
@@ -0,12 +1,20 @@ | ||
/*global $*/ | ||
/*eslint no-unused-vars: ["error", { "varsIgnorePattern": "e" }]*/ | ||
// Navigation---------------------------------------------------- | ||
function groupUserInput(user, val) { | ||
return /*html*/ `<div class="${user}"> | ||
<label > | ||
<input name="${user}" spellcheck="false" type="text" value="${val}" class="isString" > | ||
//FIXME - Remove | ||
function groupUserInput(menu, val) { | ||
return /*html*/ `<div data-name="group" data-menu="${menu}" class="${menu} "> | ||
<!-- <label > | ||
<input name="${menu}" spellcheck="false" type="text" value="${val}" class="isString" > | ||
<span class="translate">Users for this Group, seperate with</span><span> ",".</span> | ||
</label> | ||
</label> --> | ||
</div>`; | ||
} | ||
function userSelectionTelegram(user, menu) { | ||
$(`#group_UserInput .${menu}`) | ||
.append(/*html*/ `<div data-name="${user}"><p>${user}</p><label><input data-menu="${user}" type="checkbox" class="filled-in userSelection" /><span></span></label></div> | ||
`); | ||
} | ||
/** | ||
@@ -27,2 +35,3 @@ * Nav Component & Startrow in Nav | ||
<td></td> | ||
<td><a class="btn-floating btn-small waves-effect waves-light green btn_add_row"><i class="material-icons">add</i></a></td> | ||
</tr> | ||
@@ -56,2 +65,3 @@ </tbody>`; | ||
<td><a class="btn-floating btn-small waves-effect waves-light blue btn_up"><i class="material-icons" name="up">arrow_upward</i></a></td> | ||
<td><a class="btn-floating btn-small waves-effect waves-light green btn_add_row"><i class="material-icons">add</i></a></td> | ||
</tr>`; | ||
@@ -66,3 +76,3 @@ } | ||
function newUserBtn(user) { | ||
return /*html*/ `<li class="tab col s2 bg-nav-user"><a name="${user}" class="click_user" href="#">${user}</a></li>`; | ||
return /*html*/ `<li class="tab bg-nav-user"><a name="${user}" class="click_user" href="#">${user}</a></li>`; | ||
} | ||
@@ -72,6 +82,7 @@ function userActivCheckbox(user, val) { | ||
if (val || val == "") checked = "checked"; | ||
return /*html*/ `<div class="${user}" style="display:none"><input type="checkbox" class="filled-in userActiveCheckbox" ${checked} data-name="${user}"/> | ||
return /*html*/ `<div class="${user}" style="display:none"><label> <input type="checkbox" class="filled-in userActiveCheckbox" ${checked} data-name="${user}"/> | ||
<span class="marginTop">${user} <span> </span><span class="translate">active</span> | ||
</span></div> `; | ||
</span></label></div> `; | ||
} | ||
//SECTION - - Trigger | ||
@@ -81,3 +92,2 @@ function createSelectTrigger(list) { | ||
list.forEach(function (e) { | ||
if (e.includes("menu:")) e = e.split(":")[2]; | ||
const dynamicChild = `<option value="${e}" >${e}</option>`; | ||
@@ -124,5 +134,5 @@ element += dynamicChild; | ||
return /*html*/ `<div class="row user_${user}"> | ||
<div class="col s12"> | ||
<div class="col s12 table_wrapper action"> | ||
<div > | ||
<p class="showHideMenu" style="width: 100%; background: #64b5f6"><i class="material-icons">chevron_right</i>GetState</p> | ||
<p class="showHideMenu name" style="width: 100%; background: #64b5f6"><i class="material-icons">chevron_right</i>GetState</p> | ||
<table style="display: none;" class="text-small saveTable"> | ||
@@ -148,3 +158,3 @@ <thead> | ||
<div > | ||
<p class="showHideMenu" style="width: 100%; background: #64b5f6"><i class="material-icons">chevron_right</i>SetState</p> | ||
<p class="showHideMenu name" style="width: 100%; background: #64b5f6"><i class="material-icons">chevron_right</i>SetState</p> | ||
<table style="display: none;" class="text-small saveTable"> | ||
@@ -171,3 +181,3 @@ <thead> | ||
<div> | ||
<p class="showHideMenu" style="width: 100%; background: #64b5f6"><i class="material-icons">chevron_right</i>Send Picture</p> | ||
<p class="showHideMenu name" style="width: 100%; background: #64b5f6"><i class="material-icons">chevron_right</i>Send Picture</p> | ||
<table style="display: none;" class="text-small saveTable"> | ||
@@ -174,0 +184,0 @@ <thead> |
@@ -1,2 +0,2 @@ | ||
/*global newUserBtn ,navElement ,actionElement,createSelectTrigger,newTableRow_Action,newTableRow_Action,newTrInAction, newSelectInstanceRow,userActivCheckbox,$, groupUserInput*/ | ||
/*global newUserBtn, ,navElement, userSelectionTelegram ,actionElement,createSelectTrigger,newTableRow_Action,newTableRow_Action,newTrInAction,userActivCheckbox,$, groupUserInput*/ | ||
/*eslint no-unused-vars: ["error", { "varsIgnorePattern": "disableEnableInputField|isStringEmty|generate|create|set|fill|reset|add|show|ins|table|get|new|show|checkValueModal|disable|checkUpAndDownArrowBtn|"}]*/ | ||
@@ -81,24 +81,54 @@ | ||
* @param {string} id Where to create | ||
* @param {Array} users Array of Users | ||
* @param {Array} menu Array of Menus | ||
*/ | ||
function createGroup(id, users, activeGroup, userActiveCheckbox, usersInGroup) { | ||
users.forEach((user) => { | ||
function createGroup(id, menu, activeGroup, userActiveCheckbox, usersInGroup) { | ||
menu.forEach((menu) => { | ||
// @ts-ignore | ||
$(id).append(newUserBtn(user)); | ||
$(id).append(newUserBtn(menu)); | ||
// @ts-ignore | ||
$("#table_nav").append(navElement(user)); | ||
$("#table_nav").append(navElement(menu)); | ||
// @ts-ignore | ||
$("#tab-action").append(actionElement(user)); | ||
$("#tab-action").append(actionElement(menu)); | ||
let val; | ||
if (userActiveCheckbox && userActiveCheckbox[user] != undefined) val = userActiveCheckbox[user]; | ||
if (userActiveCheckbox && userActiveCheckbox[menu] != undefined) val = userActiveCheckbox[menu]; | ||
else val = ""; | ||
// @ts-ignore | ||
$("#group_active_checkbox").append(userActivCheckbox(user, val)); | ||
if (usersInGroup && usersInGroup[user] != undefined) val = usersInGroup[user]; | ||
$("#group_active_checkbox").append(userActivCheckbox(menu, val)); | ||
if (usersInGroup && usersInGroup[menu] != undefined) val = usersInGroup[menu]; | ||
else val = ""; | ||
// @ts-ignore | ||
$("#group_UserInput").append(groupUserInput(user, val)); | ||
$("#group_UserInput").append(groupUserInput(menu, val)); | ||
}); | ||
if (activeGroup) $(`#group_active_checkbox div.${activeGroup}`).show(); | ||
} | ||
//ANCHOR - User von Telegram mit Checkbox | ||
function buildUserSelection(state, menus, userinGroup) { | ||
console.log("test"); | ||
const usersInTelegram = JSON.parse(state.val); | ||
const userListe = []; | ||
console.log(state); | ||
console.log(menus); | ||
for (const user in usersInTelegram) { | ||
userListe.push(usersInTelegram[user]["firstName"]); | ||
} | ||
$(menus).each(function (key, menu) { | ||
$(userListe).each(function (key, user) { | ||
console.log(user, menu); | ||
// @ts-ignore | ||
userSelectionTelegram(user, menu); | ||
}); | ||
checkCheckbox(menu, userListe, userinGroup); | ||
}); | ||
} | ||
//TODO - Function checkbox User Telegram | ||
function checkCheckbox(menu, userList, userinGroup) { | ||
console.log(userinGroup); | ||
$(userList).each(function (index, user) { | ||
if (userinGroup[menu].includes(user)) { | ||
$(`#group_UserInput div.${menu} div[data-name="${user}"] input`).prop("checked", true); | ||
} | ||
}); | ||
} | ||
//SECTION - Save 5 Save to Object | ||
@@ -195,3 +225,3 @@ // @ts-ignore | ||
$("#tab-action>div").hide(); | ||
$("#group_UserInput div").hide(); | ||
$("#group_UserInput div[data-name='group'").hide(); | ||
$(`tbody.table_switch_user.user_${activeGroup}`).show(); | ||
@@ -231,3 +261,2 @@ $(`#tab-action>div.user_${activeGroup}`).show(); | ||
//ANCHOR - Trigger erstellen | ||
//TODO - | ||
// @ts-ignore | ||
@@ -238,2 +267,3 @@ function generateSelectTrigger(activeGroup) { | ||
list = deleteDoubleEntrysInArray(list); | ||
list = deleteUnnessesaryElements(list); | ||
list = sortArray(list); | ||
@@ -243,2 +273,3 @@ // HTML Elemente löschen und neu aufbauen | ||
$("#select_trigger").empty().append(createSelectTrigger(list)); | ||
$("select").select(); | ||
} | ||
@@ -249,5 +280,16 @@ | ||
} | ||
function deleteUnnessesaryElements(list) { | ||
const newlist = []; | ||
list.forEach(function (e) { | ||
if (e != "menu:back" && e != "-") { | ||
if (e.includes("menu:")) e = e.split(":")[2]; | ||
newlist.push(e); | ||
} | ||
}); | ||
return newlist; | ||
} | ||
/** | ||
* | ||
* @param {[]} arr | ||
* @param {any[]} arr | ||
* @returns Sorted Array | ||
@@ -266,3 +308,2 @@ */ | ||
}); | ||
return arr; | ||
@@ -451,46 +492,9 @@ } | ||
/** | ||
* | ||
* @param {*} socket | ||
* @returns | ||
*/ | ||
// @ts-ignore | ||
function getAllTelegramInstances(socket, _this) { | ||
const id = []; | ||
try { | ||
socket.emit( | ||
"getObjectView", | ||
"system", | ||
"instance", | ||
{ startkey: "system.adapter.", endkey: "system.adapter.\u9999" }, | ||
function (err, doc) { | ||
if (!err && doc.rows.length) { | ||
for (let i = 0; i < doc.rows.length; i++) { | ||
if ( | ||
doc.rows[i].value && | ||
doc.rows[i].value.common && | ||
doc.rows[i].value.common.titleLang && | ||
doc.rows[i].value.common.titleLang.en && | ||
doc.rows[i].value.common.titleLang.en == "Telegram" | ||
// doc.rows[i].value.common.title == "Telegram" | ||
) { | ||
id.push(doc.rows[i].id.replace(/^system\.adapter\./, "")); | ||
} | ||
if (i == doc.rows.length - 1) { | ||
id.forEach((id) => { | ||
// @ts-ignore | ||
$("#select_instance").append(newSelectInstanceRow(id)); | ||
}); | ||
} | ||
} | ||
} | ||
}, | ||
); | ||
} catch (err) { | ||
_this.log.debug("Error getAllTelegramInstance: " + JSON.stringify(err)); | ||
} | ||
function menuToSpan(activeGroup) { | ||
$("#activMenuOutput").text(activeGroup); | ||
} | ||
// @ts-ignore | ||
function showUser(activeGroup, showHideUserCheckbox) { | ||
showHideUserEntry(activeGroup); | ||
menuToSpan(activeGroup); | ||
@@ -497,0 +501,0 @@ $("#group_list li a").each(function () { |
@@ -13,2 +13,3 @@ /*global systemDictionary:true */ | ||
"Action": { "en": "Action", "de": "Aktion", "ru": "Действие", "pt": "Ação", "nl": "Actie", "fr": "Action", "it": "Azione", "es": "Acción", "pl": "Działanie", "uk": "Дія", "zh-cn": "行动"}, | ||
"Active": { "en": "Active", "de": "Aktiv", "ru": "Активный", "pt": "Ativo", "nl": "Actief", "fr": "Actif", "it": "Attivo", "es": "Activo", "pl": "Aktywny", "uk": "Активний", "zh-cn": "积极的"}, | ||
"Add": { "en": "add", "de": "hinzufügen", "ru": "добавлять", "pt": "adicionar", "nl": "toevoegen", "fr": "ajouter", "it": "aggiungere", "es": "agregar", "pl": "dodać", "uk": "додати", "zh-cn": "添加"}, | ||
@@ -20,2 +21,3 @@ "Add && as a placeholder for the value in the text": {"en": "Add && as a placeholder for the value in the text", "de": "Fügen Sie && als Platzhalter für den Wert im Text hinzu", "ru": "Добавьте && в качестве заполнителя для значения в тексте", "pt": "Adicionar && como espaço reservado para o valor no texto", "nl": "Voeg && toe als tijdelijke aanduiding voor de waarde in de tekst", "fr": "Ajouter && comme espace réservé pour la valeur dans le texte", "it": "Aggiungi && come segnaposto per il valore nel testo", "es": "Agregue && como marcador de posición para el valor en el texto", "pl": "Dodaj && jako symbol zastępczy wartości w tekście", "uk": "Додайте && як заповнювач для значення в тексті", "zh-cn": "添加 && 作为文本中值的占位符"}, | ||
"Add new Groupname": { "en": "Add new Groupname", "de": "Neuen Gruppennamen hinzufügen", "ru": "Добавить новое имя группы", "pt": "Adicionar novo nome de grupo", "nl": "Nieuwe groepsnaam toevoegen", "fr": "Ajouter un nouveau nom de groupe", "it": "Aggiungi nuovo nome gruppo", "es": "Agregar nuevo nombre de grupo", "pl": "Dodaj nową nazwę grupy", "uk": "Додайте нову назву групи", "zh-cn": "添加新组名"}, | ||
"Add new Menu Name": { "en": "Add new Menu Name", "de": "Neuen Menünamen hinzufügen", "ru": "Добавить новое название меню", "pt": "Adicionar novo nome de menu", "nl": "Voeg een nieuwe menunaam toe", "fr": "Ajouter un nouveau nom de menu", "it": "Aggiungi un nuovo nome di menu", "es": "Agregar nuevo nombre de menú", "pl": "Dodaj nową nazwę menu", "uk": "Додайте нову назву меню", "zh-cn": "添加新菜单名称"}, | ||
"Add new Navigation": { "en": "Add new Navigation", "de": "Neue Navigation hinzufügen", "ru": "Добавить новую навигацию", "pt": "Adicionar nova navegação", "nl": "Nieuwe navigatie toevoegen", "fr": "Ajouter une nouvelle navigation", "it": "Aggiungi nuova navigazione", "es": "Agregar nueva navegación", "pl": "Dodaj nową Nawigację", "uk": "Додати нову навігацію", "zh-cn": "添加新导航"}, | ||
@@ -33,4 +35,6 @@ "Add new User": { "en": "Add new User", "de": "Neuen Benutzer hinzufügen", "ru": "Добавить нового пользователя", "pt": "Adicionar novo usuário", "nl": "Voeg een nieuwe gebruiker toe", "fr": "Ajouter un nouvel utilisateur", "it": "Aggiungi nuovo utente", "es": "Añadir nuevo usuario", "pl": "Dodaj nowego użytkownika", "uk": "Додати нового користувача", "zh-cn": "添加新用户"}, | ||
"Confirm set value": { "en": "Confirm set value", "de": "Eingestellten Wert bestätigen", "ru": "Подтвердить установленное значение", "pt": "Confirme o valor definido", "nl": "Bevestig ingestelde waarde", "fr": "Confirmer la valeur définie", "it": "Conferma il valore impostato", "es": "Confirmar valor establecido", "pl": "Potwierdź ustawioną wartość", "uk": "Підтвердьте встановлене значення", "zh-cn": "确认设定值"}, | ||
"Copy Elements from other Menus": { "en": "Copy Elements from other Menus", "de": "Elemente aus anderen Menüs kopieren", "ru": "Копировать элементы из других меню", "pt": "Copiar elementos de outros menus", "nl": "Kopieer elementen uit andere menu's", "fr": "Copier des éléments d'autres menus", "it": "Copia elementi da altri menu", "es": "Copiar elementos de otros menús", "pl": "Kopiuj elementy z innych menu", "uk": "Копіювати елементи з інших меню", "zh-cn": "从其他菜单复制元素"}, | ||
"Delay": { "en": "Delay", "de": "Verzögerung", "ru": "Задерживать", "pt": "Atraso", "nl": "Vertraging", "fr": "Retard", "it": "Ritardo", "es": "Demora", "pl": "Opóźnienie", "uk": "Затримка", "zh-cn": "延迟"}, | ||
"Delay (ms)": { "en": "Delay (ms)", "de": "Verzögerung (ms)", "ru": "Задержка (мс)", "pt": "Atraso (ms)", "nl": "Vertraging (ms)", "fr": "Délai (ms)", "it": "Ritardo (ms)", "es": "Retardo (ms)", "pl": "Opóźnienie (ms)", "uk": "Затримка (мс)", "zh-cn": "延迟(毫秒)"}, | ||
"Delete Menu": { "en": "Delete Menu", "de": "Menü löschen", "ru": "Удалить меню", "pt": "Apagar Menu", "nl": "Menu verwijderen", "fr": "Supprimer le menu", "it": "Elimina Menù", "es": "Borrar Menú", "pl": "Usuń menu", "uk": "Видалити меню", "zh-cn": "删除菜单"}, | ||
"Delete User": { "en": "Delete User", "de": "Benutzer löschen", "ru": "Удалить пользователя", "pt": "Deletar usuário", "nl": "Verwijder gebruiker", "fr": "Supprimer l'utilisateur", "it": "Elimina utente", "es": "Borrar usuario", "pl": "Usuń użytkownika", "uk": "Видалити користувача", "zh-cn": "删除用户"}, | ||
@@ -40,2 +44,3 @@ "Directory": { "en": "Directory", "de": "Verzeichnis", "ru": "Каталог", "pt": "Diretório", "nl": "Gids", "fr": "Annuaire", "it": "Direttorio", "es": "Directorio", "pl": "Informator", "uk": "Довідник", "zh-cn": "目录"}, | ||
"Each entry may only occur once in the complete navigation": {"en": "Each entry may only occur once in the complete navigation", "de": "Jeder Eintrag darf in der gesamten Navigation nur einmal vorkommen", "ru": "Каждая запись может встречаться только один раз за всю навигацию.", "pt": "Cada entrada só pode ocorrer uma vez na navegação completa", "nl": "Elke invoer mag slechts één keer voorkomen in de volledige navigatie", "fr": "Chaque entrée ne peut apparaître qu'une seule fois dans la navigation complète", "it": "Ogni voce può comparire una sola volta nella navigazione completa", "es": "Cada entrada solo puede ocurrir una vez en la navegación completa", "pl": "Każdy wpis może wystąpić tylko raz w całej nawigacji", "uk": "Кожен запис може з’являтися лише один раз у повній навігації", "zh-cn": "每个条目在完整导航中只能出现一次"}, | ||
"Edit Menu": { "en": "Edit Menu", "de": "Menü bearbeiten", "ru": "Меню редактирования", "pt": "Editar menu", "nl": "Menu bewerken", "fr": "Modifier le menu", "it": "Menù Modifica", "es": "Menú de edición", "pl": "Edytuj menu", "uk": "Меню редагування", "zh-cn": "编辑菜单"}, | ||
"Edit Username": { "en": "Edit Username", "de": "Benutzernamen bearbeiten", "ru": "Изменить имя пользователя", "pt": "Editar nome de usuário", "nl": "Gebruikersnaam bewerken", "fr": "Modifier le nom d'utilisateur", "it": "Modifica nome utente", "es": "Editar nombre de usuario", "pl": "Edytuj nazwę użytkownika", "uk": "Редагувати ім'я користувача", "zh-cn": "修改用户名"}, | ||
@@ -63,3 +68,4 @@ "Entry not found!": { "en": "Entry not found!", "de": "Eintrag nicht gefunden!", "ru": "Запись не найдена!", "pt": "Entrada não encontrada!", "nl": "Invoer niet gevonden!", "fr": "Entrée introuvable !", "it": "Voce non trovata!", "es": "¡Entrada no encontrada!", "pl": "Nie znaleziono wpisu!", "uk": "Запис не знайдено!", "zh-cn": "找不到条目!"}, | ||
"telegram-menu adapter settings": { "en": "Adapter settings for telegram-menu", "de": "Adaptereinstellungen für Telegram-Menü", "ru": "Настройки адаптера для телеграм-меню", "pt": "Configurações do adaptador para menu de telegrama", "nl": "Adapterinstellingen voor telegrammenu", "fr": "Paramètres de l'adaptateur pour le menu télégramme", "it": "Impostazioni dell'adattatore per il menu del telegramma", "es": "Configuración del adaptador para el menú de telegramas", "pl": "Ustawienia adaptera dla menu telegramu", "uk": "Налаштування адаптера для telegram-меню", "zh-cn": "电报菜单的适配器设置"}, | ||
"Active": { "en": "Active", "de": "Aktiv", "ru": "Активный", "pt": "Ativo", "nl": "Actief", "fr": "Actif", "it": "Attivo", "es": "Activo", "pl": "Aktywny", "uk": "Активний", "zh-cn": "积极的"}, | ||
"Users from Telegram": { "en": "Users from Telegram", "de": "Benutzer von Telegram", "ru": "Пользователи из Telegram", "pt": "Usuários do Telegram", "nl": "Gebruikers van Telegram", "fr": "Utilisateurs de Telegram", "it": "Utenti di Telegram", "es": "Usuarios de Telegram", "pl": "Użytkownicy Telegrama", "uk": "Користувачі з Telegram", "zh-cn": "来自 Telegram 的用户"}, | ||
"Active Menu:": { "en": "Active Menu:", "de": "Aktives Menü:", "ru": "Активное меню:", "pt": "Menu ativo:", "nl": "Actief menu:", "fr": "Menu Actif :", "it": "Menù attivo:", "es": "Menú Activo:", "pl": "aktywne menu:", "uk": "Активне меню:", "zh-cn": "活动菜单:"}, | ||
}; |
{ | ||
"common": { | ||
"name": "telegram-menu", | ||
"version": "0.5.1", | ||
"version": "0.6.0", | ||
"news": { | ||
"0.6.0": { | ||
"en": "checkbox for Telegram Users\nstyling\nsmall fixes\nAdd Row Button in Nav for every Row\nMore Groups with the same User\nTrigger generates without saving", | ||
"de": "checkbox für Telegram-Benutzer\nstyling\nkleine fixierungen\nFügen Sie Row Button in Nav für jede Row\nWeitere Gruppen mit demselben Benutzer\nTrigger erzeugt ohne Speicher", | ||
"ru": "checkbox для пользователей Telegram\nстайлинг\nнебольшие исправления\nДобавьте Row Button в Nav для каждого Row\nБольше групп с тем же пользователем\nTrigger генерирует без экономии", | ||
"pt": "caixa de seleção para Usuários de Telegram\nestilo\npequenas correções\nAdicionar botão de linha em Nav para cada linha\nMais Grupos com o mesmo Usuário\nTrigger gera sem salvar", | ||
"nl": "controlebox van Telegram Users\nstyling\nkleine fixes\nAdd Row Button voor elke Row\nMeer groepen met dezelfde User\nTrigger genereert zonder spaargeld", | ||
"fr": "case à cocher pour les utilisateurs de télégramme\nstyling\npetites corrections\nAjouter Row Button en Nav pour chaque Row\nPlus de groupes avec le même Utilisateur\nTrigger génère sans sauver", | ||
"it": "casella di controllo per utenti Telegram\nstile\npiccole correzioni\nAggiungi pulsante di riga in Nav per ogni riga\nAltri gruppi con lo stesso utente\nTrigger genera senza salvare", | ||
"es": "checkbox for Telegram Users\nstyling\npequeños accesorios\nAñadir Row Button en Nav para cada fila\nMás Grupos con el mismo Usuario\nTrigger genera sin salvar", | ||
"pl": "okładka\nstylistyka\ndrobne rozwiązanie\nAdd Row Button (ang.)\nWięcej grup z tymi samymi grupami User\nTrigger generuje bez oszczędzania", | ||
"uk": "поштова скринька для користувачів Telegram\nстрахування\nмаленькі кріплення\nДодати кнопку Row в Nav для кожного рядка\nБільше груп з тим самим Користувачем\nТригер генерує без збереження", | ||
"zh-cn": "电报用户检查箱\n处理\n小型配件\n增加纳维州的Row Button\n与同一用户的更多集团\n不节约的漏洞" | ||
}, | ||
"0.5.1": { | ||
@@ -83,15 +96,2 @@ "en": "sent to the wrong instance, fixed", | ||
"zh-cn": "增加包装滞后\n印本 使用器操作器" | ||
}, | ||
"0.2.0": { | ||
"en": "rename button\ncreate groups with users", | ||
"de": "rename taste\ngruppen mit benutzern erstellen", | ||
"ru": "переименовать кнопку\nсоздавать группы с пользователями", | ||
"pt": "botão de renome\ncriar grupos com usuários", | ||
"nl": "knoop\nvertaling:", | ||
"fr": "renommer le bouton\ncréer des groupes avec des utilisateurs", | ||
"it": "rinominare il pulsante\ncreare gruppi con utenti", | ||
"es": "botón de renombre\ncrear grupos con usuarios", | ||
"pl": "rename\ntworzenie grup dla użytkowników", | ||
"uk": "кнопка перейменування\nстворювати групи з користувачами", | ||
"zh-cn": "重新命名\n与用户建立团体" | ||
} | ||
@@ -98,0 +98,0 @@ }, |
@@ -140,19 +140,2 @@ const sendToTelegram = require("./telegram").sendToTelegram; | ||
/** | ||
* Werte aus Datenpunkte an Telegramm senden | ||
* @param {string} user Username | ||
* @param {String} id ID des Datenpunkts | ||
* @param {string} textVorVal Text vor Value | ||
* @param {string} textNachVal Text nach Value | ||
*/ | ||
const wertUebermitteln = async (_this, user, id, textVorVal, textNachVal) => { | ||
try { | ||
const value = await _this.getStateAsync(id); | ||
if (value && value.val && typeof value.val == "string") { | ||
sendToTelegram(this, user, `${textVorVal} ${value.val} ${textNachVal}`); | ||
} | ||
} catch (e) { | ||
_this.log.debug("Error " + JSON.stringify(e)); | ||
} | ||
}; | ||
/** | ||
* | ||
@@ -255,3 +238,2 @@ * @param {*} _this | ||
idBySelector, | ||
wertUebermitteln, | ||
generateNewObjectStructure, | ||
@@ -258,0 +240,0 @@ generateActions, |
203
main.js
@@ -25,4 +25,2 @@ "use strict"; | ||
const sendToTelegramSubmenu = require("./lib/js/telegram").sendToTelegramSubmenu; | ||
// const lichtAn = require("./lib/js/action").lichtAn; | ||
// const wertUebermitteln = require("./lib/js/action").wertUebermitteln; | ||
@@ -67,3 +65,3 @@ let timeouts = []; | ||
const checkboxNoEntryFound = checkbox["checkboxNoValueFound"]; | ||
const userList = this.config.users; | ||
const listofGroups = this.config.users; | ||
const startsides = this.config.startsides; | ||
@@ -125,7 +123,8 @@ let token = this.config.tokenGrafana; | ||
try { | ||
this.log.debug("GroupList: " + JSON.stringify(userList)); | ||
userList.forEach((group) => { | ||
this.log.debug("GroupList: " + JSON.stringify(listofGroups)); | ||
listofGroups.forEach((group) => { | ||
this.log.debug("Group: " + JSON.stringify(group)); | ||
const startside = [startsides[group]].toString(); | ||
if (userActiveCheckbox[group]) | ||
if (userActiveCheckbox[group] && startside != "-") { | ||
this.log.debug("Startseite: " + JSON.stringify(startside)); | ||
groupsWithUsers[group].forEach((user) => { | ||
@@ -143,2 +142,3 @@ backMenuFuc(this, startside, null, user); | ||
}); | ||
} | ||
}); | ||
@@ -166,90 +166,26 @@ } catch (error) { | ||
userToSend = user; | ||
const groupWithUser = Object.keys(groupsWithUsers).find((key) => | ||
groupsWithUsers[key].includes(user), | ||
); | ||
this.log.debug("Group with User " + JSON.stringify(groupWithUser)); | ||
const groupData = menu.data[groupWithUser]; | ||
this.log.debug("Nav " + JSON.stringify(groupData)); | ||
this.log.debug("Menu " + JSON.stringify(menu.data)); | ||
if ( | ||
groupData[calledValue] && | ||
userToSend && | ||
groupWithUser && | ||
userActiveCheckbox[groupWithUser] | ||
) { | ||
const part = groupData[calledValue]; | ||
// Navigation | ||
if (part.nav) { | ||
this.log.debug("Menu to Send: " + JSON.stringify(part.nav)); | ||
backMenuFuc(this, calledValue, part.nav, userToSend); | ||
if (JSON.stringify(part.nav).includes("menu")) { | ||
callSubMenu(this, part.nav, groupData, userToSend); | ||
} else { | ||
if (userToSend) { | ||
this.log.debug("Send Nav to Telegram"); | ||
sendToTelegram( | ||
this, | ||
userToSend, | ||
part.text, | ||
part.nav, | ||
instanceTelegram, | ||
resize_keyboard, | ||
one_time_keyboard, | ||
); | ||
} | ||
} | ||
const groups = []; | ||
for (const key in groupsWithUsers) { | ||
this.log.debug("key " + JSON.stringify(key)); | ||
if (groupsWithUsers[key].includes(user)) { | ||
groups.push(key); | ||
} | ||
// Schalten | ||
else if (part.switch) { | ||
setStateIdsToListenTo = setstate(_this, part, userToSend); | ||
} else if (part.getData) { | ||
getstate(_this, part, userToSend, instanceTelegram); | ||
} else if (part.sendPic) { | ||
try { | ||
this.log.debug("Send Picture"); | ||
} | ||
this.log.debug("Groups with User " + JSON.stringify(groups)); | ||
let dataFound = false; | ||
for (const group of groups) { | ||
const groupData = menu.data[group]; | ||
this.log.debug("Nav " + JSON.stringify(groupData)); | ||
this.log.debug("Menu " + JSON.stringify(menu.data)); | ||
this.log.debug("group " + JSON.stringify(group)); | ||
part.sendPic.forEach((element) => { | ||
// this.log.debug("Element " + JSON.stringify(element)); | ||
token = token.trim(); | ||
const url = element.id; | ||
const newUrl = url.replace(/&/g, "&"); | ||
exec( | ||
`curl -H "Authorisation: Bearer ${token}" "${newUrl}" > ${directoryPicture}${element.fileName}`, | ||
); | ||
this.log.debug( | ||
"url " + | ||
`curl -H "Authorisation: Bearer ${token}" "${newUrl}" > ${directoryPicture}${element.fileName}`, | ||
); | ||
timeoutKey += 1; | ||
const path = `${directoryPicture}${element.fileName}`; | ||
const timeout = this.setTimeout(async () => { | ||
this.log.debug("Send Pic to Telegram"); | ||
sendToTelegram( | ||
_this, | ||
userToSend, | ||
path, | ||
undefined, | ||
instanceTelegram, | ||
); | ||
if (processData(this, groupData, calledValue, userToSend, group)) { | ||
dataFound = true; | ||
break; | ||
} else continue; | ||
} | ||
if (!dataFound && checkboxNoEntryFound) { | ||
sendToTelegram(this, userToSend, textNoEntryFound, undefined, instanceTelegram); | ||
} | ||
let timeoutToClear = {}; | ||
timeoutToClear = timeouts.filter((item) => item.key == timeoutKey); | ||
clearTimeout(timeoutToClear.timeout); | ||
timeouts = timeouts.filter((item) => item.key !== timeoutKey); | ||
}, element.delay); | ||
timeouts.push({ key: timeoutKey, timeout: timeout }); | ||
}); | ||
} catch (e) { | ||
this.log.error("Error :" + JSON.stringify(e)); | ||
} | ||
} | ||
} else if (calledValue.startsWith("menu") || calledValue.startsWith("submenu")) { | ||
callSubMenu(this, calledValue, groupData, userToSend); | ||
} else { | ||
if (typeof userToSend == "string") this.log.debug("Send No Entry to Telegram"); | ||
if (checkboxNoEntryFound) | ||
sendToTelegram(this, userToSend, textNoEntryFound, undefined, instanceTelegram); | ||
} | ||
// Auf Setstate reagieren und Wert schicken | ||
@@ -322,3 +258,88 @@ } else if ( | ||
}); | ||
function processData(_this, groupData, calledValue, userToSend, groupWithUser) { | ||
if (groupData[calledValue] && userToSend && groupWithUser && userActiveCheckbox[groupWithUser]) { | ||
const part = groupData[calledValue]; | ||
// Navigation | ||
if (part.nav) { | ||
_this.log.debug("Menu to Send: " + JSON.stringify(part.nav)); | ||
backMenuFuc(_this, calledValue, part.nav, userToSend); | ||
if (JSON.stringify(part.nav).includes("menu")) { | ||
callSubMenu(_this, part.nav, groupData, userToSend); | ||
} else { | ||
if (userToSend) { | ||
_this.log.debug("Send Nav to Telegram"); | ||
sendToTelegram( | ||
_this, | ||
userToSend, | ||
part.text, | ||
part.nav, | ||
instanceTelegram, | ||
resize_keyboard, | ||
one_time_keyboard, | ||
); | ||
return true; | ||
} | ||
} | ||
} | ||
// Schalten | ||
else if (part.switch) { | ||
setStateIdsToListenTo = setstate(_this, part, userToSend); | ||
return true; | ||
} else if (part.getData) { | ||
getstate(_this, part, userToSend, instanceTelegram); | ||
return true; | ||
} else if (part.sendPic) { | ||
try { | ||
_this.log.debug("Send Picture"); | ||
part.sendPic.forEach((element) => { | ||
// this.log.debug("Element " + JSON.stringify(element)); | ||
token = token.trim(); | ||
const url = element.id; | ||
const newUrl = url.replace(/&/g, "&"); | ||
exec( | ||
`curl -H "Authorisation: Bearer ${token}" "${newUrl}" > ${directoryPicture}${element.fileName}`, | ||
(error, stdout, stderr) => { | ||
if (stdout) { | ||
_this.log.debug("Stdout: " + JSON.stringify(stdout)); | ||
} | ||
if (stderr) { | ||
_this.log.debug("Stderr: " + JSON.stringify(stderr)); | ||
} | ||
if (error) { | ||
_this.log.error("Ein Fehler ist aufgetreten: " + JSON.stringify(error)); | ||
return; | ||
} | ||
}, | ||
); | ||
_this.log.debug( | ||
"url " + | ||
`curl -H "Authorisation: Bearer ${token}" "${newUrl}" > ${directoryPicture}${element.fileName}`, | ||
); | ||
timeoutKey += 1; | ||
const path = `${directoryPicture}${element.fileName}`; | ||
const timeout = _this.setTimeout(async () => { | ||
_this.log.debug("Send Pic to Telegram"); | ||
sendToTelegram(_this, userToSend, path, undefined, instanceTelegram); | ||
let timeoutToClear = {}; | ||
timeoutToClear = timeouts.filter((item) => item.key == timeoutKey); | ||
clearTimeout(timeoutToClear.timeout); | ||
timeouts = timeouts.filter((item) => item.key !== timeoutKey); | ||
}, element.delay); | ||
timeouts.push({ key: timeoutKey, timeout: timeout }); | ||
}); | ||
return true; | ||
} catch (e) { | ||
_this.log.error("Error :" + JSON.stringify(e)); | ||
} | ||
} | ||
} else if (calledValue.startsWith("menu") || calledValue.startsWith("submenu")) { | ||
callSubMenu(_this, calledValue, groupData, userToSend); | ||
return true; | ||
} else { | ||
return false; | ||
} | ||
} | ||
/** | ||
@@ -325,0 +346,0 @@ * |
{ | ||
"name": "iobroker.telegram-menu", | ||
"version": "0.5.1", | ||
"version": "0.6.0", | ||
"description": "Easily create Telegram Menus", | ||
@@ -72,3 +72,4 @@ "author": { | ||
"translate": "translate-adapter", | ||
"release": "release-script" | ||
"release": "release-script", | ||
"lint:fix": "eslint . --fix" | ||
}, | ||
@@ -75,0 +76,0 @@ "bugs": { |
@@ -36,2 +36,11 @@ ![Logo](admin/telegram-menu.png) | ||
--> | ||
### 0.6.0 (2023-08-13) | ||
- checkbox for Telegram Users | ||
- styling | ||
- small fixes | ||
- Add Row Button in Nav for every Row | ||
- More Groups with the same User | ||
- Trigger generates without saving | ||
### 0.5.1 (2023-08-05) | ||
@@ -38,0 +47,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
32
2859
141
250680