iobroker.telegram-menu 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/build/app/action.js +10 -65
- package/build/app/action.js.map +2 -2
- package/build/app/backMenu.js +1 -1
- package/build/app/backMenu.js.map +2 -2
- package/build/app/dynamicSwitchMenu.js +1 -1
- package/build/app/dynamicSwitchMenu.js.map +2 -2
- package/build/app/getstate.js +9 -11
- package/build/app/getstate.js.map +2 -2
- package/build/app/httpRequest.js +2 -2
- package/build/app/httpRequest.js.map +2 -2
- package/build/app/idBySelector.js +103 -0
- package/build/app/idBySelector.js.map +7 -0
- package/build/app/jsonTable.js +3 -3
- package/build/app/jsonTable.js.map +2 -2
- package/build/app/messageIds.js +7 -1
- package/build/app/messageIds.js.map +2 -2
- package/build/app/processData.js +7 -7
- package/build/app/processData.js.map +2 -2
- package/build/app/sendNav.js +1 -1
- package/build/app/sendNav.js.map +2 -2
- package/build/app/sendpic.js +4 -5
- package/build/app/sendpic.js.map +2 -2
- package/build/app/setstate.js +9 -9
- package/build/app/setstate.js.map +3 -3
- package/build/app/shoppingList.js +3 -3
- package/build/app/shoppingList.js.map +2 -2
- package/build/app/subMenu.js +21 -32
- package/build/app/subMenu.js.map +2 -2
- package/build/app/telegram.js +14 -10
- package/build/app/telegram.js.map +2 -2
- package/build/lib/appUtils.js +6 -17
- package/build/lib/appUtils.js.map +2 -2
- package/build/lib/exchangeValue.js +81 -0
- package/build/lib/exchangeValue.js.map +7 -0
- package/build/lib/string.js +1 -23
- package/build/lib/string.js.map +2 -2
- package/build/lib/utilities.js +14 -13
- package/build/lib/utilities.js.map +2 -2
- package/build/main.js +11 -25
- package/build/main.js.map +3 -3
- package/build/src/lib/appUtils.js +3 -3
- package/build/src/lib/appUtils.js.map +1 -1
- package/build/src/lib/utilities.js +1 -1
- package/build/src/lib/utilities.js.map +1 -1
- package/build/test/test/appUtils.test.js +12 -0
- package/build/test/test/appUtils.test.js.map +1 -1
- package/build/test/test/object.test.js +12 -0
- package/build/test/test/object.test.js.map +1 -1
- package/build/test/test/string.test.js +30 -6
- package/build/test/test/string.test.js.map +1 -1
- package/build/test/test/time.test.js +183 -198
- package/build/test/test/time.test.js.map +1 -1
- package/build/types/types.js.map +1 -1
- package/io-package.json +27 -27
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app/jsonTable.ts"],
|
|
4
|
-
"sourcesContent": ["import { errorLogger } from './logging';\nimport type { Keyboard, KeyboardItem, LastText, ValArray } from '../types/types';\nimport { adapter } from '../main';\nimport { decomposeText, jsonString, parseJSON } from '../lib/string';\nimport { makeValidJson } from '../lib/json';\n\nconst lastText: LastText = {};\nconst createKeyboardFromJson = (\n val: string,\n text: string | null,\n id: string,\n user: string,\n): { text: string; keyboard: Keyboard } | undefined => {\n try {\n if (text) {\n lastText[user] = text;\n } else {\n text = lastText[user];\n }\n const { substring } = decomposeText(text, '{json:', '}');\n\n const array = substring.split(';');\n const headline = array[2];\n const itemArray: string[] = array[1].replace('[', '').replace(']', '').replace(/\"/g, '').split(',');\n let idShoppingList = false;\n if (array.length > 3 && array[3] == 'shoppinglist') {\n idShoppingList = true;\n }\n const { validJson, error } = makeValidJson(val, adapter);\n\n adapter.log.debug(`Val
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4B;AAE5B,kBAAwB;AACxB,oBAAqD;AACrD,kBAA8B;AAE9B,MAAM,WAAqB,CAAC;AAC5B,MAAM,yBAAyB,CAC3B,KACA,MACA,IACA,SACmD;AACnD,MAAI;AACA,QAAI,MAAM;AACN,eAAS,IAAI,IAAI;AAAA,IACrB,OAAO;AACH,aAAO,SAAS,IAAI;AAAA,IACxB;AACA,UAAM,EAAE,UAAU,QAAI,6BAAc,MAAM,UAAU,GAAG;AAEvD,UAAM,QAAQ,UAAU,MAAM,GAAG;AACjC,UAAM,WAAW,MAAM,CAAC;AACxB,UAAM,YAAsB,MAAM,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,MAAM,EAAE,EAAE,MAAM,GAAG;AAClG,QAAI,iBAAiB;AACrB,QAAI,MAAM,SAAS,KAAK,MAAM,CAAC,KAAK,gBAAgB;AAChD,uBAAiB;AAAA,IACrB;AACA,UAAM,EAAE,WAAW,MAAM,QAAI,2BAAc,KAAK,mBAAO;AAEvD,wBAAQ,IAAI,MAAM,
|
|
4
|
+
"sourcesContent": ["import { errorLogger } from './logging';\nimport type { Keyboard, KeyboardItem, LastText, ValArray } from '../types/types';\nimport { adapter } from '../main';\nimport { decomposeText, jsonString, parseJSON } from '../lib/string';\nimport { makeValidJson } from '../lib/json';\n\nconst lastText: LastText = {};\nconst createKeyboardFromJson = (\n val: string,\n text: string | null,\n id: string,\n user: string,\n): { text: string; keyboard: Keyboard } | undefined => {\n try {\n if (text) {\n lastText[user] = text;\n } else {\n text = lastText[user];\n }\n const { substring } = decomposeText(text, '{json:', '}');\n\n const array = substring.split(';');\n const headline = array[2];\n const itemArray: string[] = array[1].replace('[', '').replace(']', '').replace(/\"/g, '').split(',');\n let idShoppingList = false;\n if (array.length > 3 && array[3] == 'shoppinglist') {\n idShoppingList = true;\n }\n const { validJson, error } = makeValidJson(val, adapter);\n\n adapter.log.debug(`Val ${validJson} with type ${typeof val}`);\n if (error) {\n return;\n }\n\n const { json, isValidJson } = parseJSON<ValArray[]>(validJson, adapter);\n if (!isValidJson) {\n return;\n }\n\n const keyboard: Keyboard = { inline_keyboard: [] };\n\n json.forEach((element, index) => {\n const firstRow: KeyboardItem[] = [];\n const rowArray: KeyboardItem[] = [];\n itemArray.forEach(item => {\n if (index == 0) {\n const btnText: string = item.split(':')[1];\n if (btnText.length > 0) {\n firstRow.push({ text: btnText, callback_data: '1' });\n }\n }\n if (idShoppingList) {\n const value = element.buttondelete;\n const valueDeleteLinkArray = decomposeText(value, \"('\", \"')\")\n .substring.replace(\"('\", '')\n .replace(\",true')\", '')\n .split('.');\n const instanceAlexa = valueDeleteLinkArray[1];\n const valueDeleteId = valueDeleteLinkArray[5];\n\n const instanceShoppingListID = `${id.split('.')[1]}.${id.split('.')[2]}`;\n rowArray.push({\n text: element[item.split(':')[0]],\n callback_data: `sList:${instanceShoppingListID}:${instanceAlexa}:${valueDeleteId}:`,\n });\n } else {\n rowArray.push({ text: element[item.split(':')[0]], callback_data: '1' });\n }\n });\n if (index == 0) {\n keyboard.inline_keyboard.push(firstRow);\n }\n keyboard.inline_keyboard.push(rowArray);\n });\n\n adapter.log.debug(`Keyboard : ${jsonString(keyboard)}`);\n\n return { text: headline, keyboard };\n } catch (err: any) {\n errorLogger('Error createKeyboardFromJson:', err, adapter);\n }\n};\n\nfunction createTextTableFromJson(val: string, textToSend: string): string | undefined {\n try {\n const substring = decomposeText(textToSend, '{json:', '}').substring;\n const array = substring.split(';');\n const itemArray: string[] = array[1].replace('[', '').replace(']', '').replace(/\"/g, '').split(',');\n const valArray: ValArray[] = JSON.parse(val);\n\n const lengthArray: number[] = []; // Array f\u00FCr die L\u00E4nge der Items\n\n itemArray.forEach(element => {\n lengthArray.push(element.split(':')[1].length);\n });\n valArray.forEach(element => {\n itemArray.forEach((item, index) => {\n if (lengthArray[index] < element[item.split(':')[0]].toString().length) {\n lengthArray[index] = element[item.split(':')[0]].toString().length;\n }\n });\n });\n adapter.log.debug(`Length of rows : ${jsonString(lengthArray)}`);\n const headline = array[2];\n let textTable = textToSend.replace(substring, '').trim();\n if (textTable != '') {\n textTable += ' \\n\\n';\n }\n textTable += ` ${headline} \\n\\``;\n const enlargeColumn = 1;\n const reduce = lengthArray.length == 1 ? 2 : 0;\n const lineLength = lengthArray.reduce((a, b) => a + b, 0) + 5 - reduce + enlargeColumn * lengthArray.length;\n // Breakline\n textTable += `${'-'.repeat(lineLength)} \\n`;\n valArray.forEach((element, elementIndex) => {\n itemArray.forEach((item, index) => {\n // TableHead\n if (elementIndex == 0 && index == 0) {\n textTable += '|';\n itemArray.forEach((item2, i) => {\n if (item2.split(':')[1].length > 0) {\n textTable += ` ${item2\n .split(':')[1]\n .toString()\n .padEnd(lengthArray[i] + enlargeColumn, ' ')}|`;\n if (i == itemArray.length - 1) {\n textTable += '\\n';\n // Breakline\n textTable += `${'-'.repeat(lineLength)} \\n`;\n }\n } else {\n textTable = textTable.slice(0, -1);\n }\n });\n }\n // TableBody\n if (index == 0) {\n textTable += '|';\n }\n textTable += ` ${element[item.split(':')[0]].toString().padEnd(lengthArray[index] + enlargeColumn, ' ')}|`;\n if (index == itemArray.length - 1) {\n textTable += '\\n';\n }\n });\n });\n // Breakline\n textTable += '-'.repeat(lineLength);\n textTable += '`';\n return textTable;\n } catch (e: any) {\n errorLogger('Error createTextTableFromJson:', e, adapter);\n }\n}\nexport { createKeyboardFromJson, createTextTableFromJson };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/app/messageIds.js
CHANGED
|
@@ -39,7 +39,13 @@ async function saveMessageIds(state, instanceTelegram) {
|
|
|
39
39
|
if (!(requestUserIdObj == null ? void 0 : requestUserIdObj.val)) {
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
let isValidJson = false;
|
|
43
|
+
let json = {};
|
|
44
|
+
if (requestMessageIdObj == null ? void 0 : requestMessageIdObj.val) {
|
|
45
|
+
const result = (0, import_string.parseJSON)(String(requestMessageIdObj == null ? void 0 : requestMessageIdObj.val), import_main.adapter);
|
|
46
|
+
json = result.json;
|
|
47
|
+
isValidJson = result.isValidJson;
|
|
48
|
+
}
|
|
43
49
|
requestMessageId = isValidJson ? json : {};
|
|
44
50
|
const userIDValue = requestUserIdObj.val.toString();
|
|
45
51
|
if (!requestMessageId[userIDValue]) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app/messageIds.ts"],
|
|
4
|
-
"sourcesContent": ["import { adapter } from '../main';\nimport { deleteMessageByBot } from './botAction';\nimport { errorLogger } from './logging';\nimport type { MessageInfos, Messages, TelegramParams, WhatShouldDelete } from '../types/types';\nimport { deepCopy, getChatID } from '../lib/utils';\nimport { parseJSON } from '../lib/string';\n\nlet isDeleting = false;\nasync function saveMessageIds(state: ioBroker.State, instanceTelegram: string): Promise<void> {\n try {\n let requestMessageId: Messages = {};\n\n const requestMessageIdObj = !isDeleting ? await adapter.getStateAsync('communication.requestIds') : null;\n\n isDeleting = false;\n const requestUserIdObj = await adapter.getForeignStateAsync(`${instanceTelegram}.communicate.requestChatId`);\n\n const request = await adapter.getForeignStateAsync(`${instanceTelegram}.communicate.request`);\n\n if (!requestUserIdObj?.val) {\n return;\n }\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AACxB,uBAAmC;AACnC,qBAA4B;AAE5B,mBAAoC;AACpC,oBAA0B;AAE1B,IAAI,aAAa;AACjB,eAAe,eAAe,OAAuB,kBAAyC;AAR9F;AASI,MAAI;AACA,QAAI,mBAA6B,CAAC;AAElC,UAAM,sBAAsB,CAAC,aAAa,MAAM,oBAAQ,cAAc,0BAA0B,IAAI;AAEpG,iBAAa;AACb,UAAM,mBAAmB,MAAM,oBAAQ,qBAAqB,GAAG,gBAAgB,4BAA4B;AAE3G,UAAM,UAAU,MAAM,oBAAQ,qBAAqB,GAAG,gBAAgB,sBAAsB;AAE5F,QAAI,EAAC,qDAAkB,MAAK;AACxB;AAAA,IACJ;AACA,
|
|
4
|
+
"sourcesContent": ["import { adapter } from '../main';\nimport { deleteMessageByBot } from './botAction';\nimport { errorLogger } from './logging';\nimport type { MessageInfos, Messages, TelegramParams, WhatShouldDelete } from '../types/types';\nimport { deepCopy, getChatID } from '../lib/utils';\nimport { parseJSON } from '../lib/string';\n\nlet isDeleting = false;\nasync function saveMessageIds(state: ioBroker.State, instanceTelegram: string): Promise<void> {\n try {\n let requestMessageId: Messages = {};\n\n const requestMessageIdObj = !isDeleting ? await adapter.getStateAsync('communication.requestIds') : null;\n\n isDeleting = false;\n const requestUserIdObj = await adapter.getForeignStateAsync(`${instanceTelegram}.communicate.requestChatId`);\n\n const request = await adapter.getForeignStateAsync(`${instanceTelegram}.communicate.request`);\n\n if (!requestUserIdObj?.val) {\n return;\n }\n let isValidJson = false;\n let json = {};\n\n if (requestMessageIdObj?.val) {\n const result = parseJSON<Messages>(String(requestMessageIdObj?.val), adapter);\n json = result.json;\n isValidJson = result.isValidJson;\n }\n requestMessageId = isValidJson ? json : {};\n\n const userIDValue = requestUserIdObj.val.toString();\n if (!requestMessageId[userIDValue]) {\n requestMessageId[userIDValue] = [];\n }\n\n if (!requestMessageId[userIDValue]?.find(message => message.id === state.val)) {\n requestMessageId[userIDValue].push({\n id: state.val,\n time: Date.now(),\n request: request?.val,\n });\n }\n\n requestMessageId = removeOldMessageIds(requestMessageId, userIDValue);\n await adapter.setState('communication.requestIds', JSON.stringify(requestMessageId), true);\n } catch (e: any) {\n errorLogger('Error saveMessageIds:', e, adapter);\n }\n}\nfunction removeOldMessageIds(messages: Messages, chatID: string): Messages {\n messages[chatID] = messages[chatID].filter(message => {\n return message.time && message.time > Date.now() - 1000 * 60 * 60 * 24 * 2;\n });\n return messages;\n}\n\nconst removeMessageFromList = ({\n element,\n chat_id,\n copyMessageIds,\n}: {\n element: MessageInfos;\n chat_id: string;\n copyMessageIds: Messages;\n}): MessageInfos[] => {\n return copyMessageIds[chat_id].filter(message => message.id !== element.id);\n};\n\nasync function deleteMessageIds(\n user: string,\n telegramParams: TelegramParams,\n whatShouldDelete: WhatShouldDelete,\n): Promise<void> {\n const { telegramInstance, userListWithChatID } = telegramParams;\n try {\n const requestMessageIdObj = await adapter.getStateAsync('communication.requestIds');\n const lastMessageId = await adapter.getForeignStateAsync(`${telegramInstance}.communicate.requestMessageId`);\n\n if (\n !requestMessageIdObj ||\n typeof requestMessageIdObj.val !== 'string' ||\n !JSON.parse(requestMessageIdObj.val)\n ) {\n return;\n }\n\n const chat_id = getChatID(userListWithChatID, user);\n const { json, isValidJson } = parseJSON<Messages>(requestMessageIdObj.val);\n\n if (!isValidJson || !chat_id) {\n return;\n }\n if (lastMessageId && lastMessageId.val) {\n json[chat_id].push({ id: lastMessageId.val.toString() });\n }\n\n isDeleting = true;\n const copyMessageIds = deepCopy(json, adapter);\n json[chat_id].forEach((element, index) => {\n const id = element.id?.toString();\n if (whatShouldDelete === 'all' && id) {\n deleteMessageByBot(telegramInstance, user, parseInt(id), chat_id);\n }\n if (whatShouldDelete === 'last' && index === json[chat_id].length - 1 && id) {\n deleteMessageByBot(telegramInstance, user, parseInt(id), chat_id);\n }\n if (!copyMessageIds) {\n return;\n }\n copyMessageIds[chat_id] = removeMessageFromList({ element, chat_id, copyMessageIds });\n });\n\n await adapter.setState('communication.requestIds', JSON.stringify(copyMessageIds), true);\n } catch (e: any) {\n errorLogger('Error deleteMessageIds:', e, adapter);\n }\n}\n\nexport { deleteMessageIds, saveMessageIds };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/app/processData.js
CHANGED
|
@@ -51,8 +51,8 @@ async function checkEveryMenuForData({
|
|
|
51
51
|
}) {
|
|
52
52
|
for (const menu of menus) {
|
|
53
53
|
const groupData = menuData[menu];
|
|
54
|
-
import_main.adapter.log.debug(`Menu: ${menu}`);
|
|
55
|
-
import_main.adapter.log.debug(`Nav: ${(0, import_string.jsonString)(menuData[menu])}`);
|
|
54
|
+
import_main.adapter.log.debug(`Menu : ${menu}`);
|
|
55
|
+
import_main.adapter.log.debug(`Nav : ${(0, import_string.jsonString)(menuData[menu])}`);
|
|
56
56
|
if (await processData({
|
|
57
57
|
menuData,
|
|
58
58
|
calledValue,
|
|
@@ -67,7 +67,7 @@ async function checkEveryMenuForData({
|
|
|
67
67
|
timeoutKey,
|
|
68
68
|
groupData
|
|
69
69
|
})) {
|
|
70
|
-
import_main.adapter.log.debug("
|
|
70
|
+
import_main.adapter.log.debug("Menu found");
|
|
71
71
|
return true;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
@@ -89,12 +89,12 @@ async function processData({
|
|
|
89
89
|
}) {
|
|
90
90
|
try {
|
|
91
91
|
let part = {};
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
const res = (0, import_dynamicValue.getDynamicValue)(userToSend);
|
|
93
|
+
if (res) {
|
|
94
94
|
const valueToSet = (res == null ? void 0 : res.valueType) ? (0, import_action.adjustValueType)(calledValue, res.valueType) : calledValue;
|
|
95
95
|
valueToSet && (res == null ? void 0 : res.id) ? await (0, import_setstate.setstateIobroker)({ id: res.id, value: valueToSet, ack: res == null ? void 0 : res.ack }) : await (0, import_telegram.sendToTelegram)({
|
|
96
96
|
userToSend,
|
|
97
|
-
textToSend: `You insert a wrong Type of value, please insert type: ${res == null ? void 0 : res.valueType}`,
|
|
97
|
+
textToSend: `You insert a wrong Type of value, please insert type : ${res == null ? void 0 : res.valueType}`,
|
|
98
98
|
telegramParams
|
|
99
99
|
});
|
|
100
100
|
(0, import_dynamicValue.removeUserFromDynamicValue)(userToSend);
|
|
@@ -143,7 +143,7 @@ async function processData({
|
|
|
143
143
|
return true;
|
|
144
144
|
}
|
|
145
145
|
if (part == null ? void 0 : part.switch) {
|
|
146
|
-
await (0, import_setstate.handleSetState)(part, userToSend, 0,
|
|
146
|
+
await (0, import_setstate.handleSetState)(part, userToSend, 0, telegramParams);
|
|
147
147
|
return true;
|
|
148
148
|
}
|
|
149
149
|
if (part == null ? void 0 : part.getData) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app/processData.ts"],
|
|
4
|
-
"sourcesContent": ["import { adapter } from '../main';\nimport { sendLocationToTelegram, sendToTelegram } from './telegram';\nimport { sendNav } from './sendNav';\nimport { callSubMenu } from './subMenu';\nimport { backMenuFunc, switchBack } from './backMenu';\nimport { handleSetState, setstateIobroker } from './setstate';\nimport { getState } from './getstate';\nimport { sendPic } from './sendpic';\nimport { getDynamicValue, removeUserFromDynamicValue } from './dynamicValue';\nimport { adjustValueType } from './action';\nimport { getChart } from './echarts';\nimport { httpRequest } from './httpRequest';\nimport { errorLogger } from './logging';\nimport type { CheckEveryMenuForDataType, Part, ProcessDataType, Timeouts } from '../types/types';\nimport { jsonString } from '../lib/string';\nimport { isSubmenuOrMenu } from './validateMenus';\n\nlet timeouts: Timeouts[] = [];\n\nexport async function checkEveryMenuForData({\n menuData,\n calledValue,\n userToSend,\n telegramParams,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n}: CheckEveryMenuForDataType): Promise<boolean> {\n for (const menu of menus) {\n const groupData = menuData[menu];\n\n adapter.log.debug(`Menu: ${menu}`);\n adapter.log.debug(`Nav: ${jsonString(menuData[menu])}`);\n\n if (\n await processData({\n menuData,\n calledValue,\n userToSend,\n groupWithUser: menu,\n telegramParams,\n allMenusWithData: menuData,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n groupData,\n })\n ) {\n adapter.log.debug('
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AACxB,sBAAuD;AACvD,qBAAwB;AACxB,qBAA4B;AAC5B,sBAAyC;AACzC,sBAAiD;AACjD,sBAAyB;AACzB,qBAAwB;AACxB,0BAA4D;AAC5D,oBAAgC;AAChC,qBAAyB;AACzB,yBAA4B;AAC5B,qBAA4B;AAE5B,oBAA2B;AAC3B,2BAAgC;AAEhC,IAAI,WAAuB,CAAC;AAE5B,eAAsB,sBAAsB;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAAgD;AAC5C,aAAW,QAAQ,OAAO;AACtB,UAAM,YAAY,SAAS,IAAI;AAE/B,wBAAQ,IAAI,MAAM,
|
|
4
|
+
"sourcesContent": ["import { adapter } from '../main';\nimport { sendLocationToTelegram, sendToTelegram } from './telegram';\nimport { sendNav } from './sendNav';\nimport { callSubMenu } from './subMenu';\nimport { backMenuFunc, switchBack } from './backMenu';\nimport { handleSetState, setstateIobroker } from './setstate';\nimport { getState } from './getstate';\nimport { sendPic } from './sendpic';\nimport { getDynamicValue, removeUserFromDynamicValue } from './dynamicValue';\nimport { adjustValueType } from './action';\nimport { getChart } from './echarts';\nimport { httpRequest } from './httpRequest';\nimport { errorLogger } from './logging';\nimport type { CheckEveryMenuForDataType, Part, ProcessDataType, Timeouts } from '../types/types';\nimport { jsonString } from '../lib/string';\nimport { isSubmenuOrMenu } from './validateMenus';\n\nlet timeouts: Timeouts[] = [];\n\nexport async function checkEveryMenuForData({\n menuData,\n calledValue,\n userToSend,\n telegramParams,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n}: CheckEveryMenuForDataType): Promise<boolean> {\n for (const menu of menus) {\n const groupData = menuData[menu];\n\n adapter.log.debug(`Menu : ${menu}`);\n adapter.log.debug(`Nav : ${jsonString(menuData[menu])}`);\n\n if (\n await processData({\n menuData,\n calledValue,\n userToSend,\n groupWithUser: menu,\n telegramParams,\n allMenusWithData: menuData,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n groupData,\n })\n ) {\n adapter.log.debug('Menu found');\n return true;\n }\n }\n return false;\n}\n\nasync function processData({\n menuData,\n calledValue,\n userToSend,\n groupWithUser,\n telegramParams,\n allMenusWithData,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n groupData,\n}: ProcessDataType): Promise<boolean | undefined> {\n try {\n let part: Part | undefined = {} as Part;\n\n const res = getDynamicValue(userToSend);\n if (res) {\n const valueToSet = res?.valueType ? adjustValueType(calledValue, res.valueType) : calledValue;\n\n valueToSet && res?.id\n ? await setstateIobroker({ id: res.id, value: valueToSet, ack: res?.ack })\n : await sendToTelegram({\n userToSend,\n textToSend: `You insert a wrong Type of value, please insert type : ${res?.valueType}`,\n telegramParams,\n });\n\n removeUserFromDynamicValue(userToSend);\n const result = await switchBack(userToSend, allMenusWithData, menus, true);\n\n if (result) {\n const { textToSend, keyboard, parse_mode } = result;\n await sendToTelegram({ userToSend, textToSend, keyboard, telegramParams, parse_mode });\n return true;\n }\n\n await sendNav(part, userToSend, telegramParams);\n return true;\n }\n\n const call = calledValue.includes('menu:') ? calledValue.split(':')[2] : calledValue;\n part = groupData[call];\n\n if (!calledValue.toString().includes('menu:') && isUserActiveCheckbox[groupWithUser]) {\n const nav = part?.nav;\n if (nav) {\n adapter.log.debug(`Menu to Send: ${jsonString(nav)}`);\n\n backMenuFunc({ activePage: call, navigation: nav, userToSend });\n\n if (jsonString(nav).includes('menu:')) {\n adapter.log.debug(`Submenu: ${jsonString(nav)}`);\n\n const result = await callSubMenu({\n jsonStringNav: jsonString(nav),\n userToSend,\n telegramParams,\n part,\n allMenusWithData,\n menus,\n });\n if (result?.newNav) {\n await checkEveryMenuForData({\n menuData,\n calledValue: result.newNav,\n userToSend,\n telegramParams,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n });\n }\n return true;\n }\n await sendNav(part, userToSend, telegramParams);\n return true;\n }\n\n if (part?.switch) {\n await handleSetState(part, userToSend, 0, telegramParams);\n return true;\n }\n\n if (part?.getData) {\n await getState(part, userToSend, telegramParams);\n return true;\n }\n\n if (part?.sendPic) {\n timeouts = sendPic(part, userToSend, telegramParams, token, directoryPicture, timeouts, timeoutKey);\n return true;\n }\n\n if (part?.location) {\n adapter.log.debug('Send location');\n await sendLocationToTelegram(userToSend, part.location, telegramParams);\n return true;\n }\n\n if (part?.echarts) {\n adapter.log.debug('Send echarts');\n getChart(part.echarts, directoryPicture, userToSend, telegramParams);\n return true;\n }\n\n if (part?.httpRequest) {\n adapter.log.debug('Send http request');\n const result = await httpRequest(part, userToSend, telegramParams, directoryPicture);\n return !!result;\n }\n }\n if (isSubmenuOrMenu(calledValue) && menuData[groupWithUser][call]) {\n adapter.log.debug('Call Submenu');\n await callSubMenu({\n jsonStringNav: calledValue,\n userToSend: userToSend,\n telegramParams: telegramParams,\n part: part,\n allMenusWithData: allMenusWithData,\n menus: menus,\n });\n return true;\n }\n return false;\n } catch (e: any) {\n errorLogger('Error processData:', e, adapter);\n }\n}\n\nexport function getTimeouts(): Timeouts[] {\n return timeouts;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/app/sendNav.js
CHANGED
|
@@ -29,7 +29,7 @@ async function sendNav(part, userToSend, telegramParams) {
|
|
|
29
29
|
try {
|
|
30
30
|
if (userToSend) {
|
|
31
31
|
const { nav: keyboard, text, parse_mode } = part;
|
|
32
|
-
const textToSend = await (0, import_utilities.
|
|
32
|
+
const textToSend = await (0, import_utilities.returnTextModifier)(text != null ? text : "");
|
|
33
33
|
await (0, import_telegram.sendToTelegram)({
|
|
34
34
|
userToSend,
|
|
35
35
|
textToSend,
|
package/build/app/sendNav.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app/sendNav.ts"],
|
|
4
|
-
"sourcesContent": ["import { sendToTelegram } from './telegram';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,
|
|
4
|
+
"sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { returnTextModifier } from '../lib/utilities';\nimport type { Part, TelegramParams } from '../types/types';\nimport { adapter } from '../main';\nimport { errorLogger } from './logging';\n\nexport async function sendNav(part: Part, userToSend: string, telegramParams: TelegramParams): Promise<void> {\n try {\n if (userToSend) {\n const { nav: keyboard, text, parse_mode } = part;\n const textToSend = await returnTextModifier(text ?? '');\n\n await sendToTelegram({\n userToSend,\n textToSend,\n keyboard,\n telegramParams,\n parse_mode,\n });\n }\n } catch (e: any) {\n errorLogger('Error sendNav:', e, adapter);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,uBAAmC;AAEnC,kBAAwB;AACxB,qBAA4B;AAE5B,eAAsB,QAAQ,MAAY,YAAoB,gBAA+C;AACzG,MAAI;AACA,QAAI,YAAY;AACZ,YAAM,EAAE,KAAK,UAAU,MAAM,WAAW,IAAI;AAC5C,YAAM,aAAa,UAAM,qCAAmB,sBAAQ,EAAE;AAEtD,gBAAM,gCAAe;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ,SAAS,GAAQ;AACb,oCAAY,kBAAkB,GAAG,mBAAO;AAAA,EAC5C;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/app/sendpic.js
CHANGED
|
@@ -41,10 +41,10 @@ function sendPic(part, userToSend, telegramParams, token, directoryPicture, time
|
|
|
41
41
|
`curl -H "Autorisation: Bearer ${token.trim()}" "${newUrl}" > ${path}`,
|
|
42
42
|
(error, stdout, stderr) => {
|
|
43
43
|
if (stdout) {
|
|
44
|
-
import_main.adapter.log.debug(`Stdout: ${stdout}`);
|
|
44
|
+
import_main.adapter.log.debug(`Stdout : "${stdout}"`);
|
|
45
45
|
}
|
|
46
46
|
if (stderr) {
|
|
47
|
-
import_main.adapter.log.debug(`Stderr: ${stderr}`);
|
|
47
|
+
import_main.adapter.log.debug(`Stderr : "${stderr}"`);
|
|
48
48
|
}
|
|
49
49
|
if (error) {
|
|
50
50
|
(0, import_logging.errorLogger)("Error in exec:", error, import_main.adapter);
|
|
@@ -52,12 +52,11 @@ function sendPic(part, userToSend, telegramParams, token, directoryPicture, time
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
);
|
|
55
|
-
import_main.adapter.log.debug(`
|
|
55
|
+
import_main.adapter.log.debug(`Send Picture : { delay : ${delay} , path : ${path} }`);
|
|
56
56
|
timeoutKey += 1;
|
|
57
57
|
if (!(0, import_utils.validateDirectory)(import_main.adapter, directoryPicture)) {
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
|
-
import_main.adapter.log.debug(`Path: ${path}`);
|
|
61
60
|
} else {
|
|
62
61
|
return;
|
|
63
62
|
}
|
|
@@ -74,7 +73,7 @@ function sendPic(part, userToSend, telegramParams, token, directoryPicture, time
|
|
|
74
73
|
import_main.adapter.clearTimeout(item.timeout);
|
|
75
74
|
});
|
|
76
75
|
timeouts = timeouts.filter((item) => item.key !== timeoutKey);
|
|
77
|
-
import_main.adapter.log.debug("Picture sent");
|
|
76
|
+
import_main.adapter.log.debug("Picture has been sent");
|
|
78
77
|
},
|
|
79
78
|
parseInt(String(element.delay))
|
|
80
79
|
);
|
package/build/app/sendpic.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app/sendpic.ts"],
|
|
4
|
-
"sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { validateDirectory } from '../lib/utils';\nimport { exec } from 'child_process';\nimport { errorLogger } from './logging';\nimport { adapter } from '../main';\nimport type { Part, TelegramParams, Timeouts } from '../types/types';\nimport { replaceAll } from '../lib/string';\nimport { isStartside } from '../lib/appUtils';\n\nexport function sendPic(\n part: Part,\n userToSend: string,\n telegramParams: TelegramParams,\n token: string,\n directoryPicture: string,\n timeouts: Timeouts[],\n timeoutKey: string,\n): Timeouts[] {\n try {\n part.sendPic?.forEach(element => {\n const { id, delay, fileName } = element;\n let path = '';\n if (isStartside(id)) {\n const newUrl = replaceAll(id, '&', '&');\n path = `${directoryPicture}${fileName}`;\n\n exec(\n `curl -H \"Autorisation: Bearer ${token.trim()}\" \"${newUrl}\" > ${path}`,\n (error: any, stdout: any, stderr: any) => {\n if (stdout) {\n adapter.log.debug(`Stdout: ${stdout}`);\n }\n if (stderr) {\n adapter.log.debug(`Stderr: ${stderr}`);\n }\n if (error) {\n errorLogger('Error in exec:', error, adapter);\n return;\n }\n },\n );\n\n adapter.log.debug(`
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,mBAAkC;AAClC,2BAAqB;AACrB,qBAA4B;AAC5B,kBAAwB;AAExB,oBAA2B;AAC3B,sBAA4B;AAErB,SAAS,QACZ,MACA,YACA,gBACA,OACA,kBACA,UACA,YACU;AAjBd;AAkBI,MAAI;AACA,eAAK,YAAL,mBAAc,QAAQ,aAAW;AAC7B,YAAM,EAAE,IAAI,OAAO,SAAS,IAAI;AAChC,UAAI,OAAO;AACX,cAAI,6BAAY,EAAE,GAAG;AACjB,cAAM,aAAS,0BAAW,IAAI,SAAS,GAAG;AAC1C,eAAO,GAAG,gBAAgB,GAAG,QAAQ;AAErC;AAAA,UACI,iCAAiC,MAAM,KAAK,CAAC,MAAM,MAAM,OAAO,IAAI;AAAA,UACpE,CAAC,OAAY,QAAa,WAAgB;AACtC,gBAAI,QAAQ;AACR,kCAAQ,IAAI,MAAM,
|
|
4
|
+
"sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { validateDirectory } from '../lib/utils';\nimport { exec } from 'child_process';\nimport { errorLogger } from './logging';\nimport { adapter } from '../main';\nimport type { Part, TelegramParams, Timeouts } from '../types/types';\nimport { replaceAll } from '../lib/string';\nimport { isStartside } from '../lib/appUtils';\n\nexport function sendPic(\n part: Part,\n userToSend: string,\n telegramParams: TelegramParams,\n token: string,\n directoryPicture: string,\n timeouts: Timeouts[],\n timeoutKey: string,\n): Timeouts[] {\n try {\n part.sendPic?.forEach(element => {\n const { id, delay, fileName } = element;\n let path = '';\n if (isStartside(id)) {\n const newUrl = replaceAll(id, '&', '&');\n path = `${directoryPicture}${fileName}`;\n\n exec(\n `curl -H \"Autorisation: Bearer ${token.trim()}\" \"${newUrl}\" > ${path}`,\n (error: any, stdout: any, stderr: any) => {\n if (stdout) {\n adapter.log.debug(`Stdout : \"${stdout}\"`);\n }\n if (stderr) {\n adapter.log.debug(`Stderr : \"${stderr}\"`);\n }\n if (error) {\n errorLogger('Error in exec:', error, adapter);\n return;\n }\n },\n );\n\n adapter.log.debug(`Send Picture : { delay : ${delay} , path : ${path} }`);\n timeoutKey += 1;\n\n if (!validateDirectory(adapter, directoryPicture)) {\n return;\n }\n } else {\n return;\n }\n\n const timeout = adapter.setTimeout(\n async () => {\n await sendToTelegram({\n userToSend,\n textToSend: path,\n telegramParams,\n });\n let timeoutToClear: Timeouts[] = [];\n timeoutToClear = timeouts.filter(item => item.key == timeoutKey);\n timeoutToClear.forEach(item => {\n adapter.clearTimeout(item.timeout);\n });\n\n timeouts = timeouts.filter(item => item.key !== timeoutKey);\n\n adapter.log.debug('Picture has been sent');\n },\n parseInt(String(element.delay)),\n );\n\n if (timeout) {\n timeouts.push({ key: timeoutKey, timeout });\n }\n });\n return timeouts;\n } catch (e: any) {\n errorLogger('Error send pic:', e, adapter);\n }\n return timeouts;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,mBAAkC;AAClC,2BAAqB;AACrB,qBAA4B;AAC5B,kBAAwB;AAExB,oBAA2B;AAC3B,sBAA4B;AAErB,SAAS,QACZ,MACA,YACA,gBACA,OACA,kBACA,UACA,YACU;AAjBd;AAkBI,MAAI;AACA,eAAK,YAAL,mBAAc,QAAQ,aAAW;AAC7B,YAAM,EAAE,IAAI,OAAO,SAAS,IAAI;AAChC,UAAI,OAAO;AACX,cAAI,6BAAY,EAAE,GAAG;AACjB,cAAM,aAAS,0BAAW,IAAI,SAAS,GAAG;AAC1C,eAAO,GAAG,gBAAgB,GAAG,QAAQ;AAErC;AAAA,UACI,iCAAiC,MAAM,KAAK,CAAC,MAAM,MAAM,OAAO,IAAI;AAAA,UACpE,CAAC,OAAY,QAAa,WAAgB;AACtC,gBAAI,QAAQ;AACR,kCAAQ,IAAI,MAAM,aAAa,MAAM,GAAG;AAAA,YAC5C;AACA,gBAAI,QAAQ;AACR,kCAAQ,IAAI,MAAM,aAAa,MAAM,GAAG;AAAA,YAC5C;AACA,gBAAI,OAAO;AACP,8CAAY,kBAAkB,OAAO,mBAAO;AAC5C;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAEA,4BAAQ,IAAI,MAAM,4BAA4B,KAAK,aAAa,IAAI,IAAI;AACxE,sBAAc;AAEd,YAAI,KAAC,gCAAkB,qBAAS,gBAAgB,GAAG;AAC/C;AAAA,QACJ;AAAA,MACJ,OAAO;AACH;AAAA,MACJ;AAEA,YAAM,UAAU,oBAAQ;AAAA,QACpB,YAAY;AACR,oBAAM,gCAAe;AAAA,YACjB;AAAA,YACA,YAAY;AAAA,YACZ;AAAA,UACJ,CAAC;AACD,cAAI,iBAA6B,CAAC;AAClC,2BAAiB,SAAS,OAAO,UAAQ,KAAK,OAAO,UAAU;AAC/D,yBAAe,QAAQ,UAAQ;AAC3B,gCAAQ,aAAa,KAAK,OAAO;AAAA,UACrC,CAAC;AAED,qBAAW,SAAS,OAAO,UAAQ,KAAK,QAAQ,UAAU;AAE1D,8BAAQ,IAAI,MAAM,uBAAuB;AAAA,QAC7C;AAAA,QACA,SAAS,OAAO,QAAQ,KAAK,CAAC;AAAA,MAClC;AAEA,UAAI,SAAS;AACT,iBAAS,KAAK,EAAE,KAAK,YAAY,QAAQ,CAAC;AAAA,MAC9C;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SAAS,GAAQ;AACb,oCAAY,mBAAmB,GAAG,mBAAO;AAAA,EAC7C;AACA,SAAO;AACX;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/app/setstate.js
CHANGED
|
@@ -31,6 +31,7 @@ var import_string = require("../lib/string");
|
|
|
31
31
|
var import_utils = require("../lib/utils");
|
|
32
32
|
var import_config = require("../config/config");
|
|
33
33
|
var import_setStateIdsToListenTo = require("./setStateIdsToListenTo");
|
|
34
|
+
var import_exchangeValue = require("../lib/exchangeValue");
|
|
34
35
|
const modifiedValue = (valueFromSubmenu, value) => {
|
|
35
36
|
return value.includes(import_config.config.modifiedValue) ? value.replace(import_config.config.modifiedValue, valueFromSubmenu) : valueFromSubmenu;
|
|
36
37
|
};
|
|
@@ -61,15 +62,15 @@ const setstateIobroker = async ({
|
|
|
61
62
|
(0, import_logging.errorLogger)("Error Setstate", error, import_main.adapter);
|
|
62
63
|
}
|
|
63
64
|
};
|
|
64
|
-
const setValue = async (id, value,
|
|
65
|
+
const setValue = async (id, value, valueFromSubmenu, ack) => {
|
|
65
66
|
try {
|
|
66
|
-
const valueToSet =
|
|
67
|
+
const valueToSet = (0, import_utils.isDefined)(value) && (0, import_string.isNonEmptyString)(value) ? await isDynamicValueToSet(value) : modifiedValue(String(valueFromSubmenu), value);
|
|
67
68
|
await setstateIobroker({ id, value: valueToSet, ack });
|
|
68
69
|
} catch (error) {
|
|
69
70
|
(0, import_logging.errorLogger)("Error setValue", error, import_main.adapter);
|
|
70
71
|
}
|
|
71
72
|
};
|
|
72
|
-
const handleSetState = async (part, userToSend, valueFromSubmenu,
|
|
73
|
+
const handleSetState = async (part, userToSend, valueFromSubmenu, telegramParams) => {
|
|
73
74
|
try {
|
|
74
75
|
if (!part.switch) {
|
|
75
76
|
return;
|
|
@@ -105,14 +106,13 @@ const handleSetState = async (part, userToSend, valueFromSubmenu, SubmenuValuePr
|
|
|
105
106
|
});
|
|
106
107
|
} else {
|
|
107
108
|
returnText = returnText.replace(/'/g, '"');
|
|
108
|
-
const
|
|
109
|
-
const { json, isValidJson } = (0, import_string.parseJSON)(
|
|
110
|
-
returnText.slice(returnText.indexOf("{"), returnText.indexOf("}") + 1)
|
|
111
|
-
);
|
|
109
|
+
const { substring } = (0, import_string.decomposeText)(returnText, '{"id":', "}");
|
|
110
|
+
const { json, isValidJson } = (0, import_string.parseJSON)(substring);
|
|
112
111
|
if (!isValidJson) {
|
|
113
112
|
return;
|
|
114
113
|
}
|
|
115
|
-
|
|
114
|
+
const text2 = returnText.replace(substring, json.text);
|
|
115
|
+
const { textToSend } = (0, import_exchangeValue.exchangeValue)(import_main.adapter, text2, valueFromSubmenu);
|
|
116
116
|
await (0, import_telegram.sendToTelegram)({
|
|
117
117
|
userToSend,
|
|
118
118
|
textToSend,
|
|
@@ -130,7 +130,7 @@ const handleSetState = async (part, userToSend, valueFromSubmenu, SubmenuValuePr
|
|
|
130
130
|
const state = await import_main.adapter.getForeignStateAsync(ID);
|
|
131
131
|
state ? await setstateIobroker({ id: ID, value: !state.val, ack }) : await setstateIobroker({ id: ID, value: false, ack });
|
|
132
132
|
} else {
|
|
133
|
-
await setValue(ID, value,
|
|
133
|
+
await setValue(ID, value, valueFromSubmenu, ack);
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
} catch (error) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app/setstate.ts"],
|
|
4
|
-
"sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { transformValueToTypeOfId } from '../lib/utilities';\nimport { setDynamicValue } from './dynamicValue';\nimport { adapter } from '../main';\nimport { errorLogger } from './logging';\nimport type { Part, TelegramParams } from '../types/types';\nimport { decomposeText, jsonString, parseJSON } from '../lib/string';\nimport { isDefined } from '../lib/utils';\nimport { config } from '../config/config';\nimport { addSetStateIds } from './setStateIdsToListenTo';\n\nconst modifiedValue = (valueFromSubmenu: string, value: string): string => {\n return value.includes(config.modifiedValue)\n ? value.replace(config.modifiedValue, valueFromSubmenu)\n : valueFromSubmenu;\n};\n\nconst isDynamicValueToSet = async (value: string | number | boolean): Promise<string | number | boolean> => {\n if (typeof value === 'string' && value.includes(config.dynamicValue.start)) {\n const { substring, substringExcludeSearch: id } = decomposeText(\n value,\n config.dynamicValue.start,\n config.dynamicValue.end,\n );\n\n const newValue = await adapter.getForeignStateAsync(id);\n\n return value.replace(substring, String(newValue?.val));\n }\n return value;\n};\n\nexport const setstateIobroker = async ({\n id,\n value,\n ack,\n}: {\n id: string;\n value: string | number | boolean;\n ack: boolean;\n}): Promise<void> => {\n try {\n const val = await transformValueToTypeOfId(id, value);\n\n adapter.log.debug(`Value to Set: ${jsonString(val)}`);\n if (isDefined(val)) {\n await adapter.setForeignStateAsync(id, val, ack);\n }\n } catch (error: any) {\n errorLogger('Error Setstate', error, adapter);\n }\n};\n\nconst setValue = async (\n id: string,\n value: string,\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,uBAAyC;AACzC,0BAAgC;AAChC,kBAAwB;AACxB,qBAA4B;AAE5B,
|
|
6
|
-
"names": []
|
|
4
|
+
"sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { transformValueToTypeOfId } from '../lib/utilities';\nimport { setDynamicValue } from './dynamicValue';\nimport { adapter } from '../main';\nimport { errorLogger } from './logging';\nimport type { Part, TelegramParams } from '../types/types';\nimport { decomposeText, isNonEmptyString, jsonString, parseJSON } from '../lib/string';\nimport { isDefined } from '../lib/utils';\nimport { config } from '../config/config';\nimport { addSetStateIds } from './setStateIdsToListenTo';\nimport { exchangeValue } from '../lib/exchangeValue';\n\nconst modifiedValue = (valueFromSubmenu: string, value: string): string => {\n return value.includes(config.modifiedValue)\n ? value.replace(config.modifiedValue, valueFromSubmenu)\n : valueFromSubmenu;\n};\n\nconst isDynamicValueToSet = async (value: string | number | boolean): Promise<string | number | boolean> => {\n if (typeof value === 'string' && value.includes(config.dynamicValue.start)) {\n const { substring, substringExcludeSearch: id } = decomposeText(\n value,\n config.dynamicValue.start,\n config.dynamicValue.end,\n );\n\n const newValue = await adapter.getForeignStateAsync(id);\n\n return value.replace(substring, String(newValue?.val));\n }\n return value;\n};\n\nexport const setstateIobroker = async ({\n id,\n value,\n ack,\n}: {\n id: string;\n value: string | number | boolean;\n ack: boolean;\n}): Promise<void> => {\n try {\n const val = await transformValueToTypeOfId(id, value);\n\n adapter.log.debug(`Value to Set: ${jsonString(val)}`);\n if (isDefined(val)) {\n await adapter.setForeignStateAsync(id, val, ack);\n }\n } catch (error: any) {\n errorLogger('Error Setstate', error, adapter);\n }\n};\n\nconst setValue = async (\n id: string,\n value: string,\n valueFromSubmenu: string | number | boolean,\n ack: boolean,\n): Promise<void> => {\n try {\n // If Value is set in Config the value will set to datapoint otherwise the value from submenu, so submenuValuePriority is obsolete\n const valueToSet =\n isDefined(value) && isNonEmptyString(value)\n ? await isDynamicValueToSet(value)\n : modifiedValue(String(valueFromSubmenu), value);\n\n await setstateIobroker({ id, value: valueToSet, ack });\n } catch (error: any) {\n errorLogger('Error setValue', error, adapter);\n }\n};\n\nexport const handleSetState = async (\n part: Part,\n userToSend: string,\n valueFromSubmenu: string | number | boolean,\n telegramParams: TelegramParams,\n): Promise<void> => {\n try {\n if (!part.switch) {\n return;\n }\n for (const { returnText: text, id: ID, parse_mode, confirm, ack, toggle, value } of part.switch) {\n let returnText = text;\n if (returnText.includes(config.setDynamicValue)) {\n const { confirmText, id } = await setDynamicValue(\n returnText,\n ack,\n ID,\n userToSend,\n telegramParams,\n parse_mode,\n confirm,\n );\n\n if (confirm) {\n await addSetStateIds({\n id: id ?? ID,\n confirm,\n returnText: confirmText,\n userToSend,\n });\n }\n }\n\n if (!returnText.includes(\"{'id':'\")) {\n await addSetStateIds({\n id: ID,\n confirm,\n returnText,\n userToSend,\n parse_mode,\n });\n } else {\n returnText = returnText.replace(/'/g, '\"');\n const { substring } = decomposeText(returnText, '{\"id\":', '}');\n const { json, isValidJson } = parseJSON<{ text: string; id: string }>(substring);\n if (!isValidJson) {\n return;\n }\n const text = returnText.replace(substring, json.text);\n const { textToSend } = exchangeValue(adapter, text, valueFromSubmenu);\n\n await sendToTelegram({\n userToSend,\n textToSend,\n telegramParams,\n parse_mode,\n });\n\n await addSetStateIds({\n id: json.id,\n confirm: true,\n returnText: json.text,\n userToSend: userToSend,\n });\n }\n if (toggle) {\n const state = await adapter.getForeignStateAsync(ID);\n\n state\n ? await setstateIobroker({ id: ID, value: !state.val, ack })\n : await setstateIobroker({ id: ID, value: false, ack });\n } else {\n await setValue(ID, value, valueFromSubmenu, ack);\n }\n }\n } catch (error: any) {\n errorLogger('Error Switch', error, adapter);\n }\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,uBAAyC;AACzC,0BAAgC;AAChC,kBAAwB;AACxB,qBAA4B;AAE5B,oBAAuE;AACvE,mBAA0B;AAC1B,oBAAuB;AACvB,mCAA+B;AAC/B,2BAA8B;AAE9B,MAAM,gBAAgB,CAAC,kBAA0B,UAA0B;AACvE,SAAO,MAAM,SAAS,qBAAO,aAAa,IACpC,MAAM,QAAQ,qBAAO,eAAe,gBAAgB,IACpD;AACV;AAEA,MAAM,sBAAsB,OAAO,UAAyE;AACxG,MAAI,OAAO,UAAU,YAAY,MAAM,SAAS,qBAAO,aAAa,KAAK,GAAG;AACxE,UAAM,EAAE,WAAW,wBAAwB,GAAG,QAAI;AAAA,MAC9C;AAAA,MACA,qBAAO,aAAa;AAAA,MACpB,qBAAO,aAAa;AAAA,IACxB;AAEA,UAAM,WAAW,MAAM,oBAAQ,qBAAqB,EAAE;AAEtD,WAAO,MAAM,QAAQ,WAAW,OAAO,qCAAU,GAAG,CAAC;AAAA,EACzD;AACA,SAAO;AACX;AAEO,MAAM,mBAAmB,OAAO;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AACJ,MAIqB;AACjB,MAAI;AACA,UAAM,MAAM,UAAM,2CAAyB,IAAI,KAAK;AAEpD,wBAAQ,IAAI,MAAM,qBAAiB,0BAAW,GAAG,CAAC,EAAE;AACpD,YAAI,wBAAU,GAAG,GAAG;AAChB,YAAM,oBAAQ,qBAAqB,IAAI,KAAK,GAAG;AAAA,IACnD;AAAA,EACJ,SAAS,OAAY;AACjB,oCAAY,kBAAkB,OAAO,mBAAO;AAAA,EAChD;AACJ;AAEA,MAAM,WAAW,OACb,IACA,OACA,kBACA,QACgB;AAChB,MAAI;AAEA,UAAM,iBACF,wBAAU,KAAK,SAAK,gCAAiB,KAAK,IACpC,MAAM,oBAAoB,KAAK,IAC/B,cAAc,OAAO,gBAAgB,GAAG,KAAK;AAEvD,UAAM,iBAAiB,EAAE,IAAI,OAAO,YAAY,IAAI,CAAC;AAAA,EACzD,SAAS,OAAY;AACjB,oCAAY,kBAAkB,OAAO,mBAAO;AAAA,EAChD;AACJ;AAEO,MAAM,iBAAiB,OAC1B,MACA,YACA,kBACA,mBACgB;AAChB,MAAI;AACA,QAAI,CAAC,KAAK,QAAQ;AACd;AAAA,IACJ;AACA,eAAW,EAAE,YAAY,MAAM,IAAI,IAAI,YAAY,SAAS,KAAK,QAAQ,MAAM,KAAK,KAAK,QAAQ;AAC7F,UAAI,aAAa;AACjB,UAAI,WAAW,SAAS,qBAAO,eAAe,GAAG;AAC7C,cAAM,EAAE,aAAa,GAAG,IAAI,UAAM;AAAA,UAC9B;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAEA,YAAI,SAAS;AACT,oBAAM,6CAAe;AAAA,YACjB,IAAI,kBAAM;AAAA,YACV;AAAA,YACA,YAAY;AAAA,YACZ;AAAA,UACJ,CAAC;AAAA,QACL;AAAA,MACJ;AAEA,UAAI,CAAC,WAAW,SAAS,SAAS,GAAG;AACjC,kBAAM,6CAAe;AAAA,UACjB,IAAI;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ,CAAC;AAAA,MACL,OAAO;AACH,qBAAa,WAAW,QAAQ,MAAM,GAAG;AACzC,cAAM,EAAE,UAAU,QAAI,6BAAc,YAAY,UAAU,GAAG;AAC7D,cAAM,EAAE,MAAM,YAAY,QAAI,yBAAwC,SAAS;AAC/E,YAAI,CAAC,aAAa;AACd;AAAA,QACJ;AACA,cAAMA,QAAO,WAAW,QAAQ,WAAW,KAAK,IAAI;AACpD,cAAM,EAAE,WAAW,QAAI,oCAAc,qBAASA,OAAM,gBAAgB;AAEpE,kBAAM,gCAAe;AAAA,UACjB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ,CAAC;AAED,kBAAM,6CAAe;AAAA,UACjB,IAAI,KAAK;AAAA,UACT,SAAS;AAAA,UACT,YAAY,KAAK;AAAA,UACjB;AAAA,QACJ,CAAC;AAAA,MACL;AACA,UAAI,QAAQ;AACR,cAAM,QAAQ,MAAM,oBAAQ,qBAAqB,EAAE;AAEnD,gBACM,MAAM,iBAAiB,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,IACzD,MAAM,iBAAiB,EAAE,IAAI,IAAI,OAAO,OAAO,IAAI,CAAC;AAAA,MAC9D,OAAO;AACH,cAAM,SAAS,IAAI,OAAO,kBAAkB,GAAG;AAAA,MACnD;AAAA,IACJ;AAAA,EACJ,SAAS,OAAY;AACjB,oCAAY,gBAAgB,OAAO,mBAAO;AAAA,EAC9C;AACJ;",
|
|
6
|
+
"names": ["text"]
|
|
7
7
|
}
|
|
@@ -46,7 +46,7 @@ async function shoppingListSubscribeStateAndDeleteItem(val, telegramParams) {
|
|
|
46
46
|
res = await import_main.adapter.getForeignObjectAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}`);
|
|
47
47
|
if (res) {
|
|
48
48
|
objData[user] = { idList };
|
|
49
|
-
import_main.adapter.log.debug(`Alexa-shoppinglist: ${idList}`);
|
|
49
|
+
import_main.adapter.log.debug(`Alexa-shoppinglist : ${idList}`);
|
|
50
50
|
if (!isSubscribed) {
|
|
51
51
|
await (0, import_subscribeStates._subscribeForeignStates)(`alexa-shoppinglist.${idList}`);
|
|
52
52
|
isSubscribed = true;
|
|
@@ -78,7 +78,7 @@ async function deleteMessageAndSendNewShoppingList(telegramParams, userToSend) {
|
|
|
78
78
|
await (0, import_messageIds.deleteMessageIds)(user, telegramParams, "last");
|
|
79
79
|
const result = await import_main.adapter.getForeignStateAsync(`alexa-shoppinglist.${idList}`);
|
|
80
80
|
if (result == null ? void 0 : result.val) {
|
|
81
|
-
import_main.adapter.log.debug(`Result from Shoppinglist: ${(0, import_string.jsonString)(result)}`);
|
|
81
|
+
import_main.adapter.log.debug(`Result from Shoppinglist : ${(0, import_string.jsonString)(result)}`);
|
|
82
82
|
const newId = `alexa-shoppinglist.${idList}`;
|
|
83
83
|
const resultJson = (0, import_jsonTable.createKeyboardFromJson)((0, import_json.toJson)(result.val), null, newId, user);
|
|
84
84
|
if ((resultJson == null ? void 0 : resultJson.text) && (resultJson == null ? void 0 : resultJson.keyboard)) {
|
|
@@ -86,7 +86,7 @@ async function deleteMessageAndSendNewShoppingList(telegramParams, userToSend) {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
} catch (e) {
|
|
89
|
-
(0, import_logging.errorLogger)("Error deleteMessageAndSendNewShoppingList
|
|
89
|
+
(0, import_logging.errorLogger)("Error deleteMessageAndSendNewShoppingList", e, import_main.adapter);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app/shoppingList.ts"],
|
|
4
|
-
"sourcesContent": ["import { deleteMessageIds } from './messageIds.js';\nimport { createKeyboardFromJson } from './jsonTable.js';\nimport { sendToTelegram, sendToTelegramSubmenu } from './telegram.js';\nimport { _subscribeForeignStates } from './subscribeStates.js';\nimport { errorLogger } from './logging.js';\nimport { adapter } from '../main.js';\nimport type { TelegramParams } from '../types/types.js';\nimport { jsonString } from '../lib/string';\nimport { setstateIobroker } from './setstate';\nimport { toJson } from '../lib/json';\nimport { isDefined } from '../lib/utils';\n\ninterface ObjectData {\n [key: string]: {\n idList: string;\n };\n}\nconst objData: ObjectData = {};\n\nlet isSubscribed = false;\n\nexport async function shoppingListSubscribeStateAndDeleteItem(\n val: string | null,\n telegramParams: TelegramParams,\n): Promise<void> {\n try {\n let array, user, idList, instance, idItem, res;\n if (isDefined(val)) {\n array = val.split(':');\n user = array[0].replace('[', '').replace(']sList', '');\n idList = array[1];\n instance = array[2];\n idItem = array[3];\n res = await adapter.getForeignObjectAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}`);\n\n if (res) {\n objData[user] = { idList: idList };\n adapter.log.debug(`Alexa-shoppinglist: ${idList}`);\n if (!isSubscribed) {\n await _subscribeForeignStates(`alexa-shoppinglist.${idList}`);\n isSubscribed = true;\n }\n await setstateIobroker({\n id: `alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}.#delete`,\n value: true,\n ack: false,\n });\n return;\n }\n await sendToTelegram({\n userToSend: user,\n textToSend: 'Cannot delete the Item',\n telegramParams,\n parse_mode: true,\n });\n adapter.log.debug('Cannot delete the Item');\n }\n } catch (e: any) {\n errorLogger('Error shoppingList:', e, adapter);\n }\n}\n\nexport async function deleteMessageAndSendNewShoppingList(\n telegramParams: TelegramParams,\n userToSend: string,\n): Promise<void> {\n try {\n const user = userToSend;\n const idList = objData[user].idList;\n await _subscribeForeignStates(`alexa-shoppinglist.${idList}`);\n await deleteMessageIds(user, telegramParams, 'last');\n\n const result = await adapter.getForeignStateAsync(`alexa-shoppinglist.${idList}`);\n if (result?.val) {\n adapter.log.debug(`Result from Shoppinglist: ${jsonString(result)}`);\n const newId = `alexa-shoppinglist.${idList}`;\n const resultJson = createKeyboardFromJson(toJson(result.val), null, newId, user);\n if (resultJson?.text && resultJson?.keyboard) {\n sendToTelegramSubmenu(user, resultJson.text, resultJson.keyboard, telegramParams, true);\n }\n }\n } catch (e: any) {\n errorLogger('Error deleteMessageAndSendNewShoppingList
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAiC;AACjC,uBAAuC;AACvC,sBAAsD;AACtD,6BAAwC;AACxC,qBAA4B;AAC5B,kBAAwB;AAExB,oBAA2B;AAC3B,sBAAiC;AACjC,kBAAuB;AACvB,mBAA0B;AAO1B,MAAM,UAAsB,CAAC;AAE7B,IAAI,eAAe;AAEnB,eAAsB,wCAClB,KACA,gBACa;AACb,MAAI;AACA,QAAI,OAAO,MAAM,QAAQ,UAAU,QAAQ;AAC3C,YAAI,wBAAU,GAAG,GAAG;AAChB,cAAQ,IAAI,MAAM,GAAG;AACrB,aAAO,MAAM,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,UAAU,EAAE;AACrD,eAAS,MAAM,CAAC;AAChB,iBAAW,MAAM,CAAC;AAClB,eAAS,MAAM,CAAC;AAChB,YAAM,MAAM,oBAAQ,sBAAsB,UAAU,QAAQ,8BAA8B,MAAM,EAAE;AAElG,UAAI,KAAK;AACL,gBAAQ,IAAI,IAAI,EAAE,OAAe;AACjC,4BAAQ,IAAI,MAAM,
|
|
4
|
+
"sourcesContent": ["import { deleteMessageIds } from './messageIds.js';\nimport { createKeyboardFromJson } from './jsonTable.js';\nimport { sendToTelegram, sendToTelegramSubmenu } from './telegram.js';\nimport { _subscribeForeignStates } from './subscribeStates.js';\nimport { errorLogger } from './logging.js';\nimport { adapter } from '../main.js';\nimport type { TelegramParams } from '../types/types.js';\nimport { jsonString } from '../lib/string';\nimport { setstateIobroker } from './setstate';\nimport { toJson } from '../lib/json';\nimport { isDefined } from '../lib/utils';\n\ninterface ObjectData {\n [key: string]: {\n idList: string;\n };\n}\nconst objData: ObjectData = {};\n\nlet isSubscribed = false;\n\nexport async function shoppingListSubscribeStateAndDeleteItem(\n val: string | null,\n telegramParams: TelegramParams,\n): Promise<void> {\n try {\n let array, user, idList, instance, idItem, res;\n if (isDefined(val)) {\n array = val.split(':');\n user = array[0].replace('[', '').replace(']sList', '');\n idList = array[1];\n instance = array[2];\n idItem = array[3];\n res = await adapter.getForeignObjectAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}`);\n\n if (res) {\n objData[user] = { idList: idList };\n adapter.log.debug(`Alexa-shoppinglist : ${idList}`);\n if (!isSubscribed) {\n await _subscribeForeignStates(`alexa-shoppinglist.${idList}`);\n isSubscribed = true;\n }\n await setstateIobroker({\n id: `alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}.#delete`,\n value: true,\n ack: false,\n });\n return;\n }\n await sendToTelegram({\n userToSend: user,\n textToSend: 'Cannot delete the Item',\n telegramParams,\n parse_mode: true,\n });\n adapter.log.debug('Cannot delete the Item');\n }\n } catch (e: any) {\n errorLogger('Error shoppingList:', e, adapter);\n }\n}\n\nexport async function deleteMessageAndSendNewShoppingList(\n telegramParams: TelegramParams,\n userToSend: string,\n): Promise<void> {\n try {\n const user = userToSend;\n const idList = objData[user].idList;\n await _subscribeForeignStates(`alexa-shoppinglist.${idList}`);\n await deleteMessageIds(user, telegramParams, 'last');\n\n const result = await adapter.getForeignStateAsync(`alexa-shoppinglist.${idList}`);\n if (result?.val) {\n adapter.log.debug(`Result from Shoppinglist : ${jsonString(result)}`);\n const newId = `alexa-shoppinglist.${idList}`;\n const resultJson = createKeyboardFromJson(toJson(result.val), null, newId, user);\n if (resultJson?.text && resultJson?.keyboard) {\n sendToTelegramSubmenu(user, resultJson.text, resultJson.keyboard, telegramParams, true);\n }\n }\n } catch (e: any) {\n errorLogger('Error deleteMessageAndSendNewShoppingList', e, adapter);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAiC;AACjC,uBAAuC;AACvC,sBAAsD;AACtD,6BAAwC;AACxC,qBAA4B;AAC5B,kBAAwB;AAExB,oBAA2B;AAC3B,sBAAiC;AACjC,kBAAuB;AACvB,mBAA0B;AAO1B,MAAM,UAAsB,CAAC;AAE7B,IAAI,eAAe;AAEnB,eAAsB,wCAClB,KACA,gBACa;AACb,MAAI;AACA,QAAI,OAAO,MAAM,QAAQ,UAAU,QAAQ;AAC3C,YAAI,wBAAU,GAAG,GAAG;AAChB,cAAQ,IAAI,MAAM,GAAG;AACrB,aAAO,MAAM,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,UAAU,EAAE;AACrD,eAAS,MAAM,CAAC;AAChB,iBAAW,MAAM,CAAC;AAClB,eAAS,MAAM,CAAC;AAChB,YAAM,MAAM,oBAAQ,sBAAsB,UAAU,QAAQ,8BAA8B,MAAM,EAAE;AAElG,UAAI,KAAK;AACL,gBAAQ,IAAI,IAAI,EAAE,OAAe;AACjC,4BAAQ,IAAI,MAAM,wBAAwB,MAAM,EAAE;AAClD,YAAI,CAAC,cAAc;AACf,oBAAM,gDAAwB,sBAAsB,MAAM,EAAE;AAC5D,yBAAe;AAAA,QACnB;AACA,kBAAM,kCAAiB;AAAA,UACnB,IAAI,UAAU,QAAQ,8BAA8B,MAAM;AAAA,UAC1D,OAAO;AAAA,UACP,KAAK;AAAA,QACT,CAAC;AACD;AAAA,MACJ;AACA,gBAAM,gCAAe;AAAA,QACjB,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ;AAAA,QACA,YAAY;AAAA,MAChB,CAAC;AACD,0BAAQ,IAAI,MAAM,wBAAwB;AAAA,IAC9C;AAAA,EACJ,SAAS,GAAQ;AACb,oCAAY,uBAAuB,GAAG,mBAAO;AAAA,EACjD;AACJ;AAEA,eAAsB,oCAClB,gBACA,YACa;AACb,MAAI;AACA,UAAM,OAAO;AACb,UAAM,SAAS,QAAQ,IAAI,EAAE;AAC7B,cAAM,gDAAwB,sBAAsB,MAAM,EAAE;AAC5D,cAAM,oCAAiB,MAAM,gBAAgB,MAAM;AAEnD,UAAM,SAAS,MAAM,oBAAQ,qBAAqB,sBAAsB,MAAM,EAAE;AAChF,QAAI,iCAAQ,KAAK;AACb,0BAAQ,IAAI,MAAM,kCAA8B,0BAAW,MAAM,CAAC,EAAE;AACpE,YAAM,QAAQ,sBAAsB,MAAM;AAC1C,YAAM,iBAAa,6CAAuB,oBAAO,OAAO,GAAG,GAAG,MAAM,OAAO,IAAI;AAC/E,WAAI,yCAAY,UAAQ,yCAAY,WAAU;AAC1C,mDAAsB,MAAM,WAAW,MAAM,WAAW,UAAU,gBAAgB,IAAI;AAAA,MAC1F;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,oCAAY,6CAA6C,GAAG,mBAAO;AAAA,EACvE;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/app/subMenu.js
CHANGED
|
@@ -66,28 +66,14 @@ const createSubmenuPercent = (obj) => {
|
|
|
66
66
|
}
|
|
67
67
|
return { text: obj.text, keyboard, device: menuToHandle };
|
|
68
68
|
};
|
|
69
|
-
const
|
|
70
|
-
let val;
|
|
71
|
-
|
|
72
|
-
if (splittedData[1].split(".")[1] == "false") {
|
|
69
|
+
const setMenuValue = async ({ telegramParams, userToSend, part, menuNumber }) => {
|
|
70
|
+
let val = splittedData[menuNumber].split(".")[1];
|
|
71
|
+
if (val === "false") {
|
|
73
72
|
val = false;
|
|
74
|
-
} else if (
|
|
73
|
+
} else if (val === "true") {
|
|
75
74
|
val = true;
|
|
76
|
-
} else {
|
|
77
|
-
val = splittedData[1].split(".")[1];
|
|
78
75
|
}
|
|
79
|
-
await (0, import_setstate.handleSetState)(part, userToSend, val,
|
|
80
|
-
};
|
|
81
|
-
const setSecondMenuValue = async ({ telegramParams, part, userToSend }) => {
|
|
82
|
-
let val;
|
|
83
|
-
if (splittedData[2].split(".")[1] == "false") {
|
|
84
|
-
val = false;
|
|
85
|
-
} else if (splittedData[2].split(".")[1] == "true") {
|
|
86
|
-
val = true;
|
|
87
|
-
} else {
|
|
88
|
-
val = splittedData[2].split(".")[1];
|
|
89
|
-
}
|
|
90
|
-
await (0, import_setstate.handleSetState)(part, userToSend, val, true, telegramParams);
|
|
76
|
+
await (0, import_setstate.handleSetState)(part, userToSend, val, telegramParams);
|
|
91
77
|
};
|
|
92
78
|
const createSubmenuNumber = ({
|
|
93
79
|
cbData,
|
|
@@ -152,7 +138,7 @@ const createSubmenuNumber = ({
|
|
|
152
138
|
if (rowEntries != 0) {
|
|
153
139
|
keyboard.inline_keyboard.push(menu);
|
|
154
140
|
}
|
|
155
|
-
import_main.adapter.log.debug(`Keyboard: ${(0, import_string.jsonString)(keyboard)}`);
|
|
141
|
+
import_main.adapter.log.debug(`Keyboard : ${(0, import_string.jsonString)(keyboard)}`);
|
|
156
142
|
return { text, keyboard, menuToHandle };
|
|
157
143
|
};
|
|
158
144
|
const createSwitchMenu = ({
|
|
@@ -201,7 +187,7 @@ async function callSubMenu({
|
|
|
201
187
|
allMenusWithData,
|
|
202
188
|
menus
|
|
203
189
|
});
|
|
204
|
-
import_main.adapter.log.debug(`Submenu: ${(0, import_string.jsonString)(obj)}`);
|
|
190
|
+
import_main.adapter.log.debug(`Submenu : ${(0, import_string.jsonString)(obj)}`);
|
|
205
191
|
if ((obj == null ? void 0 : obj.text) && (obj == null ? void 0 : obj.keyboard)) {
|
|
206
192
|
(0, import_telegram.sendToTelegramSubmenu)(userToSend, obj.text, obj.keyboard, telegramParams, part.parse_mode);
|
|
207
193
|
}
|
|
@@ -218,48 +204,51 @@ async function subMenu({
|
|
|
218
204
|
allMenusWithData,
|
|
219
205
|
menus
|
|
220
206
|
}) {
|
|
207
|
+
var _a, _b, _c;
|
|
221
208
|
try {
|
|
222
209
|
import_main.adapter.log.debug(`Menu : ${menuString}`);
|
|
223
|
-
const text = await (0, import_utilities.
|
|
224
|
-
|
|
225
|
-
if ((0, import_validateMenus.isDeleteMenu)(cbData) && menuToHandle) {
|
|
210
|
+
const text = await (0, import_utilities.returnTextModifier)(part.text);
|
|
211
|
+
if ((0, import_validateMenus.isDeleteMenu)(menuString)) {
|
|
226
212
|
await (0, import_messageIds.deleteMessageIds)(userToSend, telegramParams, "all");
|
|
227
|
-
|
|
228
|
-
|
|
213
|
+
const menu = (_c = (_b = (_a = menuString.split(":")) == null ? void 0 : _a[2]) == null ? void 0 : _b.split('"')) == null ? void 0 : _c[0];
|
|
214
|
+
if (menu && (0, import_string.isNonEmptyString)(menu)) {
|
|
215
|
+
return { navToGoBack: menu };
|
|
229
216
|
}
|
|
230
217
|
}
|
|
218
|
+
const { cbData, menuToHandle, val } = (0, import_splitValues.getMenuValues)(menuString);
|
|
231
219
|
if ((0, import_validateMenus.isCreateSwitch)(cbData) && menuToHandle) {
|
|
232
220
|
return createSwitchMenu({ cbData, text, menuToHandle });
|
|
233
221
|
}
|
|
234
222
|
if ((0, import_validateMenus.isFirstMenuValue)(cbData)) {
|
|
235
|
-
await
|
|
223
|
+
await setMenuValue({
|
|
236
224
|
part,
|
|
237
225
|
userToSend,
|
|
238
|
-
telegramParams
|
|
226
|
+
telegramParams,
|
|
227
|
+
menuNumber: 1
|
|
239
228
|
});
|
|
240
229
|
}
|
|
241
230
|
if ((0, import_validateMenus.isSecondMenuValue)(cbData)) {
|
|
242
|
-
await
|
|
231
|
+
await setMenuValue({ part, userToSend, telegramParams, menuNumber: 2 });
|
|
243
232
|
}
|
|
244
233
|
if ((0, import_validateMenus.isCreateDynamicSwitch)(cbData) && menuToHandle) {
|
|
245
234
|
return (0, import_dynamicSwitchMenu.createDynamicSwitchMenu)(menuString, menuToHandle, text);
|
|
246
235
|
}
|
|
247
236
|
if ((0, import_validateMenus.isSetDynamicSwitchVal)(cbData) && val) {
|
|
248
|
-
await (0, import_setstate.handleSetState)(part, userToSend, val,
|
|
237
|
+
await (0, import_setstate.handleSetState)(part, userToSend, val, telegramParams);
|
|
249
238
|
}
|
|
250
239
|
if ((0, import_validateMenus.isCreateSubmenuPercent)(menuString, cbData) && menuToHandle) {
|
|
251
240
|
return createSubmenuPercent({ cbData, text, menuToHandle });
|
|
252
241
|
}
|
|
253
242
|
if ((0, import_validateMenus.isSetSubmenuPercent)(menuString, step)) {
|
|
254
243
|
const value = parseInt(menuString.split(":")[1].split(",")[1]);
|
|
255
|
-
await (0, import_setstate.handleSetState)(part, userToSend, value,
|
|
244
|
+
await (0, import_setstate.handleSetState)(part, userToSend, value, telegramParams);
|
|
256
245
|
}
|
|
257
246
|
if ((0, import_validateMenus.isCreateSubmenuNumber)(menuString, cbData) && menuToHandle) {
|
|
258
247
|
return createSubmenuNumber({ cbData, text, menuToHandle });
|
|
259
248
|
}
|
|
260
249
|
if ((0, import_validateMenus.isSetSubmenuNumber)(menuString, cbData)) {
|
|
261
250
|
const { value } = (0, import_splitValues.getSubmenuNumberValues)(menuString);
|
|
262
|
-
await (0, import_setstate.handleSetState)(part, userToSend, value,
|
|
251
|
+
await (0, import_setstate.handleSetState)(part, userToSend, value, telegramParams);
|
|
263
252
|
}
|
|
264
253
|
if ((0, import_validateMenus.isMenuBack)(menuString)) {
|
|
265
254
|
await back({
|