iobroker.telegram-menu 2.2.3 → 2.2.4

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.
Files changed (43) hide show
  1. package/README.md +1 -1
  2. package/build/lib/action.js +21 -24
  3. package/build/lib/action.js.map +2 -2
  4. package/build/lib/adapterStartMenuSend.js +6 -6
  5. package/build/lib/adapterStartMenuSend.js.map +2 -2
  6. package/build/lib/backMenu.js +6 -6
  7. package/build/lib/backMenu.js.map +2 -2
  8. package/build/lib/dynamicSwitch.js +10 -10
  9. package/build/lib/dynamicSwitch.js.map +2 -2
  10. package/build/lib/dynamicValue.js +6 -6
  11. package/build/lib/dynamicValue.js.map +2 -2
  12. package/build/lib/echarts.js +5 -6
  13. package/build/lib/echarts.js.map +2 -2
  14. package/build/lib/getstate.js +29 -30
  15. package/build/lib/getstate.js.map +2 -2
  16. package/build/lib/global.js +13 -0
  17. package/build/lib/global.js.map +2 -2
  18. package/build/lib/httpRequest.js +6 -7
  19. package/build/lib/httpRequest.js.map +2 -2
  20. package/build/lib/jsonTable.js +12 -15
  21. package/build/lib/jsonTable.js.map +2 -2
  22. package/build/lib/processData.js +19 -16
  23. package/build/lib/processData.js.map +2 -2
  24. package/build/lib/sendNav.js +7 -7
  25. package/build/lib/sendNav.js.map +2 -2
  26. package/build/lib/sendpic.js +7 -7
  27. package/build/lib/sendpic.js.map +2 -2
  28. package/build/lib/setstate.js +8 -8
  29. package/build/lib/setstate.js.map +2 -2
  30. package/build/lib/shoppingList.js +6 -6
  31. package/build/lib/shoppingList.js.map +2 -2
  32. package/build/lib/subMenu.js +65 -48
  33. package/build/lib/subMenu.js.map +2 -2
  34. package/build/lib/telegram.js +11 -2
  35. package/build/lib/telegram.js.map +2 -2
  36. package/build/lib/utilities.js +21 -20
  37. package/build/lib/utilities.js.map +3 -3
  38. package/build/main.js +22 -20
  39. package/build/main.js.map +2 -2
  40. package/build/types/types.js +2 -0
  41. package/build/types/types.js.map +7 -0
  42. package/io-package.json +14 -14
  43. package/package.json +1 -1
package/README.md CHANGED
@@ -33,7 +33,7 @@ You can create different groups with separate menus, and then assign users to th
33
33
  Placeholder for the next version (at the beginning of the line):
34
34
  ### **WORK IN PROGRESS**
35
35
  -->
36
- ### 2.2.3 (2025-04-05)
36
+ ### 2.2.4 (2025-04-13)
37
37
 
38
38
  - FIX: #279 Backslash is in the message when using newline
39
39
 
@@ -74,16 +74,16 @@ const bindingFunc = async (text, userToSend, telegramInstance, one_time_keyboard
74
74
  value = eval(item);
75
75
  }
76
76
  }
77
- await (0, import_telegram.sendToTelegram)(
78
- userToSend,
79
- value,
80
- void 0,
81
- telegramInstance,
82
- one_time_keyboard,
83
- resize_keyboard,
77
+ await (0, import_telegram.sendToTelegram)({
78
+ user: userToSend,
79
+ textToSend: value,
80
+ keyboard: void 0,
81
+ instance: telegramInstance,
82
+ resize_keyboard: one_time_keyboard,
83
+ one_time_keyboard: resize_keyboard,
84
84
  userListWithChatID,
85
85
  parse_mode
86
- );
86
+ });
87
87
  } catch (e) {
88
88
  (0, import_logging.error)([
89
89
  { text: "Error:", val: e.message },
@@ -193,16 +193,16 @@ const idBySelector = async (_this2, selector, text2, userToSend2, newline, teleg
193
193
  _this2.log.debug(`text2send ${JSON.stringify(text2Send)}`);
194
194
  });
195
195
  Promise.all(promises).then(() => {
196
- (0, import_telegram.sendToTelegram)(
197
- userToSend2,
198
- text2Send,
199
- void 0,
200
- telegramInstance2,
201
- one_time_keyboard2,
202
- resize_keyboard2,
203
- userListWithChatID2,
204
- "false"
205
- ).catch((e) => {
196
+ (0, import_telegram.sendToTelegram)({
197
+ user: userToSend2,
198
+ textToSend: text2Send,
199
+ keyboard: void 0,
200
+ instance: telegramInstance2,
201
+ resize_keyboard: one_time_keyboard2,
202
+ one_time_keyboard: resize_keyboard2,
203
+ userListWithChatID: userListWithChatID2,
204
+ parse_mode: "false"
205
+ }).catch((e) => {
206
206
  (0, import_logging.error)([
207
207
  { text: "Error SendToTelegram:", val: e.message },
208
208
  { text: "Stack:", val: e.stack }
@@ -449,7 +449,7 @@ const checkEvent = async (dataObject, id, state, menuData, userListWithChatID2,
449
449
  if (part.nav) {
450
450
  (0, import_backMenu.backMenuFunc)(calledNav, part.nav, user);
451
451
  }
452
- if (part && part.nav && JSON.stringify(part == null ? void 0 : part.nav[0]).includes("menu:")) {
452
+ if ((part == null ? void 0 : part.nav) && (part == null ? void 0 : part.nav[0][0].includes("menu:"))) {
453
453
  await (0, import_subMenu.callSubMenu)(
454
454
  JSON.stringify(part == null ? void 0 : part.nav[0]),
455
455
  menuData,
@@ -461,7 +461,8 @@ const checkEvent = async (dataObject, id, state, menuData, userListWithChatID2,
461
461
  part,
462
462
  menuData.data,
463
463
  menus,
464
- null
464
+ null,
465
+ part.nav
465
466
  );
466
467
  } else {
467
468
  await (0, import_sendNav.sendNav)(
@@ -485,10 +486,6 @@ const getUserToSendFromUserListWithChatID = (userListWithChatID2, chatID) => {
485
486
  for (const element of userListWithChatID2) {
486
487
  if (element.chatID == chatID) {
487
488
  userToSend2 = element.name;
488
- (0, import_logging.debug)([
489
- { text: "User and ChatID:", val: element },
490
- { text: "User:", val: userToSend2 }
491
- ]);
492
489
  break;
493
490
  }
494
491
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/action.ts"],
4
- "sourcesContent": ["import { sendToTelegram } from './telegram.js';\nimport { decomposeText } from './global';\nimport { callSubMenu } from './subMenu.js';\nimport { sendNav } from './sendNav.js';\nimport { backMenuFunc } from './backMenu.js';\nimport { debug, error } from './logging.js';\nimport TelegramMenu from '../main.js';\nimport type {\n UserListWithChatId,\n BooleanString,\n BindingObject,\n EditArrayButtons,\n GeneratedNavMenu,\n Newline,\n NewObjectNavStructure,\n Actions,\n GenerateActionsArrayOfEntries,\n Switch,\n UserObjectActions,\n GenerateActionsNewObject,\n NewObjectNavStructureKey,\n Part,\n DataObject,\n MenuData,\n UserInGroup,\n MenusWithUsers,\n} from './telegram-menu.js';\n\nconst bindingFunc = async (\n text: string,\n userToSend: string,\n telegramInstance: string,\n one_time_keyboard: boolean,\n resize_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n parse_mode: BooleanString,\n): Promise<void> => {\n const _this = TelegramMenu.getInstance();\n let value;\n\n try {\n const substring = decomposeText(text, 'binding:', '}').substring;\n const arrayOfItems = substring.replace('binding:{', '').replace('}', '').split(';');\n const bindingObject: BindingObject = {\n values: {},\n };\n\n for (let item of arrayOfItems) {\n if (!item.includes('?')) {\n const key = item.split(':')[0];\n const id = item.split(':')[1];\n\n const result = await _this.getForeignStateAsync(id);\n if (result) {\n bindingObject.values[key] = result.val?.toString() || '';\n }\n } else {\n Object.keys(bindingObject.values).forEach(function (key) {\n item = item.replace(key, bindingObject.values[key]);\n });\n\n value = eval(item);\n }\n }\n await sendToTelegram(\n userToSend,\n value,\n undefined,\n telegramInstance,\n one_time_keyboard,\n resize_keyboard,\n userListWithChatID,\n parse_mode,\n );\n } catch (e: any) {\n error([\n { text: 'Error:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n};\n\nfunction calcValue(\n _this: TelegramMenu,\n textToSend: string,\n val: string,\n): { textToSend: string; val: string } | undefined {\n const { substring } = decomposeText(textToSend, '{math:', '}');\n const mathValue = substring.replace('{math:', '').replace('}', '');\n try {\n val = eval(val + mathValue);\n textToSend = textToSend.replace(substring, '');\n\n return { textToSend: textToSend, val: val };\n } catch (e: any) {\n error([\n { text: 'Error Eval:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nfunction checkValueForOneLine(text: string): string {\n if (!text.includes('&&')) {\n return `${text}&&`;\n }\n return text;\n}\n\nfunction editArrayButtons(val: EditArrayButtons[], _this: TelegramMenu): GeneratedNavMenu[] | null {\n const newVal: GeneratedNavMenu[] = [];\n try {\n val.forEach(element => {\n let value = '';\n if (typeof element.value === 'string') {\n value = checkValueForOneLine(element.value);\n }\n let array: string[] | string[][] = [];\n if (value.indexOf('&&') != -1) {\n array = value.split('&&');\n }\n\n if (array.length > 1) {\n array.forEach(function (element, index: number) {\n if (typeof element === 'string') {\n let navArray = element.split(',');\n navArray = navArray.map(item => item.trim());\n array[index] = navArray;\n }\n });\n } else if (typeof element.value === 'string') {\n array = element.value.split(',');\n array.forEach(function (element, index: number) {\n array[index] = [element.trim()];\n });\n }\n\n newVal.push({ call: element.call, text: element.text, parse_mode: element.parse_mode, nav: array });\n });\n\n return newVal;\n } catch (err: any) {\n error([\n { text: 'Error EditArray:', val: err.message },\n { text: 'Stack:', val: err.stack },\n ]);\n return null;\n }\n}\n\nconst idBySelector = async (\n _this: TelegramMenu,\n selector: string,\n text: string,\n userToSend: string,\n newline: Newline,\n telegramInstance: string,\n one_time_keyboard: boolean,\n resize_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n): Promise<void> => {\n let text2Send = '';\n try {\n if (!selector.includes('functions')) {\n return;\n }\n\n const functions = selector.replace('functions=', '');\n let enums: string[] | undefined = [];\n const result = await _this.getEnumsAsync();\n\n if (!result || !result['enum.functions'][`enum.functions.${functions}`]) {\n return;\n }\n enums = result['enum.functions'][`enum.functions.${functions}`].common.members;\n if (!enums) {\n return;\n }\n const promises = enums.map(async (id: string) => {\n const value = await _this.getForeignStateAsync(id);\n if (value && value.val !== undefined && value.val !== null) {\n let newText = text;\n let res;\n\n if (text.includes('{common.name}')) {\n res = await _this.getForeignObjectAsync(id);\n _this.log.debug(`Name ${JSON.stringify(res?.common.name)}`);\n\n if (res && res.common.name) {\n newText = newText.replace('{common.name}', res.common.name as string);\n }\n }\n if (text.includes('&amp;&amp;')) {\n text2Send += newText.replace('&amp;&amp;', value.val as string);\n } else if (text.includes('&&')) {\n text2Send += newText.replace('&&', value.val as string);\n } else {\n text2Send += newText;\n text2Send += ` ${value.val}`;\n }\n }\n if (newline === 'true') {\n text2Send += ' \\n';\n } else {\n text2Send += ' ';\n }\n _this.log.debug(`text2send ${JSON.stringify(text2Send)}`);\n });\n Promise.all(promises)\n .then(() => {\n sendToTelegram(\n userToSend,\n text2Send,\n undefined,\n telegramInstance,\n one_time_keyboard,\n resize_keyboard,\n userListWithChatID,\n 'false',\n ).catch(e => {\n error([\n { text: 'Error SendToTelegram:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n });\n debug([\n { text: 'TextToSend:', val: text2Send },\n { text: 'UserToSend:', val: userToSend },\n ]);\n })\n .catch(e => {\n error([\n { text: 'Error Promise:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n });\n } catch (error: any) {\n error([\n { text: 'Error idBySelector:', val: error.message },\n { text: 'Stack:', val: error.stack },\n ]);\n }\n};\n\nfunction generateNewObjectStructure(val: GeneratedNavMenu[] | null): NewObjectNavStructure | null {\n try {\n if (!val) {\n return null;\n }\n const obj: NewObjectNavStructure = {};\n val.forEach(function (element) {\n const call = element.call;\n obj[call] = {\n nav: element.nav,\n text: element.text,\n parse_mode:\n element.parse_mode == 'true' || element.parse_mode == 'false' ? element.parse_mode : 'false',\n };\n });\n return obj;\n } catch (err: any) {\n error([\n { text: 'Error GenerateNewObjectStructure:', val: err.message },\n { text: 'Stack:', val: err.stack },\n ]);\n return null;\n }\n}\n\nfunction generateActions(\n action: Actions,\n userObject: NewObjectNavStructure,\n): { obj: NewObjectNavStructure; ids: string[] } | undefined {\n try {\n const arrayOfEntries: GenerateActionsArrayOfEntries[] = [\n {\n objName: 'echarts',\n name: 'echarts',\n loop: 'preset',\n elements: [\n { name: 'preset' },\n { name: 'echartInstance' },\n { name: 'background' },\n { name: 'theme' },\n { name: 'filename' },\n ],\n },\n {\n objName: 'loc',\n name: 'location',\n loop: 'latitude',\n elements: [{ name: 'latitude' }, { name: 'longitude' }, { name: 'parse_mode', key: 0 }],\n },\n {\n objName: 'pic',\n name: 'sendPic',\n loop: 'IDs',\n elements: [\n { name: 'id', value: 'IDs' },\n { name: 'fileName' },\n { name: 'delay', value: 'picSendDelay' },\n ],\n },\n {\n objName: 'get',\n name: 'getData',\n loop: 'IDs',\n elements: [\n { name: 'id', value: 'IDs' },\n { name: 'text', type: 'text' },\n { name: 'newline', value: 'newline_checkbox' },\n { name: 'parse_mode', key: 0 },\n ],\n },\n {\n objName: 'httpRequest',\n name: 'httpRequest',\n loop: 'url',\n elements: [{ name: 'url' }, { name: 'user' }, { name: 'password' }, { name: 'filename' }],\n },\n ];\n\n const listOfSetStateIds: string[] = [];\n action.set.forEach(function (element, key) {\n if (key == 0) {\n userObject[element.trigger[0]] = { switch: [] };\n }\n userObject[element.trigger[0]] = { switch: [] };\n element.IDs.forEach(function (id: string, index: number) {\n listOfSetStateIds.push(id);\n const toggle = element.switch_checkbox[index] === 'true';\n let value;\n\n if (element.values[index] === 'true' || element.values[index] === 'false') {\n value = element.values[index] === 'true';\n } else {\n value = element.values[index];\n }\n const newObj: Switch = {\n id: element.IDs[index],\n value: value.toString(),\n toggle: toggle,\n confirm: element.confirm[index],\n returnText: element.returnText[index],\n ack: element.ack ? element.ack[index] : 'false',\n parse_mode: element.parse_mode ? element.parse_mode[0] : 'false',\n };\n if (userObject[element.trigger[0]] && userObject[element.trigger[0]]?.switch) {\n userObject[element.trigger[0]].switch!.push(newObj);\n }\n });\n });\n\n arrayOfEntries.forEach(item => {\n if (action[item.objName as keyof Actions]) {\n action[item.objName as keyof Actions].forEach(function (element, index: number) {\n userObject[element.trigger[0]] = { [item.name]: [] };\n if (index == 0) {\n userObject[element.trigger[0]] = { [item.name as keyof UserObjectActions]: [] };\n }\n\n (element[item.loop as keyof typeof element] as string[]).forEach(function (\n id: string,\n key: number,\n ) {\n const newObj: GenerateActionsNewObject = {};\n item.elements.forEach(elementItem => {\n const name = elementItem.name;\n const value = elementItem.value ? elementItem.value : elementItem.name;\n const newKey = elementItem.key ? elementItem.key : key;\n let val: string | boolean;\n\n if (!element[value as keyof typeof element]) {\n val = false;\n } else {\n val = element[value as keyof typeof element][newKey] || 'false';\n }\n\n if (elementItem.type == 'text' && typeof val === 'string') {\n newObj[name as keyof GenerateActionsNewObject] = val.replace(/&amp;/g, '&') as any;\n } else {\n newObj[name as keyof GenerateActionsNewObject] = val as any;\n }\n });\n if (item.name && typeof item.name === 'string') {\n userObject[element.trigger as NewObjectNavStructureKey][item?.name as keyof Part].push(\n newObj,\n );\n }\n });\n });\n }\n });\n\n return { obj: userObject, ids: listOfSetStateIds };\n } catch (err: any) {\n error([\n { text: 'Error generateActions:', val: err.message },\n { text: 'Stack:', val: err.stack },\n ]);\n }\n}\n\nfunction roundValue(val: string, textToSend: string): { val: string; textToSend: string } | undefined {\n try {\n const floatedNumber = parseFloat(val);\n const { substring, textWithoutSubstring } = decomposeText(textToSend, '{round:', '}');\n\n const decimalPlaces = substring.split(':')[1].replace('}', '');\n const floatedString = floatedNumber.toFixed(parseInt(decimalPlaces));\n return { val: floatedString, textToSend: textWithoutSubstring };\n } catch (err: any) {\n error([\n { text: 'Error roundValue:', val: err.message },\n { text: 'Stack:', val: err.stack },\n ]);\n }\n}\n\nconst exchangePlaceholderWithValue = (textToSend: string, text: string | number): string => {\n let searchString = '';\n if (textToSend.includes('&&')) {\n searchString = '&&';\n } else if (textToSend.includes('&amp;&amp;')) {\n searchString = '&amp;&amp;';\n }\n searchString !== '' && textToSend.toString().indexOf(searchString) != -1\n ? (textToSend = textToSend.replace(searchString, text.toString()))\n : (textToSend += ` ${text}`);\n\n return textToSend;\n};\n\nconst adjustValueType = (value: keyof NewObjectNavStructure, valueType: string): boolean | string | number => {\n if (valueType == 'number') {\n if (!parseFloat(value as string)) {\n error([{ text: 'Error: Value is not a number:', val: value }]);\n return false;\n }\n return parseFloat(value as string);\n }\n if (valueType == 'boolean') {\n if (value == 'true') {\n return true;\n }\n error([{ text: 'Error: Value is not a boolean:', val: value }]);\n return false;\n }\n return value;\n};\n\nconst checkEvent = async (\n dataObject: DataObject,\n id: string,\n state: ioBroker.State,\n menuData: MenuData,\n userListWithChatID: UserListWithChatId[],\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n usersInGroup: UserInGroup,\n): Promise<boolean> => {\n const menuArray: string[] = [];\n let ok = false;\n let calledNav = '';\n Object.keys(dataObject.action).forEach(menu => {\n if (dataObject.action[menu] && dataObject.action[menu].events) {\n dataObject.action[menu].events.forEach(event => {\n if (event.ID[0] == id && event.ack[0] == state.ack.toString()) {\n if ((state.val == true || state.val == 'true') && event.condition == 'true') {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n } else if ((state.val == false || state.val == 'false') && event.condition[0] == 'false') {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n } else if (typeof state.val == 'number' && state.val == parseInt(event.condition[0])) {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n } else if (state.val == event.condition[0]) {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n }\n }\n });\n }\n });\n if (ok) {\n if (menuArray.length >= 1) {\n for (const menu of menuArray) {\n if (usersInGroup[menu] && menuData.data[menu][calledNav as keyof DataObject]) {\n for (const user of usersInGroup[menu]) {\n const part = menuData.data[menu][calledNav as keyof DataObject];\n const menus = Object.keys(menuData.data);\n if (part.nav) {\n backMenuFunc(calledNav, part.nav, user);\n }\n if (part && part.nav && JSON.stringify(part?.nav[0]).includes('menu:')) {\n await callSubMenu(\n JSON.stringify(part?.nav[0]),\n menuData,\n user,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n menuData.data,\n menus,\n null,\n );\n } else {\n await sendNav(\n part,\n user,\n instanceTelegram,\n userListWithChatID,\n resize_keyboard,\n one_time_keyboard,\n );\n }\n }\n }\n }\n }\n }\n\n return ok;\n};\n\nconst getUserToSendFromUserListWithChatID = (\n userListWithChatID: UserListWithChatId[],\n chatID: string,\n): string | null => {\n let userToSend: string | null = null;\n\n for (const element of userListWithChatID) {\n if (element.chatID == chatID) {\n userToSend = element.name;\n debug([\n { text: 'User and ChatID:', val: element },\n { text: 'User:', val: userToSend },\n ]);\n break;\n }\n }\n\n return userToSend;\n};\nconst getMenusWithUserToSend = (menusWithUsers: MenusWithUsers, userToSend: string): NewObjectNavStructureKey[] => {\n const menus: NewObjectNavStructureKey[] = [];\n for (const key in menusWithUsers) {\n if (menusWithUsers[key].includes(userToSend)) {\n menus.push(key);\n }\n }\n return menus;\n};\n\nexport {\n editArrayButtons,\n idBySelector,\n generateNewObjectStructure,\n generateActions,\n calcValue,\n roundValue,\n bindingFunc,\n exchangePlaceholderWithValue,\n adjustValueType,\n checkEvent,\n getUserToSendFromUserListWithChatID,\n getMenusWithUserToSend,\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { sendToTelegram } from './telegram.js';\nimport { decomposeText } from './global';\nimport { callSubMenu } from './subMenu.js';\nimport { sendNav } from './sendNav.js';\nimport { backMenuFunc } from './backMenu.js';\nimport { debug, error } from './logging.js';\nimport TelegramMenu from '../main.js';\nimport type {\n UserListWithChatId,\n BooleanString,\n BindingObject,\n EditArrayButtons,\n GeneratedNavMenu,\n Newline,\n NewObjectNavStructure,\n Actions,\n GenerateActionsArrayOfEntries,\n Switch,\n UserObjectActions,\n GenerateActionsNewObject,\n NewObjectNavStructureKey,\n Part,\n DataObject,\n MenuData,\n UserInGroup,\n MenusWithUsers,\n} from './telegram-menu.js';\n\nconst bindingFunc = async (\n text: string,\n userToSend: string,\n telegramInstance: string,\n one_time_keyboard: boolean,\n resize_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n parse_mode: BooleanString,\n): Promise<void> => {\n const _this = TelegramMenu.getInstance();\n let value;\n\n try {\n const substring = decomposeText(text, 'binding:', '}').substring;\n const arrayOfItems = substring.replace('binding:{', '').replace('}', '').split(';');\n const bindingObject: BindingObject = {\n values: {},\n };\n\n for (let item of arrayOfItems) {\n if (!item.includes('?')) {\n const key = item.split(':')[0];\n const id = item.split(':')[1];\n\n const result = await _this.getForeignStateAsync(id);\n if (result) {\n bindingObject.values[key] = result.val?.toString() || '';\n }\n } else {\n Object.keys(bindingObject.values).forEach(function (key) {\n item = item.replace(key, bindingObject.values[key]);\n });\n\n value = eval(item);\n }\n }\n await sendToTelegram({\n user: userToSend,\n textToSend: value,\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: one_time_keyboard,\n one_time_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: parse_mode,\n });\n } catch (e: any) {\n error([\n { text: 'Error:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n};\n\nfunction calcValue(\n _this: TelegramMenu,\n textToSend: string,\n val: string,\n): { textToSend: string; val: string } | undefined {\n const { substring } = decomposeText(textToSend, '{math:', '}');\n const mathValue = substring.replace('{math:', '').replace('}', '');\n try {\n val = eval(val + mathValue);\n textToSend = textToSend.replace(substring, '');\n\n return { textToSend: textToSend, val: val };\n } catch (e: any) {\n error([\n { text: 'Error Eval:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nfunction checkValueForOneLine(text: string): string {\n if (!text.includes('&&')) {\n return `${text}&&`;\n }\n return text;\n}\n\nfunction editArrayButtons(val: EditArrayButtons[], _this: TelegramMenu): GeneratedNavMenu[] | null {\n const newVal: GeneratedNavMenu[] = [];\n try {\n val.forEach(element => {\n let value = '';\n if (typeof element.value === 'string') {\n value = checkValueForOneLine(element.value);\n }\n let array: string[] | string[][] = [];\n if (value.indexOf('&&') != -1) {\n array = value.split('&&');\n }\n\n if (array.length > 1) {\n array.forEach(function (element, index: number) {\n if (typeof element === 'string') {\n let navArray = element.split(',');\n navArray = navArray.map(item => item.trim());\n array[index] = navArray;\n }\n });\n } else if (typeof element.value === 'string') {\n array = element.value.split(',');\n array.forEach(function (element, index: number) {\n array[index] = [element.trim()];\n });\n }\n\n newVal.push({ call: element.call, text: element.text, parse_mode: element.parse_mode, nav: array });\n });\n\n return newVal;\n } catch (err: any) {\n error([\n { text: 'Error EditArray:', val: err.message },\n { text: 'Stack:', val: err.stack },\n ]);\n return null;\n }\n}\n\nconst idBySelector = async (\n _this: TelegramMenu,\n selector: string,\n text: string,\n userToSend: string,\n newline: Newline,\n telegramInstance: string,\n one_time_keyboard: boolean,\n resize_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n): Promise<void> => {\n let text2Send = '';\n try {\n if (!selector.includes('functions')) {\n return;\n }\n\n const functions = selector.replace('functions=', '');\n let enums: string[] | undefined = [];\n const result = await _this.getEnumsAsync();\n\n if (!result || !result['enum.functions'][`enum.functions.${functions}`]) {\n return;\n }\n enums = result['enum.functions'][`enum.functions.${functions}`].common.members;\n if (!enums) {\n return;\n }\n const promises = enums.map(async (id: string) => {\n const value = await _this.getForeignStateAsync(id);\n if (value && value.val !== undefined && value.val !== null) {\n let newText = text;\n let res;\n\n if (text.includes('{common.name}')) {\n res = await _this.getForeignObjectAsync(id);\n _this.log.debug(`Name ${JSON.stringify(res?.common.name)}`);\n\n if (res && res.common.name) {\n newText = newText.replace('{common.name}', res.common.name as string);\n }\n }\n if (text.includes('&amp;&amp;')) {\n text2Send += newText.replace('&amp;&amp;', value.val as string);\n } else if (text.includes('&&')) {\n text2Send += newText.replace('&&', value.val as string);\n } else {\n text2Send += newText;\n text2Send += ` ${value.val}`;\n }\n }\n if (newline === 'true') {\n text2Send += ' \\n';\n } else {\n text2Send += ' ';\n }\n _this.log.debug(`text2send ${JSON.stringify(text2Send)}`);\n });\n Promise.all(promises)\n .then(() => {\n sendToTelegram({\n user: userToSend,\n textToSend: text2Send,\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: one_time_keyboard,\n one_time_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n }).catch(e => {\n error([\n { text: 'Error SendToTelegram:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n });\n debug([\n { text: 'TextToSend:', val: text2Send },\n { text: 'UserToSend:', val: userToSend },\n ]);\n })\n .catch(e => {\n error([\n { text: 'Error Promise:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n });\n } catch (error: any) {\n error([\n { text: 'Error idBySelector:', val: error.message },\n { text: 'Stack:', val: error.stack },\n ]);\n }\n};\n\nfunction generateNewObjectStructure(val: GeneratedNavMenu[] | null): NewObjectNavStructure | null {\n try {\n if (!val) {\n return null;\n }\n const obj: NewObjectNavStructure = {};\n val.forEach(function (element) {\n const call = element.call;\n obj[call] = {\n nav: element.nav,\n text: element.text,\n parse_mode:\n element.parse_mode == 'true' || element.parse_mode == 'false' ? element.parse_mode : 'false',\n };\n });\n return obj;\n } catch (err: any) {\n error([\n { text: 'Error GenerateNewObjectStructure:', val: err.message },\n { text: 'Stack:', val: err.stack },\n ]);\n return null;\n }\n}\n\nfunction generateActions(\n action: Actions,\n userObject: NewObjectNavStructure,\n): { obj: NewObjectNavStructure; ids: string[] } | undefined {\n try {\n const arrayOfEntries: GenerateActionsArrayOfEntries[] = [\n {\n objName: 'echarts',\n name: 'echarts',\n loop: 'preset',\n elements: [\n { name: 'preset' },\n { name: 'echartInstance' },\n { name: 'background' },\n { name: 'theme' },\n { name: 'filename' },\n ],\n },\n {\n objName: 'loc',\n name: 'location',\n loop: 'latitude',\n elements: [{ name: 'latitude' }, { name: 'longitude' }, { name: 'parse_mode', key: 0 }],\n },\n {\n objName: 'pic',\n name: 'sendPic',\n loop: 'IDs',\n elements: [\n { name: 'id', value: 'IDs' },\n { name: 'fileName' },\n { name: 'delay', value: 'picSendDelay' },\n ],\n },\n {\n objName: 'get',\n name: 'getData',\n loop: 'IDs',\n elements: [\n { name: 'id', value: 'IDs' },\n { name: 'text', type: 'text' },\n { name: 'newline', value: 'newline_checkbox' },\n { name: 'parse_mode', key: 0 },\n ],\n },\n {\n objName: 'httpRequest',\n name: 'httpRequest',\n loop: 'url',\n elements: [{ name: 'url' }, { name: 'user' }, { name: 'password' }, { name: 'filename' }],\n },\n ];\n\n const listOfSetStateIds: string[] = [];\n action.set.forEach(function (element, key) {\n if (key == 0) {\n userObject[element.trigger[0]] = { switch: [] };\n }\n userObject[element.trigger[0]] = { switch: [] };\n element.IDs.forEach(function (id: string, index: number) {\n listOfSetStateIds.push(id);\n const toggle = element.switch_checkbox[index] === 'true';\n let value;\n\n if (element.values[index] === 'true' || element.values[index] === 'false') {\n value = element.values[index] === 'true';\n } else {\n value = element.values[index];\n }\n const newObj: Switch = {\n id: element.IDs[index],\n value: value.toString(),\n toggle: toggle,\n confirm: element.confirm[index],\n returnText: element.returnText[index],\n ack: element.ack ? element.ack[index] : 'false',\n parse_mode: element.parse_mode ? element.parse_mode[0] : 'false',\n };\n if (userObject[element.trigger[0]] && userObject[element.trigger[0]]?.switch) {\n userObject[element.trigger[0]].switch!.push(newObj);\n }\n });\n });\n\n arrayOfEntries.forEach(item => {\n if (action[item.objName as keyof Actions]) {\n action[item.objName as keyof Actions].forEach(function (element, index: number) {\n userObject[element.trigger[0]] = { [item.name]: [] };\n if (index == 0) {\n userObject[element.trigger[0]] = { [item.name as keyof UserObjectActions]: [] };\n }\n\n (element[item.loop as keyof typeof element] as string[]).forEach(function (\n id: string,\n key: number,\n ) {\n const newObj: GenerateActionsNewObject = {};\n item.elements.forEach(elementItem => {\n const name = elementItem.name;\n const value = elementItem.value ? elementItem.value : elementItem.name;\n const newKey = elementItem.key ? elementItem.key : key;\n let val: string | boolean;\n\n if (!element[value as keyof typeof element]) {\n val = false;\n } else {\n val = element[value as keyof typeof element][newKey] || 'false';\n }\n\n if (elementItem.type == 'text' && typeof val === 'string') {\n newObj[name as keyof GenerateActionsNewObject] = val.replace(/&amp;/g, '&') as any;\n } else {\n newObj[name as keyof GenerateActionsNewObject] = val as any;\n }\n });\n if (item.name && typeof item.name === 'string') {\n userObject[element.trigger as NewObjectNavStructureKey][item?.name as keyof Part].push(\n newObj,\n );\n }\n });\n });\n }\n });\n\n return { obj: userObject, ids: listOfSetStateIds };\n } catch (err: any) {\n error([\n { text: 'Error generateActions:', val: err.message },\n { text: 'Stack:', val: err.stack },\n ]);\n }\n}\n\nfunction roundValue(val: string, textToSend: string): { val: string; textToSend: string } | undefined {\n try {\n const floatedNumber = parseFloat(val);\n const { substring, textWithoutSubstring } = decomposeText(textToSend, '{round:', '}');\n\n const decimalPlaces = substring.split(':')[1].replace('}', '');\n const floatedString = floatedNumber.toFixed(parseInt(decimalPlaces));\n return { val: floatedString, textToSend: textWithoutSubstring };\n } catch (err: any) {\n error([\n { text: 'Error roundValue:', val: err.message },\n { text: 'Stack:', val: err.stack },\n ]);\n }\n}\n\nconst exchangePlaceholderWithValue = (textToSend: string, text: string | number): string => {\n let searchString = '';\n if (textToSend.includes('&&')) {\n searchString = '&&';\n } else if (textToSend.includes('&amp;&amp;')) {\n searchString = '&amp;&amp;';\n }\n searchString !== '' && textToSend.toString().indexOf(searchString) != -1\n ? (textToSend = textToSend.replace(searchString, text.toString()))\n : (textToSend += ` ${text}`);\n\n return textToSend;\n};\n\nconst adjustValueType = (value: keyof NewObjectNavStructure, valueType: string): boolean | string | number => {\n if (valueType == 'number') {\n if (!parseFloat(value as string)) {\n error([{ text: 'Error: Value is not a number:', val: value }]);\n return false;\n }\n return parseFloat(value as string);\n }\n if (valueType == 'boolean') {\n if (value == 'true') {\n return true;\n }\n error([{ text: 'Error: Value is not a boolean:', val: value }]);\n return false;\n }\n return value;\n};\n\nconst checkEvent = async (\n dataObject: DataObject,\n id: string,\n state: ioBroker.State,\n menuData: MenuData,\n userListWithChatID: UserListWithChatId[],\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n usersInGroup: UserInGroup,\n): Promise<boolean> => {\n const menuArray: string[] = [];\n let ok = false;\n let calledNav = '';\n Object.keys(dataObject.action).forEach(menu => {\n if (dataObject.action[menu] && dataObject.action[menu].events) {\n dataObject.action[menu].events.forEach(event => {\n if (event.ID[0] == id && event.ack[0] == state.ack.toString()) {\n if ((state.val == true || state.val == 'true') && event.condition == 'true') {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n } else if ((state.val == false || state.val == 'false') && event.condition[0] == 'false') {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n } else if (typeof state.val == 'number' && state.val == parseInt(event.condition[0])) {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n } else if (state.val == event.condition[0]) {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n }\n }\n });\n }\n });\n if (ok) {\n if (menuArray.length >= 1) {\n for (const menu of menuArray) {\n if (usersInGroup[menu] && menuData.data[menu][calledNav as keyof DataObject]) {\n for (const user of usersInGroup[menu]) {\n const part = menuData.data[menu][calledNav as keyof DataObject];\n const menus = Object.keys(menuData.data);\n if (part.nav) {\n backMenuFunc(calledNav, part.nav, user);\n }\n if (part?.nav && part?.nav[0][0].includes('menu:')) {\n await callSubMenu(\n JSON.stringify(part?.nav[0]),\n menuData,\n user,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n menuData.data,\n menus,\n null,\n part.nav,\n );\n } else {\n await sendNav(\n part,\n user,\n instanceTelegram,\n userListWithChatID,\n resize_keyboard,\n one_time_keyboard,\n );\n }\n }\n }\n }\n }\n }\n\n return ok;\n};\n\nconst getUserToSendFromUserListWithChatID = (\n userListWithChatID: UserListWithChatId[],\n chatID: string,\n): string | null => {\n let userToSend: string | null = null;\n\n for (const element of userListWithChatID) {\n if (element.chatID == chatID) {\n userToSend = element.name;\n break;\n }\n }\n\n return userToSend;\n};\nconst getMenusWithUserToSend = (menusWithUsers: MenusWithUsers, userToSend: string): NewObjectNavStructureKey[] => {\n const menus: NewObjectNavStructureKey[] = [];\n for (const key in menusWithUsers) {\n if (menusWithUsers[key].includes(userToSend)) {\n menus.push(key);\n }\n }\n return menus;\n};\n\nexport {\n editArrayButtons,\n idBySelector,\n generateNewObjectStructure,\n generateActions,\n calcValue,\n roundValue,\n bindingFunc,\n exchangePlaceholderWithValue,\n adjustValueType,\n checkEvent,\n getUserToSendFromUserListWithChatID,\n getMenusWithUserToSend,\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["TelegramMenu", "text", "val", "_this", "value", "element", "item", "userToSend", "telegramInstance", "one_time_keyboard", "resize_keyboard", "userListWithChatID", "error", "textToSend", "substring"]
7
7
  }
@@ -32,16 +32,16 @@ async function adapterStartMenuSend(listOfMenus, startSides, userActiveCheckbox,
32
32
  for (const user of menusWithUsers[menu]) {
33
33
  (0, import_backMenu.backMenuFunc)(startSide, menuData.data[menu][startSide].nav, user);
34
34
  (0, import_logging.debug)([{ text: "User List:", val: userListWithChatID }]);
35
- await (0, import_telegram.sendToTelegram)(
35
+ await (0, import_telegram.sendToTelegram)({
36
36
  user,
37
- menuData.data[menu][startSide].text,
38
- menuData.data[menu][startSide].nav,
39
- instanceTelegram,
37
+ textToSend: menuData.data[menu][startSide].text,
38
+ keyboard: menuData.data[menu][startSide].nav,
39
+ instance: instanceTelegram,
40
40
  resize_keyboard,
41
41
  one_time_keyboard,
42
42
  userListWithChatID,
43
- menuData.data[menu][startSide].parse_mode
44
- );
43
+ parse_mode: menuData.data[menu][startSide].parse_mode
44
+ });
45
45
  }
46
46
  } else {
47
47
  if (startSide == "-") {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/adapterStartMenuSend.ts"],
4
- "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { backMenuFunc } from './backMenu';\nimport { debug } from './logging';\nimport type {\n ListOfMenus,\n StartSides,\n IsUserActiveCheckbox,\n MenusWithUsers,\n MenuData,\n UserListWithChatId,\n NavPart,\n BooleanString,\n} from './telegram-menu';\nasync function adapterStartMenuSend(\n listOfMenus: ListOfMenus,\n startSides: StartSides,\n userActiveCheckbox: IsUserActiveCheckbox,\n menusWithUsers: MenusWithUsers,\n menuData: MenuData,\n userListWithChatID: UserListWithChatId[],\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n for (const menu of listOfMenus) {\n const startSide = [startSides[menu]].toString();\n\n if (userActiveCheckbox[menu] && startSide != '-' && startSide != '') {\n debug([{ text: 'Startseite:', val: startSide }]);\n for (const user of menusWithUsers[menu]) {\n backMenuFunc(startSide, menuData.data[menu][startSide].nav as NavPart, user);\n debug([{ text: 'User List:', val: userListWithChatID }]);\n\n await sendToTelegram(\n user,\n menuData.data[menu][startSide].text as string,\n menuData.data[menu][startSide].nav,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n menuData.data[menu][startSide].parse_mode as BooleanString,\n );\n }\n } else {\n if (startSide == '-') {\n debug([{ text: `Menu \"${menu}\" is a Submenu.` }]);\n continue;\n }\n debug([{ text: `Menu \"${menu}\" is inactive.` }]);\n }\n }\n}\nexport { adapterStartMenuSend };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,sBAA6B;AAC7B,qBAAsB;AAWtB,eAAe,qBACX,aACA,YACA,oBACA,gBACA,UACA,oBACA,kBACA,iBACA,mBACa;AACb,aAAW,QAAQ,aAAa;AAC5B,UAAM,YAAY,CAAC,WAAW,IAAI,CAAC,EAAE,SAAS;AAE9C,QAAI,mBAAmB,IAAI,KAAK,aAAa,OAAO,aAAa,IAAI;AACjE,gCAAM,CAAC,EAAE,MAAM,eAAe,KAAK,UAAU,CAAC,CAAC;AAC/C,iBAAW,QAAQ,eAAe,IAAI,GAAG;AACrC,0CAAa,WAAW,SAAS,KAAK,IAAI,EAAE,SAAS,EAAE,KAAgB,IAAI;AAC3E,kCAAM,CAAC,EAAE,MAAM,cAAc,KAAK,mBAAmB,CAAC,CAAC;AAEvD,kBAAM;AAAA,UACF;AAAA,UACA,SAAS,KAAK,IAAI,EAAE,SAAS,EAAE;AAAA,UAC/B,SAAS,KAAK,IAAI,EAAE,SAAS,EAAE;AAAA,UAC/B;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS,KAAK,IAAI,EAAE,SAAS,EAAE;AAAA,QACnC;AAAA,MACJ;AAAA,IACJ,OAAO;AACH,UAAI,aAAa,KAAK;AAClB,kCAAM,CAAC,EAAE,MAAM,SAAS,IAAI,kBAAkB,CAAC,CAAC;AAChD;AAAA,MACJ;AACA,gCAAM,CAAC,EAAE,MAAM,SAAS,IAAI,iBAAiB,CAAC,CAAC;AAAA,IACnD;AAAA,EACJ;AACJ;",
4
+ "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { backMenuFunc } from './backMenu';\nimport { debug } from './logging';\nimport type {\n ListOfMenus,\n StartSides,\n IsUserActiveCheckbox,\n MenusWithUsers,\n MenuData,\n UserListWithChatId,\n NavPart,\n BooleanString,\n} from './telegram-menu';\nasync function adapterStartMenuSend(\n listOfMenus: ListOfMenus,\n startSides: StartSides,\n userActiveCheckbox: IsUserActiveCheckbox,\n menusWithUsers: MenusWithUsers,\n menuData: MenuData,\n userListWithChatID: UserListWithChatId[],\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n for (const menu of listOfMenus) {\n const startSide = [startSides[menu]].toString();\n\n if (userActiveCheckbox[menu] && startSide != '-' && startSide != '') {\n debug([{ text: 'Startseite:', val: startSide }]);\n for (const user of menusWithUsers[menu]) {\n backMenuFunc(startSide, menuData.data[menu][startSide].nav as NavPart, user);\n debug([{ text: 'User List:', val: userListWithChatID }]);\n\n await sendToTelegram({\n user: user,\n textToSend: menuData.data[menu][startSide].text as string,\n keyboard: menuData.data[menu][startSide].nav,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: menuData.data[menu][startSide].parse_mode as BooleanString,\n });\n }\n } else {\n if (startSide == '-') {\n debug([{ text: `Menu \"${menu}\" is a Submenu.` }]);\n continue;\n }\n debug([{ text: `Menu \"${menu}\" is inactive.` }]);\n }\n }\n}\nexport { adapterStartMenuSend };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,sBAA6B;AAC7B,qBAAsB;AAWtB,eAAe,qBACX,aACA,YACA,oBACA,gBACA,UACA,oBACA,kBACA,iBACA,mBACa;AACb,aAAW,QAAQ,aAAa;AAC5B,UAAM,YAAY,CAAC,WAAW,IAAI,CAAC,EAAE,SAAS;AAE9C,QAAI,mBAAmB,IAAI,KAAK,aAAa,OAAO,aAAa,IAAI;AACjE,gCAAM,CAAC,EAAE,MAAM,eAAe,KAAK,UAAU,CAAC,CAAC;AAC/C,iBAAW,QAAQ,eAAe,IAAI,GAAG;AACrC,0CAAa,WAAW,SAAS,KAAK,IAAI,EAAE,SAAS,EAAE,KAAgB,IAAI;AAC3E,kCAAM,CAAC,EAAE,MAAM,cAAc,KAAK,mBAAmB,CAAC,CAAC;AAEvD,kBAAM,gCAAe;AAAA,UACjB;AAAA,UACA,YAAY,SAAS,KAAK,IAAI,EAAE,SAAS,EAAE;AAAA,UAC3C,UAAU,SAAS,KAAK,IAAI,EAAE,SAAS,EAAE;AAAA,UACzC,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA,YAAY,SAAS,KAAK,IAAI,EAAE,SAAS,EAAE;AAAA,QAC/C,CAAC;AAAA,MACL;AAAA,IACJ,OAAO;AACH,UAAI,aAAa,KAAK;AAClB,kCAAM,CAAC,EAAE,MAAM,SAAS,IAAI,kBAAkB,CAAC,CAAC;AAChD;AAAA,MACJ;AACA,gCAAM,CAAC,EAAE,MAAM,SAAS,IAAI,iBAAiB,CAAC,CAAC;AAAA,IACnD;AAAA,EACJ;AACJ;",
6
6
  "names": []
7
7
  }
@@ -43,23 +43,23 @@ async function switchBack(userToSend, allMenusWithData, menus, lastMenu = false)
43
43
  var _a, _b, _c, _d;
44
44
  try {
45
45
  const list = backMenu[userToSend] && ((_a = backMenu[userToSend]) == null ? void 0 : _a.list) ? backMenu[userToSend].list : [];
46
- let menuToSend = [];
46
+ let keyboard = { inline_keyboard: [] };
47
47
  let foundedMenu = "";
48
48
  if (list.length != 0) {
49
49
  for (const menu of menus) {
50
50
  if (lastMenu && ((_c = (_b = allMenusWithData[menu]) == null ? void 0 : _b[backMenu[userToSend].last]) == null ? void 0 : _c.nav)) {
51
- menuToSend = allMenusWithData[menu][backMenu[userToSend].last].nav;
51
+ keyboard = allMenusWithData[menu][backMenu[userToSend].last].nav;
52
52
  foundedMenu = menu;
53
53
  break;
54
54
  } else if (((_d = allMenusWithData[menu][list[list.length - 1]]) == null ? void 0 : _d.nav) && !lastMenu) {
55
- menuToSend = allMenusWithData[menu][list[list.length - 1]].nav;
55
+ keyboard = allMenusWithData[menu][list[list.length - 1]].nav;
56
56
  (0, import_logging.debug)([{ text: "Menu call found" }]);
57
57
  foundedMenu = menu;
58
58
  break;
59
59
  }
60
60
  (0, import_logging.debug)([{ text: "Menu call not found in this Menu" }]);
61
61
  }
62
- if (menuToSend && foundedMenu != "") {
62
+ if (keyboard && foundedMenu != "") {
63
63
  let parseMode = "";
64
64
  if (!lastMenu) {
65
65
  let textToSend = allMenusWithData[foundedMenu][backMenu[userToSend].list[backMenu[userToSend].list.length - 1]].text;
@@ -68,12 +68,12 @@ async function switchBack(userToSend, allMenusWithData, menus, lastMenu = false)
68
68
  }
69
69
  parseMode = allMenusWithData[foundedMenu][backMenu[userToSend].list[backMenu[userToSend].list.length - 1]].parse_mode || "false";
70
70
  backMenu[userToSend].last = list.pop();
71
- return { texttosend: textToSend, menuToSend, parseMode };
71
+ return { texttosend: textToSend, menuToSend: keyboard, parseMode };
72
72
  }
73
73
  parseMode = allMenusWithData[foundedMenu][backMenu[userToSend].last].parse_mode || "false";
74
74
  return {
75
75
  texttosend: allMenusWithData[foundedMenu][backMenu[userToSend].last].text,
76
- menuToSend,
76
+ menuToSend: keyboard,
77
77
  parseMode
78
78
  };
79
79
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/backMenu.ts"],
4
- "sourcesContent": ["import { debug, error } from './logging';\nimport type { BackMenu, NavPart, AllMenusWithData, BooleanString } from './telegram-menu';\nimport { checkStatusInfo } from './utilities';\nconst backMenu: BackMenu = {};\n\nfunction backMenuFunc(nav: string, part: NavPart, userToSend: string): void {\n if (!part || !JSON.stringify(part).split(`\"`)[1].includes('menu:')) {\n if (backMenu[userToSend] && backMenu[userToSend].list.length === 20) {\n backMenu[userToSend].list.shift();\n } else if (!backMenu[userToSend]) {\n backMenu[userToSend] = { list: [], last: '' };\n }\n if (backMenu[userToSend].last !== '') {\n backMenu[userToSend].list.push(backMenu[userToSend].last);\n }\n backMenu[userToSend].last = nav;\n }\n debug([{ text: 'GoBackMenu', val: backMenu }]);\n}\n\nasync function switchBack(\n userToSend: string,\n allMenusWithData: AllMenusWithData,\n menus: string[],\n lastMenu = false,\n): Promise<{ texttosend: string | undefined; menuToSend: NavPart; parseMode: BooleanString } | undefined> {\n try {\n const list = backMenu[userToSend] && backMenu[userToSend]?.list ? backMenu[userToSend].list : [];\n let menuToSend: NavPart | undefined = [];\n let foundedMenu = '';\n if (list.length != 0) {\n for (const menu of menus) {\n if (lastMenu && allMenusWithData[menu]?.[backMenu[userToSend].last]?.nav) {\n menuToSend = allMenusWithData[menu][backMenu[userToSend].last].nav;\n foundedMenu = menu;\n break;\n } else if (allMenusWithData[menu][list[list.length - 1]]?.nav && !lastMenu) {\n menuToSend = allMenusWithData[menu][list[list.length - 1]].nav;\n debug([{ text: 'Menu call found' }]);\n foundedMenu = menu;\n break;\n }\n debug([{ text: 'Menu call not found in this Menu' }]);\n }\n if (menuToSend && foundedMenu != '') {\n let parseMode: BooleanString = '' as BooleanString;\n if (!lastMenu) {\n let textToSend =\n allMenusWithData[foundedMenu][backMenu[userToSend].list[backMenu[userToSend].list.length - 1]]\n .text;\n if (textToSend) {\n textToSend = await checkStatusInfo(textToSend);\n }\n parseMode =\n allMenusWithData[foundedMenu][backMenu[userToSend].list[backMenu[userToSend].list.length - 1]]\n .parse_mode || 'false';\n backMenu[userToSend].last = list.pop();\n\n return { texttosend: textToSend, menuToSend: menuToSend, parseMode: parseMode };\n }\n parseMode = allMenusWithData[foundedMenu][backMenu[userToSend].last].parse_mode || 'false';\n return {\n texttosend: allMenusWithData[foundedMenu][backMenu[userToSend].last].text,\n menuToSend: menuToSend,\n parseMode: parseMode,\n };\n }\n }\n } catch (e: any) {\n error([\n { text: 'Error in switchBack:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { switchBack, backMenuFunc };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6B;AAE7B,uBAAgC;AAChC,MAAM,WAAqB,CAAC;AAE5B,SAAS,aAAa,KAAa,MAAe,YAA0B;AACxE,MAAI,CAAC,QAAQ,CAAC,KAAK,UAAU,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,SAAS,OAAO,GAAG;AAChE,QAAI,SAAS,UAAU,KAAK,SAAS,UAAU,EAAE,KAAK,WAAW,IAAI;AACjE,eAAS,UAAU,EAAE,KAAK,MAAM;AAAA,IACpC,WAAW,CAAC,SAAS,UAAU,GAAG;AAC9B,eAAS,UAAU,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG;AAAA,IAChD;AACA,QAAI,SAAS,UAAU,EAAE,SAAS,IAAI;AAClC,eAAS,UAAU,EAAE,KAAK,KAAK,SAAS,UAAU,EAAE,IAAI;AAAA,IAC5D;AACA,aAAS,UAAU,EAAE,OAAO;AAAA,EAChC;AACA,4BAAM,CAAC,EAAE,MAAM,cAAc,KAAK,SAAS,CAAC,CAAC;AACjD;AAEA,eAAe,WACX,YACA,kBACA,OACA,WAAW,OAC2F;AAzB1G;AA0BI,MAAI;AACA,UAAM,OAAO,SAAS,UAAU,OAAK,cAAS,UAAU,MAAnB,mBAAsB,QAAO,SAAS,UAAU,EAAE,OAAO,CAAC;AAC/F,QAAI,aAAkC,CAAC;AACvC,QAAI,cAAc;AAClB,QAAI,KAAK,UAAU,GAAG;AAClB,iBAAW,QAAQ,OAAO;AACtB,YAAI,cAAY,4BAAiB,IAAI,MAArB,mBAAyB,SAAS,UAAU,EAAE,UAA9C,mBAAqD,MAAK;AACtE,uBAAa,iBAAiB,IAAI,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;AAC/D,wBAAc;AACd;AAAA,QACJ,aAAW,sBAAiB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,MAA5C,mBAA+C,QAAO,CAAC,UAAU;AACxE,uBAAa,iBAAiB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE;AAC3D,oCAAM,CAAC,EAAE,MAAM,kBAAkB,CAAC,CAAC;AACnC,wBAAc;AACd;AAAA,QACJ;AACA,kCAAM,CAAC,EAAE,MAAM,mCAAmC,CAAC,CAAC;AAAA,MACxD;AACA,UAAI,cAAc,eAAe,IAAI;AACjC,YAAI,YAA2B;AAC/B,YAAI,CAAC,UAAU;AACX,cAAI,aACA,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC,CAAC,EACxF;AACT,cAAI,YAAY;AACZ,yBAAa,UAAM,kCAAgB,UAAU;AAAA,UACjD;AACA,sBACI,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC,CAAC,EACxF,cAAc;AACvB,mBAAS,UAAU,EAAE,OAAO,KAAK,IAAI;AAErC,iBAAO,EAAE,YAAY,YAAY,YAAwB,UAAqB;AAAA,QAClF;AACA,oBAAY,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE,cAAc;AACnF,eAAO;AAAA,UACH,YAAY,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;AAAA,UACrE;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,wBAAwB,KAAK,EAAE,QAAQ;AAAA,MAC/C,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
4
+ "sourcesContent": ["import { debug, error } from './logging';\nimport type { BackMenu, NavPart, AllMenusWithData, BooleanString, Keyboard } from './telegram-menu';\nimport { checkStatusInfo } from './utilities';\nconst backMenu: BackMenu = {};\n\nfunction backMenuFunc(nav: string, part: NavPart, userToSend: string): void {\n if (!part || !JSON.stringify(part).split(`\"`)[1].includes('menu:')) {\n if (backMenu[userToSend] && backMenu[userToSend].list.length === 20) {\n backMenu[userToSend].list.shift();\n } else if (!backMenu[userToSend]) {\n backMenu[userToSend] = { list: [], last: '' };\n }\n if (backMenu[userToSend].last !== '') {\n backMenu[userToSend].list.push(backMenu[userToSend].last);\n }\n backMenu[userToSend].last = nav;\n }\n debug([{ text: 'GoBackMenu', val: backMenu }]);\n}\n\nasync function switchBack(\n userToSend: string,\n allMenusWithData: AllMenusWithData,\n menus: string[],\n lastMenu = false,\n): Promise<{ texttosend: string | undefined; menuToSend: Keyboard; parseMode: BooleanString } | undefined> {\n try {\n const list = backMenu[userToSend] && backMenu[userToSend]?.list ? backMenu[userToSend].list : [];\n let keyboard: Keyboard = { inline_keyboard: [] };\n let foundedMenu = '';\n if (list.length != 0) {\n for (const menu of menus) {\n if (lastMenu && allMenusWithData[menu]?.[backMenu[userToSend].last]?.nav) {\n keyboard = allMenusWithData[menu][backMenu[userToSend].last].nav;\n foundedMenu = menu;\n break;\n } else if (allMenusWithData[menu][list[list.length - 1]]?.nav && !lastMenu) {\n keyboard = allMenusWithData[menu][list[list.length - 1]].nav;\n debug([{ text: 'Menu call found' }]);\n foundedMenu = menu;\n break;\n }\n debug([{ text: 'Menu call not found in this Menu' }]);\n }\n if (keyboard && foundedMenu != '') {\n let parseMode: BooleanString = '' as BooleanString;\n if (!lastMenu) {\n let textToSend =\n allMenusWithData[foundedMenu][backMenu[userToSend].list[backMenu[userToSend].list.length - 1]]\n .text;\n if (textToSend) {\n textToSend = await checkStatusInfo(textToSend);\n }\n parseMode =\n allMenusWithData[foundedMenu][backMenu[userToSend].list[backMenu[userToSend].list.length - 1]]\n .parse_mode || 'false';\n backMenu[userToSend].last = list.pop();\n\n return { texttosend: textToSend, menuToSend: keyboard, parseMode: parseMode };\n }\n parseMode = allMenusWithData[foundedMenu][backMenu[userToSend].last].parse_mode || 'false';\n return {\n texttosend: allMenusWithData[foundedMenu][backMenu[userToSend].last].text,\n menuToSend: keyboard,\n parseMode: parseMode,\n };\n }\n }\n } catch (e: any) {\n error([\n { text: 'Error in switchBack:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { switchBack, backMenuFunc };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6B;AAE7B,uBAAgC;AAChC,MAAM,WAAqB,CAAC;AAE5B,SAAS,aAAa,KAAa,MAAe,YAA0B;AACxE,MAAI,CAAC,QAAQ,CAAC,KAAK,UAAU,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,SAAS,OAAO,GAAG;AAChE,QAAI,SAAS,UAAU,KAAK,SAAS,UAAU,EAAE,KAAK,WAAW,IAAI;AACjE,eAAS,UAAU,EAAE,KAAK,MAAM;AAAA,IACpC,WAAW,CAAC,SAAS,UAAU,GAAG;AAC9B,eAAS,UAAU,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG;AAAA,IAChD;AACA,QAAI,SAAS,UAAU,EAAE,SAAS,IAAI;AAClC,eAAS,UAAU,EAAE,KAAK,KAAK,SAAS,UAAU,EAAE,IAAI;AAAA,IAC5D;AACA,aAAS,UAAU,EAAE,OAAO;AAAA,EAChC;AACA,4BAAM,CAAC,EAAE,MAAM,cAAc,KAAK,SAAS,CAAC,CAAC;AACjD;AAEA,eAAe,WACX,YACA,kBACA,OACA,WAAW,OAC4F;AAzB3G;AA0BI,MAAI;AACA,UAAM,OAAO,SAAS,UAAU,OAAK,cAAS,UAAU,MAAnB,mBAAsB,QAAO,SAAS,UAAU,EAAE,OAAO,CAAC;AAC/F,QAAI,WAAqB,EAAE,iBAAiB,CAAC,EAAE;AAC/C,QAAI,cAAc;AAClB,QAAI,KAAK,UAAU,GAAG;AAClB,iBAAW,QAAQ,OAAO;AACtB,YAAI,cAAY,4BAAiB,IAAI,MAArB,mBAAyB,SAAS,UAAU,EAAE,UAA9C,mBAAqD,MAAK;AACtE,qBAAW,iBAAiB,IAAI,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;AAC7D,wBAAc;AACd;AAAA,QACJ,aAAW,sBAAiB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,MAA5C,mBAA+C,QAAO,CAAC,UAAU;AACxE,qBAAW,iBAAiB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE;AACzD,oCAAM,CAAC,EAAE,MAAM,kBAAkB,CAAC,CAAC;AACnC,wBAAc;AACd;AAAA,QACJ;AACA,kCAAM,CAAC,EAAE,MAAM,mCAAmC,CAAC,CAAC;AAAA,MACxD;AACA,UAAI,YAAY,eAAe,IAAI;AAC/B,YAAI,YAA2B;AAC/B,YAAI,CAAC,UAAU;AACX,cAAI,aACA,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC,CAAC,EACxF;AACT,cAAI,YAAY;AACZ,yBAAa,UAAM,kCAAgB,UAAU;AAAA,UACjD;AACA,sBACI,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC,CAAC,EACxF,cAAc;AACvB,mBAAS,UAAU,EAAE,OAAO,KAAK,IAAI;AAErC,iBAAO,EAAE,YAAY,YAAY,YAAY,UAAU,UAAqB;AAAA,QAChF;AACA,oBAAY,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE,cAAc;AACnF,eAAO;AAAA,UACH,YAAY,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;AAAA,UACrE,YAAY;AAAA,UACZ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,wBAAwB,KAAK,EAAE,QAAQ;AAAA,MAC/C,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
6
6
  "names": []
7
7
  }
@@ -23,39 +23,39 @@ __export(dynamicSwitch_exports, {
23
23
  module.exports = __toCommonJS(dynamicSwitch_exports);
24
24
  var import_logging = require("./logging");
25
25
  var import_utilities = require("./utilities");
26
- async function dynamicSwitch(calledValue, device2Switch, text) {
26
+ async function dynamicSwitch(calledValue, device, text) {
27
27
  try {
28
28
  const changedCalledValue = await (0, import_utilities.checkStatusInfo)(calledValue);
29
29
  const splittedArray = changedCalledValue == null ? void 0 : changedCalledValue.replace(/"/g, "").split(":");
30
30
  if (!splittedArray) {
31
31
  return;
32
32
  }
33
- device2Switch = splittedArray[2];
33
+ device = splittedArray[2];
34
34
  const arrayOfValues = splittedArray[1].replace("dynSwitch", "").replace(/\]/g, "").replace(/\[/g, "").split(",");
35
35
  const lengthOfRow = parseInt(splittedArray[3]) || 6;
36
36
  const array = [];
37
37
  const keyboard = { inline_keyboard: array };
38
38
  if (arrayOfValues) {
39
- let arrayOfEntriesDynamicSwitch = [];
39
+ let keyboardItemsArray = [];
40
40
  arrayOfValues.forEach((value, index) => {
41
41
  if (value.includes("|")) {
42
42
  const splittedValue = value.split("|");
43
- arrayOfEntriesDynamicSwitch.push({
43
+ keyboardItemsArray.push({
44
44
  text: splittedValue[0],
45
- callback_data: `menu:dynS:${device2Switch}:${splittedValue[1]}`
45
+ callback_data: `menu:dynS:${device}:${splittedValue[1]}`
46
46
  });
47
47
  } else {
48
- arrayOfEntriesDynamicSwitch.push({
48
+ keyboardItemsArray.push({
49
49
  text: value,
50
- callback_data: `menu:dynS:${device2Switch}:${value}`
50
+ callback_data: `menu:dynS:${device}:${value}`
51
51
  });
52
52
  }
53
53
  if ((index + 1) % lengthOfRow == 0 && index != 0 && arrayOfValues.length > 0 || index + 1 == arrayOfValues.length) {
54
- keyboard.inline_keyboard.push(arrayOfEntriesDynamicSwitch);
55
- arrayOfEntriesDynamicSwitch = [];
54
+ keyboard.inline_keyboard.push(keyboardItemsArray);
55
+ keyboardItemsArray = [];
56
56
  }
57
57
  });
58
- return { text, keyboard: JSON.stringify(keyboard), device: device2Switch };
58
+ return { text, keyboard, device };
59
59
  }
60
60
  } catch (e) {
61
61
  (0, import_logging.error)([
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/dynamicSwitch.ts"],
4
- "sourcesContent": ["import { error } from './logging';\nimport type { ArrayOfEntriesDynamicSwitch, Keyboard } from './telegram-menu';\nimport { checkStatusInfo } from './utilities';\nasync function dynamicSwitch(\n calledValue: string,\n device2Switch: string,\n text: string,\n): Promise<{ text?: string; keyboard: string; device: string } | undefined> {\n try {\n const changedCalledValue = await checkStatusInfo(calledValue);\n const splittedArray: string[] | undefined = changedCalledValue?.replace(/\"/g, '').split(':');\n if (!splittedArray) {\n return;\n }\n device2Switch = splittedArray[2];\n const arrayOfValues = splittedArray[1]\n .replace('dynSwitch', '')\n .replace(/\\]/g, '')\n .replace(/\\[/g, '')\n .split(',');\n\n const lengthOfRow = parseInt(splittedArray[3]) || 6;\n\n const array: ArrayOfEntriesDynamicSwitch[][] = [];\n const keyboard: Keyboard = { inline_keyboard: array };\n if (arrayOfValues) {\n let arrayOfEntriesDynamicSwitch: ArrayOfEntriesDynamicSwitch[] = [];\n arrayOfValues.forEach((value, index: number) => {\n if (value.includes('|')) {\n const splittedValue = value.split('|');\n arrayOfEntriesDynamicSwitch.push({\n text: splittedValue[0],\n callback_data: `menu:dynS:${device2Switch}:${splittedValue[1]}`,\n });\n } else {\n arrayOfEntriesDynamicSwitch.push({\n text: value,\n callback_data: `menu:dynS:${device2Switch}:${value}`,\n });\n }\n if (\n ((index + 1) % lengthOfRow == 0 && index != 0 && arrayOfValues.length > 0) ||\n index + 1 == arrayOfValues.length\n ) {\n keyboard.inline_keyboard.push(arrayOfEntriesDynamicSwitch);\n arrayOfEntriesDynamicSwitch = [];\n }\n });\n return { text, keyboard: JSON.stringify(keyboard), device: device2Switch };\n }\n } catch (e: any) {\n error([\n { text: 'Error parsing dynSwitch:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\nexport { dynamicSwitch };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAsB;AAEtB,uBAAgC;AAChC,eAAe,cACX,aACA,eACA,MACwE;AACxE,MAAI;AACA,UAAM,qBAAqB,UAAM,kCAAgB,WAAW;AAC5D,UAAM,gBAAsC,yDAAoB,QAAQ,MAAM,IAAI,MAAM;AACxF,QAAI,CAAC,eAAe;AAChB;AAAA,IACJ;AACA,oBAAgB,cAAc,CAAC;AAC/B,UAAM,gBAAgB,cAAc,CAAC,EAChC,QAAQ,aAAa,EAAE,EACvB,QAAQ,OAAO,EAAE,EACjB,QAAQ,OAAO,EAAE,EACjB,MAAM,GAAG;AAEd,UAAM,cAAc,SAAS,cAAc,CAAC,CAAC,KAAK;AAElD,UAAM,QAAyC,CAAC;AAChD,UAAM,WAAqB,EAAE,iBAAiB,MAAM;AACpD,QAAI,eAAe;AACf,UAAI,8BAA6D,CAAC;AAClE,oBAAc,QAAQ,CAAC,OAAO,UAAkB;AAC5C,YAAI,MAAM,SAAS,GAAG,GAAG;AACrB,gBAAM,gBAAgB,MAAM,MAAM,GAAG;AACrC,sCAA4B,KAAK;AAAA,YAC7B,MAAM,cAAc,CAAC;AAAA,YACrB,eAAe,aAAa,aAAa,IAAI,cAAc,CAAC,CAAC;AAAA,UACjE,CAAC;AAAA,QACL,OAAO;AACH,sCAA4B,KAAK;AAAA,YAC7B,MAAM;AAAA,YACN,eAAe,aAAa,aAAa,IAAI,KAAK;AAAA,UACtD,CAAC;AAAA,QACL;AACA,aACM,QAAQ,KAAK,eAAe,KAAK,SAAS,KAAK,cAAc,SAAS,KACxE,QAAQ,KAAK,cAAc,QAC7B;AACE,mBAAS,gBAAgB,KAAK,2BAA2B;AACzD,wCAA8B,CAAC;AAAA,QACnC;AAAA,MACJ,CAAC;AACD,aAAO,EAAE,MAAM,UAAU,KAAK,UAAU,QAAQ,GAAG,QAAQ,cAAc;AAAA,IAC7E;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,4BAA4B,KAAK,EAAE,QAAQ;AAAA,MACnD,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
4
+ "sourcesContent": ["import { error } from './logging';\nimport type { KeyboardItems, Keyboard } from './telegram-menu';\nimport { checkStatusInfo } from './utilities';\nasync function dynamicSwitch(\n calledValue: string,\n device: string,\n text: string,\n): Promise<{ text?: string; keyboard: Keyboard; device: string } | undefined> {\n try {\n const changedCalledValue = await checkStatusInfo(calledValue);\n const splittedArray: string[] | undefined = changedCalledValue?.replace(/\"/g, '').split(':');\n\n if (!splittedArray) {\n return;\n }\n device = splittedArray[2];\n const arrayOfValues = splittedArray[1]\n .replace('dynSwitch', '')\n .replace(/\\]/g, '')\n .replace(/\\[/g, '')\n .split(',');\n\n const lengthOfRow = parseInt(splittedArray[3]) || 6;\n\n const array: KeyboardItems[][] = [];\n const keyboard: Keyboard = { inline_keyboard: array };\n if (arrayOfValues) {\n let keyboardItemsArray: KeyboardItems[] = [];\n arrayOfValues.forEach((value, index: number) => {\n if (value.includes('|')) {\n const splittedValue = value.split('|');\n keyboardItemsArray.push({\n text: splittedValue[0],\n callback_data: `menu:dynS:${device}:${splittedValue[1]}`,\n });\n } else {\n keyboardItemsArray.push({\n text: value,\n callback_data: `menu:dynS:${device}:${value}`,\n });\n }\n if (\n ((index + 1) % lengthOfRow == 0 && index != 0 && arrayOfValues.length > 0) ||\n index + 1 == arrayOfValues.length\n ) {\n keyboard.inline_keyboard.push(keyboardItemsArray);\n keyboardItemsArray = [];\n }\n });\n return { text, keyboard, device };\n }\n } catch (e: any) {\n error([\n { text: 'Error parsing dynSwitch:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\nexport { dynamicSwitch };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAsB;AAEtB,uBAAgC;AAChC,eAAe,cACX,aACA,QACA,MAC0E;AAC1E,MAAI;AACA,UAAM,qBAAqB,UAAM,kCAAgB,WAAW;AAC5D,UAAM,gBAAsC,yDAAoB,QAAQ,MAAM,IAAI,MAAM;AAExF,QAAI,CAAC,eAAe;AAChB;AAAA,IACJ;AACA,aAAS,cAAc,CAAC;AACxB,UAAM,gBAAgB,cAAc,CAAC,EAChC,QAAQ,aAAa,EAAE,EACvB,QAAQ,OAAO,EAAE,EACjB,QAAQ,OAAO,EAAE,EACjB,MAAM,GAAG;AAEd,UAAM,cAAc,SAAS,cAAc,CAAC,CAAC,KAAK;AAElD,UAAM,QAA2B,CAAC;AAClC,UAAM,WAAqB,EAAE,iBAAiB,MAAM;AACpD,QAAI,eAAe;AACf,UAAI,qBAAsC,CAAC;AAC3C,oBAAc,QAAQ,CAAC,OAAO,UAAkB;AAC5C,YAAI,MAAM,SAAS,GAAG,GAAG;AACrB,gBAAM,gBAAgB,MAAM,MAAM,GAAG;AACrC,6BAAmB,KAAK;AAAA,YACpB,MAAM,cAAc,CAAC;AAAA,YACrB,eAAe,aAAa,MAAM,IAAI,cAAc,CAAC,CAAC;AAAA,UAC1D,CAAC;AAAA,QACL,OAAO;AACH,6BAAmB,KAAK;AAAA,YACpB,MAAM;AAAA,YACN,eAAe,aAAa,MAAM,IAAI,KAAK;AAAA,UAC/C,CAAC;AAAA,QACL;AACA,aACM,QAAQ,KAAK,eAAe,KAAK,SAAS,KAAK,cAAc,SAAS,KACxE,QAAQ,KAAK,cAAc,QAC7B;AACE,mBAAS,gBAAgB,KAAK,kBAAkB;AAChD,+BAAqB,CAAC;AAAA,QAC1B;AAAA,MACJ,CAAC;AACD,aAAO,EAAE,MAAM,UAAU,OAAO;AAAA,IACpC;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,4BAA4B,KAAK,EAAE,QAAQ;AAAA,MACnD,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
6
6
  "names": []
7
7
  }
@@ -32,16 +32,16 @@ const setDynamicValue = async (returnText, ack, id, userToSend, telegramInstance
32
32
  array = isBraceDeleteEntry(array);
33
33
  const text = array[1];
34
34
  if (text) {
35
- await (0, import_telegram.sendToTelegram)(
36
- userToSend,
37
- text,
38
- void 0,
39
- telegramInstance,
35
+ await (0, import_telegram.sendToTelegram)({
36
+ user: userToSend,
37
+ textToSend: text,
38
+ keyboard: void 0,
39
+ instance: telegramInstance,
40
40
  resize_keyboard,
41
41
  one_time_keyboard,
42
42
  userListWithChatID,
43
43
  parse_mode
44
- );
44
+ });
45
45
  }
46
46
  setDynamicValueObj[userToSend] = {
47
47
  id,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/dynamicValue.ts"],
4
- "sourcesContent": ["import { decomposeText } from './utilities';\nimport { sendToTelegram } from './telegram';\nimport type { SetDynamicValueObj, UserListWithChatId, BooleanString, SetDynamicValue } from './telegram-menu';\nconst setDynamicValueObj: SetDynamicValueObj = {};\nconst setDynamicValue = async (\n returnText: string,\n ack: boolean,\n id: string,\n userToSend: string,\n telegramInstance: string,\n one_time_keyboard: boolean,\n resize_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n parse_mode: BooleanString,\n confirm: string,\n): Promise<{ confirmText: string; id: string | undefined }> => {\n const { substring } = decomposeText(returnText, '{setDynamicValue:', '}');\n let array = substring.split(':');\n array = isBraceDeleteEntry(array);\n const text = array[1];\n if (text) {\n await sendToTelegram(\n userToSend,\n text,\n undefined,\n telegramInstance,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n parse_mode,\n );\n }\n setDynamicValueObj[userToSend] = {\n id: id,\n ack: ack,\n returnText: text,\n userToSend: userToSend,\n parse_mode: parse_mode,\n confirm: confirm,\n telegramInstance: telegramInstance,\n one_time_keyboard: one_time_keyboard,\n resize_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n valueType: array[2],\n };\n\n if (array[3] && array[3] != '') {\n return { confirmText: array[3], id: array[4] };\n }\n return { confirmText: '', id: undefined };\n};\n\nconst getDynamicValue = (userToSend: string): SetDynamicValue | null => {\n if (setDynamicValueObj[userToSend]) {\n return setDynamicValueObj[userToSend];\n }\n return null;\n};\nconst removeUserFromDynamicValue = (userToSend: string): boolean => {\n if (setDynamicValueObj[userToSend]) {\n delete setDynamicValueObj[userToSend];\n return true;\n }\n return false;\n};\nexport { setDynamicValue, getDynamicValue, removeUserFromDynamicValue };\n\nfunction isBraceDeleteEntry(array: string[]): string[] {\n if (array[4] === '}') {\n return array.slice(0, 4);\n }\n return array;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA8B;AAC9B,sBAA+B;AAE/B,MAAM,qBAAyC,CAAC;AAChD,MAAM,kBAAkB,OACpB,YACA,KACA,IACA,YACA,kBACA,mBACA,iBACA,oBACA,YACA,YAC2D;AAC3D,QAAM,EAAE,UAAU,QAAI,gCAAc,YAAY,qBAAqB,GAAG;AACxE,MAAI,QAAQ,UAAU,MAAM,GAAG;AAC/B,UAAQ,mBAAmB,KAAK;AAChC,QAAM,OAAO,MAAM,CAAC;AACpB,MAAI,MAAM;AACN,cAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACA,qBAAmB,UAAU,IAAI;AAAA,IAC7B;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,CAAC;AAAA,EACtB;AAEA,MAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI;AAC5B,WAAO,EAAE,aAAa,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;AAAA,EACjD;AACA,SAAO,EAAE,aAAa,IAAI,IAAI,OAAU;AAC5C;AAEA,MAAM,kBAAkB,CAAC,eAA+C;AACpE,MAAI,mBAAmB,UAAU,GAAG;AAChC,WAAO,mBAAmB,UAAU;AAAA,EACxC;AACA,SAAO;AACX;AACA,MAAM,6BAA6B,CAAC,eAAgC;AAChE,MAAI,mBAAmB,UAAU,GAAG;AAChC,WAAO,mBAAmB,UAAU;AACpC,WAAO;AAAA,EACX;AACA,SAAO;AACX;AAGA,SAAS,mBAAmB,OAA2B;AACnD,MAAI,MAAM,CAAC,MAAM,KAAK;AAClB,WAAO,MAAM,MAAM,GAAG,CAAC;AAAA,EAC3B;AACA,SAAO;AACX;",
4
+ "sourcesContent": ["import { decomposeText } from './utilities';\nimport { sendToTelegram } from './telegram';\nimport type { SetDynamicValueObj, UserListWithChatId, BooleanString, SetDynamicValue } from './telegram-menu';\nconst setDynamicValueObj: SetDynamicValueObj = {};\nconst setDynamicValue = async (\n returnText: string,\n ack: boolean,\n id: string,\n userToSend: string,\n telegramInstance: string,\n one_time_keyboard: boolean,\n resize_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n parse_mode: BooleanString,\n confirm: string,\n): Promise<{ confirmText: string; id: string | undefined }> => {\n const { substring } = decomposeText(returnText, '{setDynamicValue:', '}');\n let array = substring.split(':');\n array = isBraceDeleteEntry(array);\n const text = array[1];\n if (text) {\n await sendToTelegram({\n user: userToSend,\n textToSend: text,\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: parse_mode,\n });\n }\n setDynamicValueObj[userToSend] = {\n id: id,\n ack: ack,\n returnText: text,\n userToSend: userToSend,\n parse_mode: parse_mode,\n confirm: confirm,\n telegramInstance: telegramInstance,\n one_time_keyboard: one_time_keyboard,\n resize_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n valueType: array[2],\n };\n\n if (array[3] && array[3] != '') {\n return { confirmText: array[3], id: array[4] };\n }\n return { confirmText: '', id: undefined };\n};\n\nconst getDynamicValue = (userToSend: string): SetDynamicValue | null => {\n if (setDynamicValueObj[userToSend]) {\n return setDynamicValueObj[userToSend];\n }\n return null;\n};\nconst removeUserFromDynamicValue = (userToSend: string): boolean => {\n if (setDynamicValueObj[userToSend]) {\n delete setDynamicValueObj[userToSend];\n return true;\n }\n return false;\n};\nexport { setDynamicValue, getDynamicValue, removeUserFromDynamicValue };\n\nfunction isBraceDeleteEntry(array: string[]): string[] {\n if (array[4] === '}') {\n return array.slice(0, 4);\n }\n return array;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA8B;AAC9B,sBAA+B;AAE/B,MAAM,qBAAyC,CAAC;AAChD,MAAM,kBAAkB,OACpB,YACA,KACA,IACA,YACA,kBACA,mBACA,iBACA,oBACA,YACA,YAC2D;AAC3D,QAAM,EAAE,UAAU,QAAI,gCAAc,YAAY,qBAAqB,GAAG;AACxE,MAAI,QAAQ,UAAU,MAAM,GAAG;AAC/B,UAAQ,mBAAmB,KAAK;AAChC,QAAM,OAAO,MAAM,CAAC;AACpB,MAAI,MAAM;AACN,cAAM,gCAAe;AAAA,MACjB,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,EACL;AACA,qBAAmB,UAAU,IAAI;AAAA,IAC7B;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,CAAC;AAAA,EACtB;AAEA,MAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI;AAC5B,WAAO,EAAE,aAAa,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;AAAA,EACjD;AACA,SAAO,EAAE,aAAa,IAAI,IAAI,OAAU;AAC5C;AAEA,MAAM,kBAAkB,CAAC,eAA+C;AACpE,MAAI,mBAAmB,UAAU,GAAG;AAChC,WAAO,mBAAmB,UAAU;AAAA,EACxC;AACA,SAAO;AACX;AACA,MAAM,6BAA6B,CAAC,eAAgC;AAChE,MAAI,mBAAmB,UAAU,GAAG;AAChC,WAAO,mBAAmB,UAAU;AACpC,WAAO;AAAA,EACX;AACA,SAAO;AACX;AAGA,SAAS,mBAAmB,OAA2B;AACnD,MAAI,MAAM,CAAC,MAAM,KAAK;AAClB,WAAO,MAAM,MAAM,GAAG,CAAC;AAAA,EAC3B;AACA,SAAO;AACX;",
6
6
  "names": []
7
7
  }
@@ -58,16 +58,15 @@ function getChart(echarts, directoryPicture, user, instanceTelegram, userListWit
58
58
  fileOnDisk: directoryPicture + echart.filename
59
59
  },
60
60
  (result) => {
61
- (0, import_telegram.sendToTelegram)(
61
+ (0, import_telegram.sendToTelegram)({
62
62
  user,
63
- result.error || directoryPicture + echart.filename,
64
- [],
65
- instanceTelegram,
63
+ textToSend: result.error || directoryPicture + echart.filename,
64
+ instance: instanceTelegram,
66
65
  resize_keyboard,
67
66
  one_time_keyboard,
68
67
  userListWithChatID,
69
- "false"
70
- ).catch((e) => {
68
+ parse_mode: "false"
69
+ }).catch((e) => {
71
70
  (0, import_logging.error)([
72
71
  { text: "Error", val: e.message },
73
72
  { text: "Stack", val: e.stack }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/echarts.ts"],
4
- "sourcesContent": ["import TelegramMenu from '../main';\nimport { error } from './logging';\nimport { sendToTelegram } from './telegram';\nimport type { Echart, UserListWithChatId } from './telegram-menu';\nimport { checkDirectoryIsOk } from './global';\n\nfunction getChart(\n echarts: Echart[],\n directoryPicture: string,\n user: string,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): void {\n const _this = TelegramMenu.getInstance();\n try {\n if (!echarts) {\n return;\n }\n for (const echart of echarts) {\n const splitPreset = echart.preset.split('.');\n const instanceOfEchart = `${splitPreset[0]}.${splitPreset[1]}`;\n\n if (!checkDirectoryIsOk(directoryPicture)) {\n return;\n }\n _this.sendTo(\n instanceOfEchart,\n {\n preset: echart.preset,\n renderer: 'jpg',\n background: echart.background,\n theme: echart.theme,\n quality: 1.0,\n fileOnDisk: directoryPicture + echart.filename,\n },\n (result: any) => {\n sendToTelegram(\n user,\n result.error || directoryPicture + echart.filename,\n [],\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n 'false',\n ).catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n },\n );\n }\n } catch (e: any) {\n error([\n { text: 'Error:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { getChart };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAyB;AACzB,qBAAsB;AACtB,sBAA+B;AAE/B,oBAAmC;AAEnC,SAAS,SACL,SACA,kBACA,MACA,kBACA,oBACA,iBACA,mBACI;AACJ,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,QAAI,CAAC,SAAS;AACV;AAAA,IACJ;AACA,eAAW,UAAU,SAAS;AAC1B,YAAM,cAAc,OAAO,OAAO,MAAM,GAAG;AAC3C,YAAM,mBAAmB,GAAG,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC;AAE5D,UAAI,KAAC,kCAAmB,gBAAgB,GAAG;AACvC;AAAA,MACJ;AACA,YAAM;AAAA,QACF;AAAA,QACA;AAAA,UACI,QAAQ,OAAO;AAAA,UACf,UAAU;AAAA,UACV,YAAY,OAAO;AAAA,UACnB,OAAO,OAAO;AAAA,UACd,SAAS;AAAA,UACT,YAAY,mBAAmB,OAAO;AAAA,QAC1C;AAAA,QACA,CAAC,WAAgB;AACb;AAAA,YACI;AAAA,YACA,OAAO,SAAS,mBAAmB,OAAO;AAAA,YAC1C,CAAC;AAAA,YACD;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACJ,EAAE,MAAM,CAAC,MAAW;AAChB,sCAAM;AAAA,cACF,EAAE,MAAM,SAAS,KAAK,EAAE,QAAQ;AAAA,cAChC,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM;AAAA,YAClC,CAAC;AAAA,UACL,CAAC;AAAA,QACL;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,UAAU,KAAK,EAAE,QAAQ;AAAA,MACjC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
4
+ "sourcesContent": ["import TelegramMenu from '../main';\nimport { error } from './logging';\nimport { sendToTelegram } from './telegram';\nimport type { Echart, UserListWithChatId } from './telegram-menu';\nimport { checkDirectoryIsOk } from './global';\n\nfunction getChart(\n echarts: Echart[],\n directoryPicture: string,\n user: string,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): void {\n const _this = TelegramMenu.getInstance();\n try {\n if (!echarts) {\n return;\n }\n for (const echart of echarts) {\n const splitPreset = echart.preset.split('.');\n const instanceOfEchart = `${splitPreset[0]}.${splitPreset[1]}`;\n\n if (!checkDirectoryIsOk(directoryPicture)) {\n return;\n }\n _this.sendTo(\n instanceOfEchart,\n {\n preset: echart.preset,\n renderer: 'jpg',\n background: echart.background,\n theme: echart.theme,\n quality: 1.0,\n fileOnDisk: directoryPicture + echart.filename,\n },\n (result: any) => {\n sendToTelegram({\n user: user,\n textToSend: result.error || directoryPicture + echart.filename,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n }).catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n },\n );\n }\n } catch (e: any) {\n error([\n { text: 'Error:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { getChart };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAyB;AACzB,qBAAsB;AACtB,sBAA+B;AAE/B,oBAAmC;AAEnC,SAAS,SACL,SACA,kBACA,MACA,kBACA,oBACA,iBACA,mBACI;AACJ,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,QAAI,CAAC,SAAS;AACV;AAAA,IACJ;AACA,eAAW,UAAU,SAAS;AAC1B,YAAM,cAAc,OAAO,OAAO,MAAM,GAAG;AAC3C,YAAM,mBAAmB,GAAG,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC;AAE5D,UAAI,KAAC,kCAAmB,gBAAgB,GAAG;AACvC;AAAA,MACJ;AACA,YAAM;AAAA,QACF;AAAA,QACA;AAAA,UACI,QAAQ,OAAO;AAAA,UACf,UAAU;AAAA,UACV,YAAY,OAAO;AAAA,UACnB,OAAO,OAAO;AAAA,UACd,SAAS;AAAA,UACT,YAAY,mBAAmB,OAAO;AAAA,QAC1C;AAAA,QACA,CAAC,WAAgB;AACb,8CAAe;AAAA,YACX;AAAA,YACA,YAAY,OAAO,SAAS,mBAAmB,OAAO;AAAA,YACtD,UAAU;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY;AAAA,UAChB,CAAC,EAAE,MAAM,CAAC,MAAW;AACjB,sCAAM;AAAA,cACF,EAAE,MAAM,SAAS,KAAK,EAAE,QAAQ;AAAA,cAChC,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM;AAAA,YAClC,CAAC;AAAA,UACL,CAAC;AAAA,QACL;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,UAAU,KAAK,EAAE,QAAQ;AAAA,MACjC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
6
6
  "names": ["TelegramMenu"]
7
7
  }