iobroker.telegram-menu 3.0.4 → 3.0.5

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 (44) hide show
  1. package/README.md +4 -0
  2. package/build/app/action.js +5 -3
  3. package/build/app/action.js.map +2 -2
  4. package/build/app/adapterStartMenuSend.js +13 -3
  5. package/build/app/adapterStartMenuSend.js.map +2 -2
  6. package/build/app/configVariables.js +0 -2
  7. package/build/app/configVariables.js.map +2 -2
  8. package/build/app/dynamicValue.js +2 -1
  9. package/build/app/dynamicValue.js.map +2 -2
  10. package/build/app/echarts.js +2 -2
  11. package/build/app/echarts.js.map +2 -2
  12. package/build/app/getstate.js +19 -8
  13. package/build/app/getstate.js.map +3 -3
  14. package/build/app/httpRequest.js +2 -1
  15. package/build/app/httpRequest.js.map +2 -2
  16. package/build/app/idBySelector.js +2 -0
  17. package/build/app/idBySelector.js.map +2 -2
  18. package/build/app/instance.js +32 -0
  19. package/build/app/instance.js.map +7 -0
  20. package/build/app/jsonTable.js +1 -1
  21. package/build/app/jsonTable.js.map +2 -2
  22. package/build/app/messageIds.js +5 -8
  23. package/build/app/messageIds.js.map +2 -2
  24. package/build/app/parseMode.js +32 -0
  25. package/build/app/parseMode.js.map +7 -0
  26. package/build/app/processData.js +25 -9
  27. package/build/app/processData.js.map +2 -2
  28. package/build/app/sendNav.js +2 -1
  29. package/build/app/sendNav.js.map +2 -2
  30. package/build/app/sendpic.js +2 -1
  31. package/build/app/sendpic.js.map +2 -2
  32. package/build/app/setstate.js +3 -1
  33. package/build/app/setstate.js.map +2 -2
  34. package/build/app/shoppingList.js +5 -4
  35. package/build/app/shoppingList.js.map +2 -2
  36. package/build/app/subMenu.js +22 -11
  37. package/build/app/subMenu.js.map +2 -2
  38. package/build/app/telegram.js +14 -15
  39. package/build/app/telegram.js.map +2 -2
  40. package/build/main.js +30 -29
  41. package/build/main.js.map +2 -2
  42. package/build/types/types.js.map +1 -1
  43. package/io-package.json +14 -14
  44. package/package.json +1 -1
package/README.md CHANGED
@@ -35,6 +35,10 @@ You can create different groups with separate menus, and then assign users to th
35
35
  Placeholder for the next version (at the beginning of the line):
36
36
  ### **WORK IN PROGRESS**
37
37
  -->
38
+ ### 3.0.5 (2025-08-24)
39
+
40
+ - FIX: #377 Commands are not executed
41
+
38
42
  ### 3.0.4 (2025-08-22)
39
43
 
40
44
  - FIX: Submenu percent
@@ -36,7 +36,7 @@ var import_utils = require("../lib/utils");
36
36
  var import_math = require("../lib/math");
37
37
  var import_config = require("../config/config");
38
38
  var import_splitValues = require("../lib/splitValues");
39
- const bindingFunc = async (text, userToSend, telegramParams, parse_mode) => {
39
+ const bindingFunc = async (instance, text, userToSend, telegramParams, parse_mode) => {
40
40
  var _a, _b;
41
41
  let textToSend;
42
42
  try {
@@ -63,6 +63,7 @@ const bindingFunc = async (text, userToSend, telegramParams, parse_mode) => {
63
63
  }
64
64
  }
65
65
  await (0, import_telegram.sendToTelegram)({
66
+ instance,
66
67
  userToSend,
67
68
  textToSend,
68
69
  telegramParams,
@@ -147,7 +148,7 @@ const adjustValueType = (value, valueType) => {
147
148
  }
148
149
  return value;
149
150
  };
150
- const checkEvent = async (dataObject, id, state, menuData, telegramParams, usersInGroup) => {
151
+ const checkEvent = async (instance, dataObject, id, state, menuData, telegramParams, usersInGroup) => {
151
152
  var _a;
152
153
  const menuArray = [];
153
154
  let ok = false;
@@ -183,6 +184,7 @@ const checkEvent = async (dataObject, id, state, menuData, telegramParams, users
183
184
  }
184
185
  if ((_a = part == null ? void 0 : part.nav) == null ? void 0 : _a[0][0].includes("menu:")) {
185
186
  await (0, import_subMenu.callSubMenu)({
187
+ instance,
186
188
  jsonStringNav: part.nav[0][0],
187
189
  userToSend: user.name,
188
190
  telegramParams,
@@ -192,7 +194,7 @@ const checkEvent = async (dataObject, id, state, menuData, telegramParams, users
192
194
  });
193
195
  return true;
194
196
  }
195
- await (0, import_sendNav.sendNav)(part, user.name, telegramParams);
197
+ await (0, import_sendNav.sendNav)(instance, part, user.name, telegramParams);
196
198
  }
197
199
  }
198
200
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app/action.ts"],
4
- "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { callSubMenu } from './subMenu';\nimport { sendNav } from './sendNav';\nimport { backMenuFunc } from './backMenu';\nimport { errorLogger } from './logging';\n\nimport { adapter } from '../main';\n\nimport type {\n Actions,\n BindingObject,\n DataObject,\n GenerateActionsNewObject,\n MenuData,\n NewObjectStructure,\n Part,\n Switch,\n TelegramParams,\n UserObjectActions,\n} from '../types/types';\nimport { decomposeText } from '../lib/string';\nimport { isFalsy, isTruthy } from '../lib/utils';\nimport { evaluate } from '../lib/math';\nimport { arrayOfEntries, config } from '../config/config';\nimport { getBindingValues } from '../lib/splitValues';\nimport type { TriggerableActions, UserListWithChatID, UsersInGroup } from '@/types/app';\n\nexport const bindingFunc = async (\n text: string,\n userToSend: string,\n telegramParams: TelegramParams,\n parse_mode?: boolean,\n): Promise<void> => {\n let textToSend;\n\n try {\n const { substringExcludeSearch } = decomposeText(text, config.binding.start, config.binding.end);\n const arrayOfItems = substringExcludeSearch.split(config.binding.splitChar);\n const bindingObject: BindingObject = {\n values: {},\n };\n\n for (let item of arrayOfItems) {\n if (!item.includes('?')) {\n const { key, id } = getBindingValues(item);\n if (id) {\n const result = await adapter.getForeignStateAsync(id);\n\n if (result) {\n bindingObject.values[key] = result.val?.toString() ?? '';\n }\n }\n } else {\n Object.keys(bindingObject.values).forEach(function (key) {\n item = item.replace(key, bindingObject.values[key]);\n });\n\n const { val } = evaluate(item, adapter);\n textToSend = String(val);\n }\n }\n await sendToTelegram({\n userToSend,\n textToSend,\n telegramParams,\n parse_mode,\n });\n } catch (e: any) {\n errorLogger('Error Binding function: ', e, adapter);\n }\n};\n\nexport function generateActions({\n action,\n userObject,\n}: {\n action?: Actions;\n userObject: NewObjectStructure;\n}): { obj: NewObjectStructure; ids: string[] } | undefined {\n try {\n const listOfSetStateIds: string[] = [];\n action?.set.forEach(function (\n { trigger, switch_checkbox, returnText, parse_mode, values, confirm, ack, IDs },\n index,\n ) {\n const triggerName = trigger[0];\n if (index == 0) {\n userObject[triggerName] = { switch: [] };\n }\n userObject[triggerName] = { switch: [] };\n\n IDs.forEach(function (id: string, index: number) {\n listOfSetStateIds.push(id);\n const toggle = isTruthy(switch_checkbox[index]);\n\n const newObj: Switch = {\n id: IDs[index],\n value: values[index],\n toggle: toggle,\n confirm: confirm[index],\n returnText: returnText[index],\n ack: ack?.length ? isTruthy(ack[index]) : false,\n parse_mode: parse_mode?.length ? isTruthy(parse_mode?.[0]) : false,\n };\n if (Array.isArray(userObject?.[triggerName]?.switch)) {\n userObject[triggerName].switch.push(newObj);\n }\n });\n });\n\n arrayOfEntries.forEach(item => {\n const actions = action?.[item.objName as keyof Actions];\n\n actions?.forEach(function (element, index) {\n const trigger = (element as TriggerableActions)?.trigger[0];\n userObject[trigger] = { [item.name]: [] };\n if (index == 0) {\n userObject[trigger] = { [item.name as keyof UserObjectActions]: [] };\n }\n\n (element[item.loop as keyof typeof element] as []).forEach(function (id, index) {\n const newObj = {} as GenerateActionsNewObject;\n item.elements.forEach(({ name, value, index: elIndex }) => {\n const elName = (value ? value : name) as keyof typeof element;\n const newIndex = elIndex ? elIndex : index;\n\n const val = !element[elName] ? false : (element[elName][newIndex] ?? 'false');\n\n if (name === 'parse_mode') {\n newObj.parse_mode = isTruthy(val);\n }\n\n if (typeof val === 'string') {\n newObj[name as keyof GenerateActionsNewObject] = String(val).replace(/&amp;/g, '&') as any;\n }\n });\n\n (userObject?.[trigger]?.[item.name as keyof Part] as GenerateActionsNewObject[]).push(newObj);\n });\n });\n });\n\n return { obj: userObject, ids: listOfSetStateIds };\n } catch (err: any) {\n errorLogger('Error generateActions:', err, adapter);\n }\n}\n\nexport const adjustValueType = (value: keyof NewObjectStructure, valueType: string): boolean | string | number => {\n if (valueType == 'number') {\n if (!parseFloat(value)) {\n adapter.log.error(`Error: Value is not a number: ${value}`);\n return false;\n }\n return parseFloat(value);\n }\n if (valueType == 'boolean') {\n return isTruthy(value);\n }\n return value;\n};\n\nexport const checkEvent = async (\n dataObject: DataObject,\n id: string,\n state: ioBroker.State,\n menuData: MenuData,\n telegramParams: TelegramParams,\n usersInGroup: UsersInGroup,\n): Promise<boolean> => {\n const menuArray: string[] = [];\n let ok = false;\n let calledNav = '';\n\n if (!dataObject.action) {\n return false;\n }\n\n Object.keys(dataObject.action).forEach(menu => {\n if (dataObject.action?.[menu]?.events) {\n dataObject.action[menu].events.forEach(event => {\n if (event.ID[0] == id && event.ack[0] == state.ack.toString()) {\n const condition = event.condition[0];\n if (\n ((state.val == true || state.val == 'true') && isTruthy(condition)) ||\n ((state.val == false || state.val == 'false') && isFalsy(condition)) ||\n (typeof state.val == 'number' && state.val == parseInt(condition)) ||\n state.val == condition\n ) {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n }\n }\n });\n }\n });\n if (!ok || !menuArray.length) {\n return false;\n }\n\n for (const menu of menuArray) {\n const part = menuData[menu][calledNav as keyof DataObject];\n if (usersInGroup[menu] && part) {\n for (const user of usersInGroup[menu]) {\n const menus = Object.keys(menuData);\n\n if (part.nav) {\n backMenuFunc({ activePage: calledNav, navigation: part.nav, userToSend: user.name });\n }\n\n if (part?.nav?.[0][0].includes('menu:')) {\n await callSubMenu({\n jsonStringNav: part.nav[0][0],\n userToSend: user.name,\n telegramParams: telegramParams,\n part: part,\n allMenusWithData: menuData,\n menus: menus,\n });\n return true;\n }\n await sendNav(part, user.name, telegramParams);\n }\n }\n }\n return true;\n};\n\nexport const getUserToSendFromUserListWithChatID = (\n userListWithChatID: UserListWithChatID[],\n chatID: string,\n): UserListWithChatID | undefined => {\n for (const element of userListWithChatID) {\n if (element.chatID == chatID) {\n return element;\n }\n }\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { callSubMenu } from './subMenu';\nimport { sendNav } from './sendNav';\nimport { backMenuFunc } from './backMenu';\nimport { errorLogger } from './logging';\n\nimport { adapter } from '../main';\n\nimport type {\n Actions,\n BindingObject,\n DataObject,\n GenerateActionsNewObject,\n MenuData,\n NewObjectStructure,\n Part,\n Switch,\n TelegramParams,\n UserObjectActions,\n} from '../types/types';\nimport { decomposeText } from '../lib/string';\nimport { isFalsy, isTruthy } from '../lib/utils';\nimport { evaluate } from '../lib/math';\nimport { arrayOfEntries, config } from '../config/config';\nimport { getBindingValues } from '../lib/splitValues';\nimport type { TriggerableActions, UserListWithChatID, UsersInGroup } from '@/types/app';\n\nexport const bindingFunc = async (\n instance: string,\n text: string,\n userToSend: string,\n telegramParams: TelegramParams,\n parse_mode?: boolean,\n): Promise<void> => {\n let textToSend;\n\n try {\n const { substringExcludeSearch } = decomposeText(text, config.binding.start, config.binding.end);\n const arrayOfItems = substringExcludeSearch.split(config.binding.splitChar);\n const bindingObject: BindingObject = {\n values: {},\n };\n\n for (let item of arrayOfItems) {\n if (!item.includes('?')) {\n const { key, id } = getBindingValues(item);\n if (id) {\n const result = await adapter.getForeignStateAsync(id);\n\n if (result) {\n bindingObject.values[key] = result.val?.toString() ?? '';\n }\n }\n } else {\n Object.keys(bindingObject.values).forEach(function (key) {\n item = item.replace(key, bindingObject.values[key]);\n });\n\n const { val } = evaluate(item, adapter);\n textToSend = String(val);\n }\n }\n await sendToTelegram({\n instance,\n userToSend,\n textToSend,\n telegramParams,\n parse_mode,\n });\n } catch (e: any) {\n errorLogger('Error Binding function: ', e, adapter);\n }\n};\n\nexport function generateActions({\n action,\n userObject,\n}: {\n action?: Actions;\n userObject: NewObjectStructure;\n}): { obj: NewObjectStructure; ids: string[] } | undefined {\n try {\n const listOfSetStateIds: string[] = [];\n action?.set.forEach(function (\n { trigger, switch_checkbox, returnText, parse_mode, values, confirm, ack, IDs },\n index,\n ) {\n const triggerName = trigger[0];\n if (index == 0) {\n userObject[triggerName] = { switch: [] };\n }\n userObject[triggerName] = { switch: [] };\n\n IDs.forEach(function (id: string, index: number) {\n listOfSetStateIds.push(id);\n const toggle = isTruthy(switch_checkbox[index]);\n\n const newObj: Switch = {\n id: IDs[index],\n value: values[index],\n toggle: toggle,\n confirm: confirm[index],\n returnText: returnText[index],\n ack: ack?.length ? isTruthy(ack[index]) : false,\n parse_mode: parse_mode?.length ? isTruthy(parse_mode?.[0]) : false,\n };\n if (Array.isArray(userObject?.[triggerName]?.switch)) {\n userObject[triggerName].switch.push(newObj);\n }\n });\n });\n\n arrayOfEntries.forEach(item => {\n const actions = action?.[item.objName as keyof Actions];\n\n actions?.forEach(function (element, index) {\n const trigger = (element as TriggerableActions)?.trigger[0];\n userObject[trigger] = { [item.name]: [] };\n if (index == 0) {\n userObject[trigger] = { [item.name as keyof UserObjectActions]: [] };\n }\n\n (element[item.loop as keyof typeof element] as []).forEach(function (id, index) {\n const newObj = {} as GenerateActionsNewObject;\n item.elements.forEach(({ name, value, index: elIndex }) => {\n const elName = (value ? value : name) as keyof typeof element;\n const newIndex = elIndex ? elIndex : index;\n\n const val = !element[elName] ? false : (element[elName][newIndex] ?? 'false');\n\n if (name === 'parse_mode') {\n newObj.parse_mode = isTruthy(val);\n }\n\n if (typeof val === 'string') {\n newObj[name as keyof GenerateActionsNewObject] = String(val).replace(/&amp;/g, '&') as any;\n }\n });\n\n (userObject?.[trigger]?.[item.name as keyof Part] as GenerateActionsNewObject[]).push(newObj);\n });\n });\n });\n\n return { obj: userObject, ids: listOfSetStateIds };\n } catch (err: any) {\n errorLogger('Error generateActions:', err, adapter);\n }\n}\n\nexport const adjustValueType = (value: keyof NewObjectStructure, valueType: string): boolean | string | number => {\n if (valueType == 'number') {\n if (!parseFloat(value)) {\n adapter.log.error(`Error: Value is not a number: ${value}`);\n return false;\n }\n return parseFloat(value);\n }\n if (valueType == 'boolean') {\n return isTruthy(value);\n }\n return value;\n};\n\nexport const checkEvent = async (\n instance: string,\n dataObject: DataObject,\n id: string,\n state: ioBroker.State,\n menuData: MenuData,\n telegramParams: TelegramParams,\n usersInGroup: UsersInGroup,\n): Promise<boolean> => {\n const menuArray: string[] = [];\n let ok = false;\n let calledNav = '';\n\n if (!dataObject.action) {\n return false;\n }\n\n Object.keys(dataObject.action).forEach(menu => {\n if (dataObject.action?.[menu]?.events) {\n dataObject.action[menu].events.forEach(event => {\n if (event.ID[0] == id && event.ack[0] == state.ack.toString()) {\n const condition = event.condition[0];\n if (\n ((state.val == true || state.val == 'true') && isTruthy(condition)) ||\n ((state.val == false || state.val == 'false') && isFalsy(condition)) ||\n (typeof state.val == 'number' && state.val == parseInt(condition)) ||\n state.val == condition\n ) {\n ok = true;\n menuArray.push(menu);\n calledNav = event.menu[0];\n }\n }\n });\n }\n });\n if (!ok || !menuArray.length) {\n return false;\n }\n\n for (const menu of menuArray) {\n const part = menuData[menu][calledNav as keyof DataObject];\n if (usersInGroup[menu] && part) {\n for (const user of usersInGroup[menu]) {\n const menus = Object.keys(menuData);\n\n if (part.nav) {\n backMenuFunc({ activePage: calledNav, navigation: part.nav, userToSend: user.name });\n }\n\n if (part?.nav?.[0][0].includes('menu:')) {\n await callSubMenu({\n instance,\n jsonStringNav: part.nav[0][0],\n userToSend: user.name,\n telegramParams: telegramParams,\n part: part,\n allMenusWithData: menuData,\n menus: menus,\n });\n return true;\n }\n await sendNav(instance, part, user.name, telegramParams);\n }\n }\n }\n return true;\n};\n\nexport const getUserToSendFromUserListWithChatID = (\n userListWithChatID: UserListWithChatID[],\n chatID: string,\n): UserListWithChatID | undefined => {\n for (const element of userListWithChatID) {\n if (element.chatID == chatID) {\n return element;\n }\n }\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["index", "_a"]
7
7
  }
@@ -26,19 +26,29 @@ var import_backMenu = require("./backMenu");
26
26
  var import_main = require("../main");
27
27
  var import_string = require("../lib/string");
28
28
  var import_appUtils = require("../lib/appUtils");
29
+ function isUserActive(telegramParams, userToSend) {
30
+ return telegramParams.userListWithChatID.find(
31
+ (user) => user.chatID === userToSend.chatId && user.instance === userToSend.instance
32
+ );
33
+ }
29
34
  async function adapterStartMenuSend(listOfMenus, startSides, userActiveCheckbox, menusWithUsers, menuData, telegramParams) {
30
35
  for (const menu of listOfMenus) {
31
36
  const startSide = startSides[menu];
32
37
  if (userActiveCheckbox[menu] && (0, import_appUtils.isStartside)(startSide)) {
33
38
  import_main.adapter.log.debug(`Startside: ${startSide}`);
34
- if (menusWithUsers[menu]) {
35
- for (const userToSend of menusWithUsers[menu]) {
39
+ const group = menusWithUsers[menu];
40
+ if (group) {
41
+ for (const userToSend of group) {
36
42
  const { nav, text, parse_mode } = menuData[menu][startSide];
43
+ const user = isUserActive(telegramParams, userToSend);
44
+ if (!user) {
45
+ continue;
46
+ }
37
47
  (0, import_backMenu.backMenuFunc)({ activePage: startSide, navigation: nav, userToSend: userToSend.name });
38
48
  import_main.adapter.log.debug(`User list: ${(0, import_string.jsonString)(telegramParams.userListWithChatID)}`);
39
49
  const params = { ...telegramParams };
40
- params.telegramInstance = userToSend.instance;
41
50
  await (0, import_telegram.sendToTelegram)({
51
+ instance: userToSend.instance,
42
52
  userToSend: userToSend.name,
43
53
  textToSend: text,
44
54
  keyboard: nav,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app/adapterStartMenuSend.ts"],
4
- "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { backMenuFunc } from './backMenu';\nimport type { ListOfMenus, MenuData, StartSides, TelegramParams } from '../types/types';\nimport { adapter } from '../main';\nimport { jsonString } from '../lib/string';\nimport { isStartside } from '../lib/appUtils';\nimport type { UserActiveCheckbox, UsersInGroup } from '@/types/app';\n\nexport async function adapterStartMenuSend(\n listOfMenus: ListOfMenus,\n startSides: StartSides,\n userActiveCheckbox: UserActiveCheckbox,\n menusWithUsers: UsersInGroup,\n menuData: MenuData,\n telegramParams: TelegramParams,\n): Promise<void> {\n for (const menu of listOfMenus) {\n const startSide = startSides[menu];\n\n if (userActiveCheckbox[menu] && isStartside(startSide)) {\n adapter.log.debug(`Startside: ${startSide}`);\n if (menusWithUsers[menu]) {\n for (const userToSend of menusWithUsers[menu]) {\n const { nav, text, parse_mode } = menuData[menu][startSide];\n backMenuFunc({ activePage: startSide, navigation: nav, userToSend: userToSend.name });\n\n adapter.log.debug(`User list: ${jsonString(telegramParams.userListWithChatID)}`);\n const params = { ...telegramParams };\n params.telegramInstance = userToSend.instance;\n await sendToTelegram({\n userToSend: userToSend.name,\n textToSend: text,\n keyboard: nav,\n telegramParams: params,\n parse_mode,\n });\n }\n }\n } else {\n if (!isStartside(startSide)) {\n adapter.log.debug(`Menu \"${menu}\" is a Submenu.`);\n continue;\n }\n adapter.log.debug(`Menu \"${menu}\" is inactive.`);\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,sBAA6B;AAE7B,kBAAwB;AACxB,oBAA2B;AAC3B,sBAA4B;AAG5B,eAAsB,qBAClB,aACA,YACA,oBACA,gBACA,UACA,gBACa;AACb,aAAW,QAAQ,aAAa;AAC5B,UAAM,YAAY,WAAW,IAAI;AAEjC,QAAI,mBAAmB,IAAI,SAAK,6BAAY,SAAS,GAAG;AACpD,0BAAQ,IAAI,MAAM,cAAc,SAAS,EAAE;AAC3C,UAAI,eAAe,IAAI,GAAG;AACtB,mBAAW,cAAc,eAAe,IAAI,GAAG;AAC3C,gBAAM,EAAE,KAAK,MAAM,WAAW,IAAI,SAAS,IAAI,EAAE,SAAS;AAC1D,4CAAa,EAAE,YAAY,WAAW,YAAY,KAAK,YAAY,WAAW,KAAK,CAAC;AAEpF,8BAAQ,IAAI,MAAM,kBAAc,0BAAW,eAAe,kBAAkB,CAAC,EAAE;AAC/E,gBAAM,SAAS,EAAE,GAAG,eAAe;AACnC,iBAAO,mBAAmB,WAAW;AACrC,oBAAM,gCAAe;AAAA,YACjB,YAAY,WAAW;AAAA,YACvB,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,gBAAgB;AAAA,YAChB;AAAA,UACJ,CAAC;AAAA,QACL;AAAA,MACJ;AAAA,IACJ,OAAO;AACH,UAAI,KAAC,6BAAY,SAAS,GAAG;AACzB,4BAAQ,IAAI,MAAM,SAAS,IAAI,iBAAiB;AAChD;AAAA,MACJ;AACA,0BAAQ,IAAI,MAAM,SAAS,IAAI,gBAAgB;AAAA,IACnD;AAAA,EACJ;AACJ;",
4
+ "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { backMenuFunc } from './backMenu';\nimport type { ListOfMenus, MenuData, StartSides, TelegramParams } from '../types/types';\nimport { adapter } from '../main';\nimport { jsonString } from '../lib/string';\nimport { isStartside } from '../lib/appUtils';\nimport type { UserActiveCheckbox, UserListWithChatID, UsersInGroup, UserType } from '@/types/app';\n\nfunction isUserActive(telegramParams: TelegramParams, userToSend: UserType): UserListWithChatID | undefined {\n return telegramParams.userListWithChatID.find(\n user => user.chatID === userToSend.chatId && user.instance === userToSend.instance,\n );\n}\n\nexport async function adapterStartMenuSend(\n listOfMenus: ListOfMenus,\n startSides: StartSides,\n userActiveCheckbox: UserActiveCheckbox,\n menusWithUsers: UsersInGroup,\n menuData: MenuData,\n telegramParams: TelegramParams,\n): Promise<void> {\n for (const menu of listOfMenus) {\n const startSide = startSides[menu];\n\n if (userActiveCheckbox[menu] && isStartside(startSide)) {\n adapter.log.debug(`Startside: ${startSide}`);\n const group = menusWithUsers[menu];\n if (group) {\n for (const userToSend of group) {\n const { nav, text, parse_mode } = menuData[menu][startSide];\n\n const user = isUserActive(telegramParams, userToSend);\n if (!user) {\n continue;\n }\n backMenuFunc({ activePage: startSide, navigation: nav, userToSend: userToSend.name });\n\n adapter.log.debug(`User list: ${jsonString(telegramParams.userListWithChatID)}`);\n const params = { ...telegramParams };\n await sendToTelegram({\n instance: userToSend.instance,\n userToSend: userToSend.name,\n textToSend: text,\n keyboard: nav,\n telegramParams: params,\n parse_mode,\n });\n }\n }\n } else {\n if (!isStartside(startSide)) {\n adapter.log.debug(`Menu \"${menu}\" is a Submenu.`);\n continue;\n }\n adapter.log.debug(`Menu \"${menu}\" is inactive.`);\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,sBAA6B;AAE7B,kBAAwB;AACxB,oBAA2B;AAC3B,sBAA4B;AAG5B,SAAS,aAAa,gBAAgC,YAAsD;AACxG,SAAO,eAAe,mBAAmB;AAAA,IACrC,UAAQ,KAAK,WAAW,WAAW,UAAU,KAAK,aAAa,WAAW;AAAA,EAC9E;AACJ;AAEA,eAAsB,qBAClB,aACA,YACA,oBACA,gBACA,UACA,gBACa;AACb,aAAW,QAAQ,aAAa;AAC5B,UAAM,YAAY,WAAW,IAAI;AAEjC,QAAI,mBAAmB,IAAI,SAAK,6BAAY,SAAS,GAAG;AACpD,0BAAQ,IAAI,MAAM,cAAc,SAAS,EAAE;AAC3C,YAAM,QAAQ,eAAe,IAAI;AACjC,UAAI,OAAO;AACP,mBAAW,cAAc,OAAO;AAC5B,gBAAM,EAAE,KAAK,MAAM,WAAW,IAAI,SAAS,IAAI,EAAE,SAAS;AAE1D,gBAAM,OAAO,aAAa,gBAAgB,UAAU;AACpD,cAAI,CAAC,MAAM;AACP;AAAA,UACJ;AACA,4CAAa,EAAE,YAAY,WAAW,YAAY,KAAK,YAAY,WAAW,KAAK,CAAC;AAEpF,8BAAQ,IAAI,MAAM,kBAAc,0BAAW,eAAe,kBAAkB,CAAC,EAAE;AAC/E,gBAAM,SAAS,EAAE,GAAG,eAAe;AACnC,oBAAM,gCAAe;AAAA,YACjB,UAAU,WAAW;AAAA,YACrB,YAAY,WAAW;AAAA,YACvB,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,gBAAgB;AAAA,YAChB;AAAA,UACJ,CAAC;AAAA,QACL;AAAA,MACJ;AAAA,IACJ,OAAO;AACH,UAAI,KAAC,6BAAY,SAAS,GAAG;AACzB,4BAAQ,IAAI,MAAM,SAAS,IAAI,iBAAiB;AAChD;AAAA,MACJ;AACA,0BAAQ,IAAI,MAAM,SAAS,IAAI,gBAAgB;AAAA,IACnD;AAAA,EACJ;AACJ;",
6
6
  "names": []
7
7
  }
@@ -34,8 +34,6 @@ const getConfigVariables = (config) => {
34
34
  const telegramInstances = (_a = config.instanceList) != null ? _a : [];
35
35
  const checkboxes = config.checkbox;
36
36
  const telegramParams = {
37
- telegramInstance: "telegram.0",
38
- //default value
39
37
  telegramInstanceList: telegramInstances,
40
38
  resize_keyboard: checkboxes.resKey,
41
39
  one_time_keyboard: checkboxes.oneTiKey,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app/configVariables.ts"],
4
- "sourcesContent": ["import type { DataObject, TelegramParams } from '../types/types';\nimport type { Checkboxes, UserActiveCheckbox, UsersInGroup } from '@/types/app';\n\nexport const getIds = {\n telegramRequestID: (instance: string): string => `${instance}.communicate.request`,\n telegramBotSendMessageID: (instance: string): string => `${instance}.communicate.botSendMessageId`,\n telegramRequestMessageID: (instance: string): string => `${instance}.communicate.requestMessageId`,\n telegramInfoConnectionID: (instance: string): string => `${instance}.info.connection`,\n telegramRequestChatID: (instance: string): string => `${instance}.communicate.requestChatId`,\n};\n\nexport const getConfigVariables = (\n config: ioBroker.AdapterConfig,\n): {\n checkboxNoEntryFound: boolean;\n sendMenuAfterRestart: boolean;\n listOfMenus: string[];\n token: string;\n directoryPicture: string;\n isUserActiveCheckbox: UserActiveCheckbox;\n menusWithUsers: UsersInGroup;\n textNoEntryFound: string;\n dataObject: DataObject;\n checkboxes: Checkboxes;\n telegramParams: TelegramParams;\n} => {\n const telegramInstances = config.instanceList ?? [];\n const checkboxes = config.checkbox;\n const telegramParams: TelegramParams = {\n telegramInstance: 'telegram.0', //default value\n telegramInstanceList: telegramInstances,\n resize_keyboard: checkboxes.resKey,\n one_time_keyboard: checkboxes.oneTiKey,\n userListWithChatID: config.userListWithChatID,\n };\n return {\n checkboxes,\n checkboxNoEntryFound: checkboxes.checkboxNoValueFound,\n sendMenuAfterRestart: checkboxes.sendMenuAfterRestart,\n listOfMenus: config.usersInGroup ? Object.keys(config.usersInGroup) : [],\n token: config.tokenGrafana,\n directoryPicture: config.directory,\n isUserActiveCheckbox: config.userActiveCheckbox,\n menusWithUsers: config.usersInGroup,\n textNoEntryFound: (config.textNoEntry as string | undefined) ?? 'Entry not found',\n dataObject: config.data,\n telegramParams,\n };\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,SAAS;AAAA,EAClB,mBAAmB,CAAC,aAA6B,GAAG,QAAQ;AAAA,EAC5D,0BAA0B,CAAC,aAA6B,GAAG,QAAQ;AAAA,EACnE,0BAA0B,CAAC,aAA6B,GAAG,QAAQ;AAAA,EACnE,0BAA0B,CAAC,aAA6B,GAAG,QAAQ;AAAA,EACnE,uBAAuB,CAAC,aAA6B,GAAG,QAAQ;AACpE;AAEO,MAAM,qBAAqB,CAC9B,WAaC;AAzBL;AA0BI,QAAM,qBAAoB,YAAO,iBAAP,YAAuB,CAAC;AAClD,QAAM,aAAa,OAAO;AAC1B,QAAM,iBAAiC;AAAA,IACnC,kBAAkB;AAAA;AAAA,IAClB,sBAAsB;AAAA,IACtB,iBAAiB,WAAW;AAAA,IAC5B,mBAAmB,WAAW;AAAA,IAC9B,oBAAoB,OAAO;AAAA,EAC/B;AACA,SAAO;AAAA,IACH;AAAA,IACA,sBAAsB,WAAW;AAAA,IACjC,sBAAsB,WAAW;AAAA,IACjC,aAAa,OAAO,eAAe,OAAO,KAAK,OAAO,YAAY,IAAI,CAAC;AAAA,IACvE,OAAO,OAAO;AAAA,IACd,kBAAkB,OAAO;AAAA,IACzB,sBAAsB,OAAO;AAAA,IAC7B,gBAAgB,OAAO;AAAA,IACvB,mBAAmB,YAAO,gBAAP,YAA6C;AAAA,IAChE,YAAY,OAAO;AAAA,IACnB;AAAA,EACJ;AACJ;",
4
+ "sourcesContent": ["import type { DataObject, TelegramParams } from '../types/types';\nimport type { Checkboxes, UserActiveCheckbox, UsersInGroup } from '@/types/app';\n\nexport const getIds = {\n telegramRequestID: (instance: string): string => `${instance}.communicate.request`,\n telegramBotSendMessageID: (instance: string): string => `${instance}.communicate.botSendMessageId`,\n telegramRequestMessageID: (instance: string): string => `${instance}.communicate.requestMessageId`,\n telegramInfoConnectionID: (instance: string): string => `${instance}.info.connection`,\n telegramRequestChatID: (instance: string): string => `${instance}.communicate.requestChatId`,\n};\n\nexport const getConfigVariables = (\n config: ioBroker.AdapterConfig,\n): {\n checkboxNoEntryFound: boolean;\n sendMenuAfterRestart: boolean;\n listOfMenus: string[];\n token: string;\n directoryPicture: string;\n isUserActiveCheckbox: UserActiveCheckbox;\n menusWithUsers: UsersInGroup;\n textNoEntryFound: string;\n dataObject: DataObject;\n checkboxes: Checkboxes;\n telegramParams: TelegramParams;\n} => {\n const telegramInstances = config.instanceList ?? [];\n const checkboxes = config.checkbox;\n const telegramParams: TelegramParams = {\n telegramInstanceList: telegramInstances,\n resize_keyboard: checkboxes.resKey,\n one_time_keyboard: checkboxes.oneTiKey,\n userListWithChatID: config.userListWithChatID,\n };\n return {\n checkboxes,\n checkboxNoEntryFound: checkboxes.checkboxNoValueFound,\n sendMenuAfterRestart: checkboxes.sendMenuAfterRestart,\n listOfMenus: config.usersInGroup ? Object.keys(config.usersInGroup) : [],\n token: config.tokenGrafana,\n directoryPicture: config.directory,\n isUserActiveCheckbox: config.userActiveCheckbox,\n menusWithUsers: config.usersInGroup,\n textNoEntryFound: (config.textNoEntry as string | undefined) ?? 'Entry not found',\n dataObject: config.data,\n telegramParams,\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,SAAS;AAAA,EAClB,mBAAmB,CAAC,aAA6B,GAAG,QAAQ;AAAA,EAC5D,0BAA0B,CAAC,aAA6B,GAAG,QAAQ;AAAA,EACnE,0BAA0B,CAAC,aAA6B,GAAG,QAAQ;AAAA,EACnE,0BAA0B,CAAC,aAA6B,GAAG,QAAQ;AAAA,EACnE,uBAAuB,CAAC,aAA6B,GAAG,QAAQ;AACpE;AAEO,MAAM,qBAAqB,CAC9B,WAaC;AAzBL;AA0BI,QAAM,qBAAoB,YAAO,iBAAP,YAAuB,CAAC;AAClD,QAAM,aAAa,OAAO;AAC1B,QAAM,iBAAiC;AAAA,IACnC,sBAAsB;AAAA,IACtB,iBAAiB,WAAW;AAAA,IAC5B,mBAAmB,WAAW;AAAA,IAC9B,oBAAoB,OAAO;AAAA,EAC/B;AACA,SAAO;AAAA,IACH;AAAA,IACA,sBAAsB,WAAW;AAAA,IACjC,sBAAsB,WAAW;AAAA,IACjC,aAAa,OAAO,eAAe,OAAO,KAAK,OAAO,YAAY,IAAI,CAAC;AAAA,IACvE,OAAO,OAAO;AAAA,IACd,kBAAkB,OAAO;AAAA,IACzB,sBAAsB,OAAO;AAAA,IAC7B,gBAAgB,OAAO;AAAA,IACvB,mBAAmB,YAAO,gBAAP,YAA6C;AAAA,IAChE,YAAY,OAAO;AAAA,IACnB;AAAA,EACJ;AACJ;",
6
6
  "names": []
7
7
  }
@@ -26,13 +26,14 @@ module.exports = __toCommonJS(dynamicValue_exports);
26
26
  var import_string = require("../lib/string");
27
27
  var import_telegram = require("./telegram");
28
28
  const dynamicValueObj = {};
29
- const setDynamicValue = async (returnText, ack, id, userToSend, telegramParams, parse_mode, confirm) => {
29
+ const setDynamicValue = async (instance, returnText, ack, id, userToSend, telegramParams, parse_mode, confirm) => {
30
30
  const { substringExcludeSearch } = (0, import_string.decomposeText)(returnText, "{setDynamicValue:", "}");
31
31
  let array = substringExcludeSearch.split(":");
32
32
  array = isBraceDeleteEntry(array);
33
33
  const text = array[0];
34
34
  if (text) {
35
35
  await (0, import_telegram.sendToTelegram)({
36
+ instance,
36
37
  userToSend,
37
38
  textToSend: text,
38
39
  telegramParams,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app/dynamicValue.ts"],
4
- "sourcesContent": ["import { decomposeText } from '../lib/string';\nimport { sendToTelegram } from './telegram';\nimport type { SetDynamicValue, SetDynamicValueObj, TelegramParams } from '../types/types';\n\nconst dynamicValueObj: SetDynamicValueObj = {};\nexport const setDynamicValue = async (\n returnText: string,\n ack: boolean,\n id: string,\n userToSend: string,\n telegramParams: TelegramParams,\n parse_mode: boolean,\n confirm: string,\n): Promise<{ confirmText: string; id: string | undefined }> => {\n const { substringExcludeSearch } = decomposeText(returnText, '{setDynamicValue:', '}');\n let array = substringExcludeSearch.split(':');\n array = isBraceDeleteEntry(array);\n const text = array[0];\n if (text) {\n await sendToTelegram({\n userToSend,\n textToSend: text,\n telegramParams,\n parse_mode,\n });\n }\n dynamicValueObj[userToSend] = {\n id,\n ack,\n returnText: text,\n userToSend,\n parse_mode,\n confirm,\n telegramParams,\n valueType: array[1],\n navToGoTo: array[3],\n };\n\n if (array[2] && array[2] != '') {\n return { confirmText: array[2], id: array[3] !== '' ? array[3] : undefined };\n }\n return { confirmText: '', id: undefined };\n};\n\nexport const getDynamicValue = (userToSend: string): SetDynamicValue | null => dynamicValueObj[userToSend] ?? null;\n\nexport const removeUserFromDynamicValue = (userToSend: string): boolean => {\n if (dynamicValueObj[userToSend]) {\n delete dynamicValueObj[userToSend];\n return true;\n }\n return false;\n};\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,oBAA8B;AAC9B,sBAA+B;AAG/B,MAAM,kBAAsC,CAAC;AACtC,MAAM,kBAAkB,OAC3B,YACA,KACA,IACA,YACA,gBACA,YACA,YAC2D;AAC3D,QAAM,EAAE,uBAAuB,QAAI,6BAAc,YAAY,qBAAqB,GAAG;AACrF,MAAI,QAAQ,uBAAuB,MAAM,GAAG;AAC5C,UAAQ,mBAAmB,KAAK;AAChC,QAAM,OAAO,MAAM,CAAC;AACpB,MAAI,MAAM;AACN,cAAM,gCAAe;AAAA,MACjB;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,EACL;AACA,kBAAgB,UAAU,IAAI;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,CAAC;AAAA,IAClB,WAAW,MAAM,CAAC;AAAA,EACtB;AAEA,MAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI;AAC5B,WAAO,EAAE,aAAa,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,OAAU;AAAA,EAC/E;AACA,SAAO,EAAE,aAAa,IAAI,IAAI,OAAU;AAC5C;AAEO,MAAM,kBAAkB,CAAC,eAA4C;AA5C5E;AA4C+E,+BAAgB,UAAU,MAA1B,YAA+B;AAAA;AAEvG,MAAM,6BAA6B,CAAC,eAAgC;AACvE,MAAI,gBAAgB,UAAU,GAAG;AAC7B,WAAO,gBAAgB,UAAU;AACjC,WAAO;AAAA,EACX;AACA,SAAO;AACX;AAEA,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 '../lib/string';\nimport { sendToTelegram } from './telegram';\nimport type { SetDynamicValue, SetDynamicValueObj, TelegramParams } from '../types/types';\n\nconst dynamicValueObj: SetDynamicValueObj = {};\nexport const setDynamicValue = async (\n instance: string,\n returnText: string,\n ack: boolean,\n id: string,\n userToSend: string,\n telegramParams: TelegramParams,\n parse_mode: boolean,\n confirm: string,\n): Promise<{ confirmText: string; id: string | undefined }> => {\n const { substringExcludeSearch } = decomposeText(returnText, '{setDynamicValue:', '}');\n let array = substringExcludeSearch.split(':');\n array = isBraceDeleteEntry(array);\n const text = array[0];\n if (text) {\n await sendToTelegram({\n instance,\n userToSend,\n textToSend: text,\n telegramParams,\n parse_mode,\n });\n }\n dynamicValueObj[userToSend] = {\n id,\n ack,\n returnText: text,\n userToSend,\n parse_mode,\n confirm,\n telegramParams,\n valueType: array[1],\n navToGoTo: array[3],\n };\n\n if (array[2] && array[2] != '') {\n return { confirmText: array[2], id: array[3] !== '' ? array[3] : undefined };\n }\n return { confirmText: '', id: undefined };\n};\n\nexport const getDynamicValue = (userToSend: string): SetDynamicValue | null => dynamicValueObj[userToSend] ?? null;\n\nexport const removeUserFromDynamicValue = (userToSend: string): boolean => {\n if (dynamicValueObj[userToSend]) {\n delete dynamicValueObj[userToSend];\n return true;\n }\n return false;\n};\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,oBAA8B;AAC9B,sBAA+B;AAG/B,MAAM,kBAAsC,CAAC;AACtC,MAAM,kBAAkB,OAC3B,UACA,YACA,KACA,IACA,YACA,gBACA,YACA,YAC2D;AAC3D,QAAM,EAAE,uBAAuB,QAAI,6BAAc,YAAY,qBAAqB,GAAG;AACrF,MAAI,QAAQ,uBAAuB,MAAM,GAAG;AAC5C,UAAQ,mBAAmB,KAAK;AAChC,QAAM,OAAO,MAAM,CAAC;AACpB,MAAI,MAAM;AACN,cAAM,gCAAe;AAAA,MACjB;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,EACL;AACA,kBAAgB,UAAU,IAAI;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,CAAC;AAAA,IAClB,WAAW,MAAM,CAAC;AAAA,EACtB;AAEA,MAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI;AAC5B,WAAO,EAAE,aAAa,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,OAAU;AAAA,EAC/E;AACA,SAAO,EAAE,aAAa,IAAI,IAAI,OAAU;AAC5C;AAEO,MAAM,kBAAkB,CAAC,eAA4C;AA9C5E;AA8C+E,+BAAgB,UAAU,MAA1B,YAA+B;AAAA;AAEvG,MAAM,6BAA6B,CAAC,eAAgC;AACvE,MAAI,gBAAgB,UAAU,GAAG;AAC7B,WAAO,gBAAgB,UAAU;AACjC,WAAO;AAAA,EACX;AACA,SAAO;AACX;AAEA,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
  }
@@ -26,7 +26,7 @@ var import_logging = require("./logging");
26
26
  var import_telegram = require("./telegram");
27
27
  var import_utils = require("../lib/utils");
28
28
  var import_splitValues = require("../lib/splitValues");
29
- function getChart(echarts, directoryPicture, user, telegramParams) {
29
+ function getChart(instance, echarts, directoryPicture, user, telegramParams) {
30
30
  try {
31
31
  for (const echart of echarts) {
32
32
  const instanceOfEchart = (0, import_splitValues.getEchartsValues)(echart.preset);
@@ -45,7 +45,7 @@ function getChart(echarts, directoryPicture, user, telegramParams) {
45
45
  },
46
46
  async (result) => {
47
47
  const textToSend = result.error || directoryPicture + echart.filename;
48
- await (0, import_telegram.sendToTelegram)({ userToSend: user, textToSend, telegramParams });
48
+ await (0, import_telegram.sendToTelegram)({ instance, userToSend: user, textToSend, telegramParams });
49
49
  }
50
50
  );
51
51
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app/echarts.ts"],
4
- "sourcesContent": ["import { adapter } from '../main';\nimport { errorLogger } from './logging';\nimport { sendToTelegram } from './telegram';\nimport type { ModifiedEchart, TelegramParams } from '../types/types';\nimport { validateDirectory } from '../lib/utils';\nimport { getEchartsValues } from '../lib/splitValues';\n\nexport function getChart(\n echarts: ModifiedEchart[],\n directoryPicture: string,\n user: string,\n telegramParams: TelegramParams,\n): void {\n try {\n for (const echart of echarts) {\n const instanceOfEchart = getEchartsValues(echart.preset);\n\n if (!validateDirectory(adapter, directoryPicture)) {\n return;\n }\n adapter.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 async (result: any) => {\n const textToSend = result.error || directoryPicture + echart.filename;\n\n await sendToTelegram({ userToSend: user, textToSend, telegramParams });\n },\n );\n }\n } catch (e: any) {\n errorLogger('Error in Echart:', e, adapter);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AACxB,qBAA4B;AAC5B,sBAA+B;AAE/B,mBAAkC;AAClC,yBAAiC;AAE1B,SAAS,SACZ,SACA,kBACA,MACA,gBACI;AACJ,MAAI;AACA,eAAW,UAAU,SAAS;AAC1B,YAAM,uBAAmB,qCAAiB,OAAO,MAAM;AAEvD,UAAI,KAAC,gCAAkB,qBAAS,gBAAgB,GAAG;AAC/C;AAAA,MACJ;AACA,0BAAQ;AAAA,QACJ;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,OAAO,WAAgB;AACnB,gBAAM,aAAa,OAAO,SAAS,mBAAmB,OAAO;AAE7D,oBAAM,gCAAe,EAAE,YAAY,MAAM,YAAY,eAAe,CAAC;AAAA,QACzE;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,oCAAY,oBAAoB,GAAG,mBAAO;AAAA,EAC9C;AACJ;",
4
+ "sourcesContent": ["import { adapter } from '../main';\nimport { errorLogger } from './logging';\nimport { sendToTelegram } from './telegram';\nimport type { ModifiedEchart, TelegramParams } from '../types/types';\nimport { validateDirectory } from '../lib/utils';\nimport { getEchartsValues } from '../lib/splitValues';\n\nexport function getChart(\n instance: string,\n echarts: ModifiedEchart[],\n directoryPicture: string,\n user: string,\n telegramParams: TelegramParams,\n): void {\n try {\n for (const echart of echarts) {\n const instanceOfEchart = getEchartsValues(echart.preset);\n\n if (!validateDirectory(adapter, directoryPicture)) {\n return;\n }\n adapter.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 async (result: any) => {\n const textToSend = result.error || directoryPicture + echart.filename;\n\n await sendToTelegram({ instance, userToSend: user, textToSend, telegramParams });\n },\n );\n }\n } catch (e: any) {\n errorLogger('Error in Echart:', e, adapter);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AACxB,qBAA4B;AAC5B,sBAA+B;AAE/B,mBAAkC;AAClC,yBAAiC;AAE1B,SAAS,SACZ,UACA,SACA,kBACA,MACA,gBACI;AACJ,MAAI;AACA,eAAW,UAAU,SAAS;AAC1B,YAAM,uBAAmB,qCAAiB,OAAO,MAAM;AAEvD,UAAI,KAAC,gCAAkB,qBAAS,gBAAgB,GAAG;AAC/C;AAAA,MACJ;AACA,0BAAQ;AAAA,QACJ;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,OAAO,WAAgB;AACnB,gBAAM,aAAa,OAAO,SAAS,mBAAmB,OAAO;AAE7D,oBAAM,gCAAe,EAAE,UAAU,YAAY,MAAM,YAAY,eAAe,CAAC;AAAA,QACnF;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,oCAAY,oBAAoB,GAAG,mBAAO;AAAA,EAC9C;AACJ;",
6
6
  "names": []
7
7
  }
@@ -34,16 +34,17 @@ var import_config = require("../config/config");
34
34
  var import_logging = require("./logging");
35
35
  var import_exchangeValue = require("../lib/exchangeValue");
36
36
  var import_idBySelector = require("./idBySelector");
37
- async function getState(part, userToSend, telegramParams) {
38
- var _a;
37
+ var import_parseMode = require("./parseMode");
38
+ async function getState(instance, part, userToSend, telegramParams) {
39
39
  try {
40
- const parse_mode = (_a = part.getData) == null ? void 0 : _a[0].parse_mode;
40
+ const parse_mode = (0, import_parseMode.isParseModeFirstElement)(part);
41
41
  const valueArrayForCorrectOrder = [];
42
42
  const promises = (part.getData || []).map(async ({ newline, text, id }, index) => {
43
- var _a2;
43
+ var _a;
44
44
  import_main.adapter.log.debug(`Get Value ID: ${id}`);
45
45
  if (id.includes(import_config.config.functionSelektor)) {
46
46
  await (0, import_idBySelector.idBySelector)({
47
+ instance,
47
48
  adapter: import_main.adapter,
48
49
  selector: id,
49
50
  text,
@@ -54,7 +55,7 @@ async function getState(part, userToSend, telegramParams) {
54
55
  return;
55
56
  }
56
57
  if (text.includes(import_config.config.binding.start)) {
57
- await (0, import_action.bindingFunc)(text, userToSend, telegramParams, parse_mode);
58
+ await (0, import_action.bindingFunc)(instance, text, userToSend, telegramParams, parse_mode);
58
59
  return;
59
60
  }
60
61
  const state = await import_main.adapter.getForeignStateAsync(id);
@@ -63,7 +64,7 @@ async function getState(part, userToSend, telegramParams) {
63
64
  valueArrayForCorrectOrder[index] = "N/A";
64
65
  return Promise.resolve();
65
66
  }
66
- const stateValue = (0, import_string.cleanUpString)((_a2 = state.val) == null ? void 0 : _a2.toString());
67
+ const stateValue = (0, import_string.cleanUpString)((_a = state.val) == null ? void 0 : _a.toString());
67
68
  let modifiedStateVal = stateValue;
68
69
  let modifiedTextToSend = text;
69
70
  if (text.includes(import_config.config.timestamp.ts) || text.includes(import_config.config.timestamp.lc)) {
@@ -96,6 +97,7 @@ async function getState(part, userToSend, telegramParams) {
96
97
  const result = (0, import_jsonTable.createTextTableFromJson)(stateValue, modifiedTextToSend);
97
98
  if (result) {
98
99
  await (0, import_telegram.sendToTelegram)({
100
+ instance,
99
101
  userToSend,
100
102
  textToSend: result,
101
103
  telegramParams,
@@ -107,12 +109,20 @@ async function getState(part, userToSend, telegramParams) {
107
109
  } else {
108
110
  const result = (0, import_jsonTable.createKeyboardFromJson)(stateValue, modifiedTextToSend, id, userToSend);
109
111
  if (stateValue && stateValue.length > 0) {
110
- if (result && result.text && result.keyboard) {
111
- (0, import_telegram.sendToTelegramSubmenu)(userToSend, result.text, result.keyboard, telegramParams, parse_mode);
112
+ if ((result == null ? void 0 : result.text) && (result == null ? void 0 : result.keyboard)) {
113
+ (0, import_telegram.sendToTelegramSubmenu)(
114
+ instance,
115
+ userToSend,
116
+ result.text,
117
+ result.keyboard,
118
+ telegramParams,
119
+ parse_mode
120
+ );
112
121
  }
113
122
  return;
114
123
  }
115
124
  await (0, import_telegram.sendToTelegram)({
125
+ instance,
116
126
  userToSend,
117
127
  textToSend: "The state is empty!",
118
128
  telegramParams,
@@ -131,6 +141,7 @@ async function getState(part, userToSend, telegramParams) {
131
141
  await Promise.all(promises);
132
142
  if (valueArrayForCorrectOrder.length) {
133
143
  await (0, import_telegram.sendToTelegram)({
144
+ instance,
134
145
  userToSend,
135
146
  textToSend: valueArrayForCorrectOrder.join(""),
136
147
  telegramParams,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app/getstate.ts"],
4
- "sourcesContent": ["import { sendToTelegram, sendToTelegramSubmenu } from './telegram';\nimport { bindingFunc } from './action';\nimport { createKeyboardFromJson, createTextTableFromJson } from './jsonTable';\nimport { processTimeIdLc } from '../lib/utilities';\nimport { isDefined } from '../lib/utils';\nimport { adapter } from '../main';\nimport type { Part, TelegramParams } from '../types/types';\nimport { integrateTimeIntoText } from '../lib/time';\nimport { cleanUpString, decomposeText, getNewline, jsonString } from '../lib/string';\nimport { calcValue, roundValue } from '../lib/appUtils';\nimport { config } from '../config/config';\nimport { errorLogger } from './logging';\nimport { exchangeValue } from '../lib/exchangeValue';\nimport { idBySelector } from './idBySelector';\n\nexport async function getState(part: Part, userToSend: string, telegramParams: TelegramParams): Promise<void> {\n try {\n const parse_mode = part.getData?.[0].parse_mode; // Parse Mode ist nur immer im ersten Element\n const valueArrayForCorrectOrder: string[] = [];\n const promises = (part.getData || []).map(async ({ newline, text, id }, index): Promise<void> => {\n adapter.log.debug(`Get Value ID: ${id}`);\n\n if (id.includes(config.functionSelektor)) {\n await idBySelector({\n adapter,\n selector: id,\n text,\n userToSend,\n newline,\n telegramParams,\n });\n return;\n }\n\n if (text.includes(config.binding.start)) {\n await bindingFunc(text, userToSend, telegramParams, parse_mode);\n return;\n }\n\n const state = await adapter.getForeignStateAsync(id);\n\n if (!isDefined(state)) {\n adapter.log.error('The state is empty!');\n valueArrayForCorrectOrder[index] = 'N/A';\n return Promise.resolve();\n }\n\n const stateValue = cleanUpString(state.val?.toString());\n\n let modifiedStateVal = stateValue;\n let modifiedTextToSend = text;\n\n if (text.includes(config.timestamp.ts) || text.includes(config.timestamp.lc)) {\n modifiedTextToSend = await processTimeIdLc(text, id);\n modifiedStateVal = '';\n }\n\n if (modifiedTextToSend.includes(config.time)) {\n modifiedTextToSend = integrateTimeIntoText(modifiedTextToSend, stateValue);\n modifiedStateVal = '';\n }\n\n if (modifiedTextToSend.includes(config.math.start)) {\n const { textToSend, calculated, error } = calcValue(modifiedTextToSend, modifiedStateVal, adapter);\n if (!error) {\n modifiedTextToSend = textToSend;\n modifiedStateVal = calculated;\n\n adapter.log.debug(`textToSend : ${modifiedTextToSend} val : ${modifiedStateVal}`);\n }\n }\n\n if (modifiedTextToSend.includes(config.round.start)) {\n const { error, text, roundedValue } = roundValue(String(modifiedStateVal), modifiedTextToSend);\n if (!error) {\n adapter.log.debug(`Rounded from ${jsonString(modifiedStateVal)} to ${jsonString(roundedValue)}`);\n modifiedStateVal = roundedValue;\n modifiedTextToSend = text;\n }\n }\n\n if (modifiedTextToSend.includes(config.json.start)) {\n const { substring } = decomposeText(modifiedTextToSend, config.json.start, config.json.end);\n\n if (substring.includes(config.json.textTable)) {\n const result = createTextTableFromJson(stateValue, modifiedTextToSend);\n if (result) {\n await sendToTelegram({\n userToSend,\n textToSend: result,\n telegramParams,\n parse_mode,\n });\n return;\n }\n adapter.log.debug('Cannot create a Text-Table');\n } else {\n const result = createKeyboardFromJson(stateValue, modifiedTextToSend, id, userToSend);\n if (stateValue && stateValue.length > 0) {\n if (result && result.text && result.keyboard) {\n sendToTelegramSubmenu(userToSend, result.text, result.keyboard, telegramParams, parse_mode);\n }\n return;\n }\n await sendToTelegram({\n userToSend,\n textToSend: 'The state is empty!',\n telegramParams,\n parse_mode,\n });\n adapter.log.debug('The state is empty!');\n return;\n }\n }\n\n const { textToSend: _text, error } = exchangeValue(adapter, modifiedTextToSend, modifiedStateVal);\n\n const isNewline = getNewline(newline);\n modifiedTextToSend = `${_text} ${isNewline}`;\n\n adapter.log.debug(!error ? `Value Changed to: ${modifiedTextToSend}` : `No Change`);\n\n valueArrayForCorrectOrder[index] = modifiedTextToSend;\n });\n await Promise.all(promises);\n\n if (valueArrayForCorrectOrder.length) {\n await sendToTelegram({\n userToSend,\n textToSend: valueArrayForCorrectOrder.join(''),\n telegramParams,\n parse_mode,\n });\n }\n } catch (error: any) {\n errorLogger('Error GetData:', error, adapter);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsD;AACtD,oBAA4B;AAC5B,uBAAgE;AAChE,uBAAgC;AAChC,mBAA0B;AAC1B,kBAAwB;AAExB,kBAAsC;AACtC,oBAAqE;AACrE,sBAAsC;AACtC,oBAAuB;AACvB,qBAA4B;AAC5B,2BAA8B;AAC9B,0BAA6B;AAE7B,eAAsB,SAAS,MAAY,YAAoB,gBAA+C;AAf9G;AAgBI,MAAI;AACA,UAAM,cAAa,UAAK,YAAL,mBAAe,GAAG;AACrC,UAAM,4BAAsC,CAAC;AAC7C,UAAM,YAAY,KAAK,WAAW,CAAC,GAAG,IAAI,OAAO,EAAE,SAAS,MAAM,GAAG,GAAG,UAAyB;AAnBzG,UAAAA;AAoBY,0BAAQ,IAAI,MAAM,iBAAiB,EAAE,EAAE;AAEvC,UAAI,GAAG,SAAS,qBAAO,gBAAgB,GAAG;AACtC,kBAAM,kCAAa;AAAA,UACf;AAAA,UACA,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ,CAAC;AACD;AAAA,MACJ;AAEA,UAAI,KAAK,SAAS,qBAAO,QAAQ,KAAK,GAAG;AACrC,kBAAM,2BAAY,MAAM,YAAY,gBAAgB,UAAU;AAC9D;AAAA,MACJ;AAEA,YAAM,QAAQ,MAAM,oBAAQ,qBAAqB,EAAE;AAEnD,UAAI,KAAC,wBAAU,KAAK,GAAG;AACnB,4BAAQ,IAAI,MAAM,qBAAqB;AACvC,kCAA0B,KAAK,IAAI;AACnC,eAAO,QAAQ,QAAQ;AAAA,MAC3B;AAEA,YAAM,iBAAa,8BAAcA,MAAA,MAAM,QAAN,gBAAAA,IAAW,UAAU;AAEtD,UAAI,mBAAmB;AACvB,UAAI,qBAAqB;AAEzB,UAAI,KAAK,SAAS,qBAAO,UAAU,EAAE,KAAK,KAAK,SAAS,qBAAO,UAAU,EAAE,GAAG;AAC1E,6BAAqB,UAAM,kCAAgB,MAAM,EAAE;AACnD,2BAAmB;AAAA,MACvB;AAEA,UAAI,mBAAmB,SAAS,qBAAO,IAAI,GAAG;AAC1C,iCAAqB,mCAAsB,oBAAoB,UAAU;AACzE,2BAAmB;AAAA,MACvB;AAEA,UAAI,mBAAmB,SAAS,qBAAO,KAAK,KAAK,GAAG;AAChD,cAAM,EAAE,YAAY,YAAY,OAAAC,OAAM,QAAI,2BAAU,oBAAoB,kBAAkB,mBAAO;AACjG,YAAI,CAACA,QAAO;AACR,+BAAqB;AACrB,6BAAmB;AAEnB,8BAAQ,IAAI,MAAM,gBAAgB,kBAAkB,UAAU,gBAAgB,EAAE;AAAA,QACpF;AAAA,MACJ;AAEA,UAAI,mBAAmB,SAAS,qBAAO,MAAM,KAAK,GAAG;AACjD,cAAM,EAAE,OAAAA,QAAO,MAAAC,OAAM,aAAa,QAAI,4BAAW,OAAO,gBAAgB,GAAG,kBAAkB;AAC7F,YAAI,CAACD,QAAO;AACR,8BAAQ,IAAI,MAAM,oBAAgB,0BAAW,gBAAgB,CAAC,WAAO,0BAAW,YAAY,CAAC,EAAE;AAC/F,6BAAmB;AACnB,+BAAqBC;AAAA,QACzB;AAAA,MACJ;AAEA,UAAI,mBAAmB,SAAS,qBAAO,KAAK,KAAK,GAAG;AAChD,cAAM,EAAE,UAAU,QAAI,6BAAc,oBAAoB,qBAAO,KAAK,OAAO,qBAAO,KAAK,GAAG;AAE1F,YAAI,UAAU,SAAS,qBAAO,KAAK,SAAS,GAAG;AAC3C,gBAAM,aAAS,0CAAwB,YAAY,kBAAkB;AACrE,cAAI,QAAQ;AACR,sBAAM,gCAAe;AAAA,cACjB;AAAA,cACA,YAAY;AAAA,cACZ;AAAA,cACA;AAAA,YACJ,CAAC;AACD;AAAA,UACJ;AACA,8BAAQ,IAAI,MAAM,4BAA4B;AAAA,QAClD,OAAO;AACH,gBAAM,aAAS,yCAAuB,YAAY,oBAAoB,IAAI,UAAU;AACpF,cAAI,cAAc,WAAW,SAAS,GAAG;AACrC,gBAAI,UAAU,OAAO,QAAQ,OAAO,UAAU;AAC1C,yDAAsB,YAAY,OAAO,MAAM,OAAO,UAAU,gBAAgB,UAAU;AAAA,YAC9F;AACA;AAAA,UACJ;AACA,oBAAM,gCAAe;AAAA,YACjB;AAAA,YACA,YAAY;AAAA,YACZ;AAAA,YACA;AAAA,UACJ,CAAC;AACD,8BAAQ,IAAI,MAAM,qBAAqB;AACvC;AAAA,QACJ;AAAA,MACJ;AAEA,YAAM,EAAE,YAAY,OAAO,MAAM,QAAI,oCAAc,qBAAS,oBAAoB,gBAAgB;AAEhG,YAAM,gBAAY,0BAAW,OAAO;AACpC,2BAAqB,GAAG,KAAK,IAAI,SAAS;AAE1C,0BAAQ,IAAI,MAAM,CAAC,QAAQ,qBAAqB,kBAAkB,KAAK,WAAW;AAElF,gCAA0B,KAAK,IAAI;AAAA,IACvC,CAAC;AACD,UAAM,QAAQ,IAAI,QAAQ;AAE1B,QAAI,0BAA0B,QAAQ;AAClC,gBAAM,gCAAe;AAAA,QACjB;AAAA,QACA,YAAY,0BAA0B,KAAK,EAAE;AAAA,QAC7C;AAAA,QACA;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ,SAAS,OAAY;AACjB,oCAAY,kBAAkB,OAAO,mBAAO;AAAA,EAChD;AACJ;",
6
- "names": ["_a", "error", "text"]
4
+ "sourcesContent": ["import { sendToTelegram, sendToTelegramSubmenu } from './telegram';\nimport { bindingFunc } from './action';\nimport { createKeyboardFromJson, createTextTableFromJson } from './jsonTable';\nimport { processTimeIdLc } from '../lib/utilities';\nimport { isDefined } from '../lib/utils';\nimport { adapter } from '../main';\nimport type { Part, TelegramParams } from '../types/types';\nimport { integrateTimeIntoText } from '../lib/time';\nimport { cleanUpString, decomposeText, getNewline, jsonString } from '../lib/string';\nimport { calcValue, roundValue } from '../lib/appUtils';\nimport { config } from '../config/config';\nimport { errorLogger } from './logging';\nimport { exchangeValue } from '../lib/exchangeValue';\nimport { idBySelector } from './idBySelector';\nimport { isParseModeFirstElement } from './parseMode';\n\nexport async function getState(\n instance: string,\n part: Part,\n userToSend: string,\n telegramParams: TelegramParams,\n): Promise<void> {\n try {\n const parse_mode = isParseModeFirstElement(part);\n const valueArrayForCorrectOrder: string[] = [];\n const promises = (part.getData || []).map(async ({ newline, text, id }, index): Promise<void> => {\n adapter.log.debug(`Get Value ID: ${id}`);\n\n if (id.includes(config.functionSelektor)) {\n await idBySelector({\n instance,\n adapter,\n selector: id,\n text,\n userToSend,\n newline,\n telegramParams,\n });\n return;\n }\n\n if (text.includes(config.binding.start)) {\n await bindingFunc(instance, text, userToSend, telegramParams, parse_mode);\n return;\n }\n\n const state = await adapter.getForeignStateAsync(id);\n\n if (!isDefined(state)) {\n adapter.log.error('The state is empty!');\n valueArrayForCorrectOrder[index] = 'N/A';\n return Promise.resolve();\n }\n\n const stateValue = cleanUpString(state.val?.toString());\n\n let modifiedStateVal = stateValue;\n let modifiedTextToSend = text;\n\n if (text.includes(config.timestamp.ts) || text.includes(config.timestamp.lc)) {\n modifiedTextToSend = await processTimeIdLc(text, id);\n modifiedStateVal = '';\n }\n\n if (modifiedTextToSend.includes(config.time)) {\n modifiedTextToSend = integrateTimeIntoText(modifiedTextToSend, stateValue);\n modifiedStateVal = '';\n }\n\n if (modifiedTextToSend.includes(config.math.start)) {\n const { textToSend, calculated, error } = calcValue(modifiedTextToSend, modifiedStateVal, adapter);\n if (!error) {\n modifiedTextToSend = textToSend;\n modifiedStateVal = calculated;\n\n adapter.log.debug(`textToSend : ${modifiedTextToSend} val : ${modifiedStateVal}`);\n }\n }\n\n if (modifiedTextToSend.includes(config.round.start)) {\n const { error, text, roundedValue } = roundValue(String(modifiedStateVal), modifiedTextToSend);\n if (!error) {\n adapter.log.debug(`Rounded from ${jsonString(modifiedStateVal)} to ${jsonString(roundedValue)}`);\n modifiedStateVal = roundedValue;\n modifiedTextToSend = text;\n }\n }\n\n if (modifiedTextToSend.includes(config.json.start)) {\n const { substring } = decomposeText(modifiedTextToSend, config.json.start, config.json.end);\n\n if (substring.includes(config.json.textTable)) {\n const result = createTextTableFromJson(stateValue, modifiedTextToSend);\n if (result) {\n await sendToTelegram({\n instance,\n userToSend,\n textToSend: result,\n telegramParams,\n parse_mode,\n });\n return;\n }\n adapter.log.debug('Cannot create a Text-Table');\n } else {\n const result = createKeyboardFromJson(stateValue, modifiedTextToSend, id, userToSend);\n if (stateValue && stateValue.length > 0) {\n if (result?.text && result?.keyboard) {\n sendToTelegramSubmenu(\n instance,\n userToSend,\n result.text,\n result.keyboard,\n telegramParams,\n parse_mode,\n );\n }\n return;\n }\n await sendToTelegram({\n instance,\n userToSend,\n textToSend: 'The state is empty!',\n telegramParams,\n parse_mode,\n });\n adapter.log.debug('The state is empty!');\n return;\n }\n }\n\n const { textToSend: _text, error } = exchangeValue(adapter, modifiedTextToSend, modifiedStateVal);\n\n const isNewline = getNewline(newline);\n modifiedTextToSend = `${_text} ${isNewline}`;\n\n adapter.log.debug(!error ? `Value Changed to: ${modifiedTextToSend}` : `No Change`);\n\n valueArrayForCorrectOrder[index] = modifiedTextToSend;\n });\n await Promise.all(promises);\n\n if (valueArrayForCorrectOrder.length) {\n await sendToTelegram({\n instance,\n userToSend,\n textToSend: valueArrayForCorrectOrder.join(''),\n telegramParams,\n parse_mode,\n });\n }\n } catch (error: any) {\n errorLogger('Error GetData:', error, adapter);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["error", "text"]
7
7
  }
@@ -38,7 +38,7 @@ var import_fs = __toESM(require("fs"));
38
38
  var import_logging = require("./logging");
39
39
  var import_utils = require("../lib/utils");
40
40
  var import_main = require("../main");
41
- async function httpRequest(parts, userToSend, telegramParams, directoryPicture) {
41
+ async function httpRequest(instance, parts, userToSend, telegramParams, directoryPicture) {
42
42
  if (!parts.httpRequest) {
43
43
  return;
44
44
  }
@@ -67,6 +67,7 @@ async function httpRequest(parts, userToSend, telegramParams, directoryPicture)
67
67
  import_fs.default.writeFileSync(imagePath, Buffer.from(response.data), "binary");
68
68
  import_main.adapter.log.debug(`Pic saved : ${imagePath}`);
69
69
  await (0, import_telegram.sendToTelegram)({
70
+ instance,
70
71
  userToSend,
71
72
  textToSend: imagePath,
72
73
  telegramParams
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app/httpRequest.ts"],
4
- "sourcesContent": ["import axios from 'axios';\nimport { sendToTelegram } from './telegram';\nimport path from 'path';\nimport fs from 'fs';\nimport { errorLogger } from './logging';\nimport type { Part, TelegramParams } from '../types/types';\nimport { validateDirectory } from '../lib/utils';\nimport { adapter } from '../main';\n\nasync function httpRequest(\n parts: Part,\n userToSend: string,\n telegramParams: TelegramParams,\n directoryPicture: string,\n): Promise<boolean | undefined> {\n if (!parts.httpRequest) {\n return;\n }\n for (const { url, password, user: username, filename } of parts.httpRequest) {\n adapter.log.debug(`URL : ${url}`);\n\n try {\n //prettier-ignore\n\n const response = await axios(\n username && password\n ? {\n method: 'get',\n url,\n responseType: 'arraybuffer',\n auth: {\n username,\n password,\n },\n }\n : {\n method: 'get',\n url,\n responseType: 'arraybuffer',\n },\n );\n\n if (!validateDirectory(adapter, directoryPicture)) {\n return;\n }\n const imagePath = path.join(directoryPicture, filename);\n\n fs.writeFileSync(imagePath, Buffer.from(response.data), 'binary');\n adapter.log.debug(`Pic saved : ${imagePath}`);\n\n await sendToTelegram({\n userToSend,\n textToSend: imagePath,\n telegramParams,\n });\n } catch (e: any) {\n errorLogger('Error http request:', e, adapter);\n }\n }\n return true;\n}\n\nexport { httpRequest };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,sBAA+B;AAC/B,kBAAiB;AACjB,gBAAe;AACf,qBAA4B;AAE5B,mBAAkC;AAClC,kBAAwB;AAExB,eAAe,YACX,OACA,YACA,gBACA,kBAC4B;AAC5B,MAAI,CAAC,MAAM,aAAa;AACpB;AAAA,EACJ;AACA,aAAW,EAAE,KAAK,UAAU,MAAM,UAAU,SAAS,KAAK,MAAM,aAAa;AACzE,wBAAQ,IAAI,MAAM,SAAS,GAAG,EAAE;AAEhC,QAAI;AAGA,YAAM,WAAW,UAAM,aAAAA;AAAA,QACnB,YAAY,WACN;AAAA,UACI,QAAQ;AAAA,UACR;AAAA,UACA,cAAc;AAAA,UACd,MAAM;AAAA,YACF;AAAA,YACA;AAAA,UACJ;AAAA,QACJ,IACA;AAAA,UACI,QAAQ;AAAA,UACR;AAAA,UACA,cAAc;AAAA,QAClB;AAAA,MACV;AAEA,UAAI,KAAC,gCAAkB,qBAAS,gBAAgB,GAAG;AAC/C;AAAA,MACJ;AACA,YAAM,YAAY,YAAAC,QAAK,KAAK,kBAAkB,QAAQ;AAEtD,gBAAAC,QAAG,cAAc,WAAW,OAAO,KAAK,SAAS,IAAI,GAAG,QAAQ;AAChE,0BAAQ,IAAI,MAAM,eAAe,SAAS,EAAE;AAE5C,gBAAM,gCAAe;AAAA,QACjB;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,GAAQ;AACb,sCAAY,uBAAuB,GAAG,mBAAO;AAAA,IACjD;AAAA,EACJ;AACA,SAAO;AACX;",
4
+ "sourcesContent": ["import axios from 'axios';\nimport { sendToTelegram } from './telegram';\nimport path from 'path';\nimport fs from 'fs';\nimport { errorLogger } from './logging';\nimport type { Part, TelegramParams } from '../types/types';\nimport { validateDirectory } from '../lib/utils';\nimport { adapter } from '../main';\n\nasync function httpRequest(\n instance: string,\n parts: Part,\n userToSend: string,\n telegramParams: TelegramParams,\n directoryPicture: string,\n): Promise<boolean | undefined> {\n if (!parts.httpRequest) {\n return;\n }\n for (const { url, password, user: username, filename } of parts.httpRequest) {\n adapter.log.debug(`URL : ${url}`);\n\n try {\n //prettier-ignore\n\n const response = await axios(\n username && password\n ? {\n method: 'get',\n url,\n responseType: 'arraybuffer',\n auth: {\n username,\n password,\n },\n }\n : {\n method: 'get',\n url,\n responseType: 'arraybuffer',\n },\n );\n\n if (!validateDirectory(adapter, directoryPicture)) {\n return;\n }\n const imagePath = path.join(directoryPicture, filename);\n\n fs.writeFileSync(imagePath, Buffer.from(response.data), 'binary');\n adapter.log.debug(`Pic saved : ${imagePath}`);\n\n await sendToTelegram({\n instance,\n userToSend,\n textToSend: imagePath,\n telegramParams,\n });\n } catch (e: any) {\n errorLogger('Error http request:', e, adapter);\n }\n }\n return true;\n}\n\nexport { httpRequest };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,sBAA+B;AAC/B,kBAAiB;AACjB,gBAAe;AACf,qBAA4B;AAE5B,mBAAkC;AAClC,kBAAwB;AAExB,eAAe,YACX,UACA,OACA,YACA,gBACA,kBAC4B;AAC5B,MAAI,CAAC,MAAM,aAAa;AACpB;AAAA,EACJ;AACA,aAAW,EAAE,KAAK,UAAU,MAAM,UAAU,SAAS,KAAK,MAAM,aAAa;AACzE,wBAAQ,IAAI,MAAM,SAAS,GAAG,EAAE;AAEhC,QAAI;AAGA,YAAM,WAAW,UAAM,aAAAA;AAAA,QACnB,YAAY,WACN;AAAA,UACI,QAAQ;AAAA,UACR;AAAA,UACA,cAAc;AAAA,UACd,MAAM;AAAA,YACF;AAAA,YACA;AAAA,UACJ;AAAA,QACJ,IACA;AAAA,UACI,QAAQ;AAAA,UACR;AAAA,UACA,cAAc;AAAA,QAClB;AAAA,MACV;AAEA,UAAI,KAAC,gCAAkB,qBAAS,gBAAgB,GAAG;AAC/C;AAAA,MACJ;AACA,YAAM,YAAY,YAAAC,QAAK,KAAK,kBAAkB,QAAQ;AAEtD,gBAAAC,QAAG,cAAc,WAAW,OAAO,KAAK,SAAS,IAAI,GAAG,QAAQ;AAChE,0BAAQ,IAAI,MAAM,eAAe,SAAS,EAAE;AAE5C,gBAAM,gCAAe;AAAA,QACjB;AAAA,QACA;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,GAAQ;AACb,sCAAY,uBAAuB,GAAG,mBAAO;AAAA,IACjD;AAAA,EACJ;AACA,SAAO;AACX;",
6
6
  "names": ["axios", "path", "fs"]
7
7
  }
@@ -27,6 +27,7 @@ var import_string = require("../lib/string");
27
27
  var import_telegram = require("./telegram");
28
28
  var import_logging = require("./logging");
29
29
  const idBySelector = async ({
30
+ instance,
30
31
  adapter,
31
32
  selector,
32
33
  text,
@@ -66,6 +67,7 @@ const idBySelector = async ({
66
67
  });
67
68
  Promise.all(promises).then(async () => {
68
69
  await (0, import_telegram.sendToTelegram)({
70
+ instance,
69
71
  userToSend,
70
72
  textToSend: text2Send,
71
73
  telegramParams
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app/idBySelector.ts"],
4
- "sourcesContent": ["import type { TelegramParams } from '../types/types';\nimport { config } from '../config/config';\nimport type TelegramMenu from '../main';\nimport { exchangeValue } from '../lib/exchangeValue';\nimport { getNewline } from '../lib/string';\nimport { sendToTelegram } from './telegram';\nimport { errorLogger } from './logging';\nimport type { BooleanString } from '@/types/app';\n\nexport const idBySelector = async ({\n adapter,\n selector,\n text,\n userToSend,\n newline,\n telegramParams,\n}: {\n adapter: TelegramMenu;\n selector: string;\n text: string;\n userToSend: string;\n newline: BooleanString;\n telegramParams: TelegramParams;\n}): Promise<void> => {\n let text2Send = '';\n try {\n const functions = selector.replace(config.functionSelektor, '');\n let enums: string[] | undefined = [];\n const result = await adapter.getEnumsAsync();\n const enumsFunctions = result?.['enum.functions'][`enum.functions.${functions}`];\n if (!enumsFunctions) {\n return;\n }\n enums = enumsFunctions.common.members;\n if (!enums) {\n return;\n }\n\n const promises = enums.map(async (id: string) => {\n const value = await adapter.getForeignStateAsync(id);\n\n let newText = text;\n\n if (text.includes('{common.name}')) {\n const result = await adapter.getForeignObjectAsync(id);\n newText = newText.replace('{common.name}', getCommonName({ name: result?.common.name, adapter }));\n }\n if (text.includes('{folder.name}')) {\n const result = await adapter.getForeignObjectAsync(removeLastPartOfId(id));\n newText = newText.replace('{folder.name}', getCommonName({ name: result?.common.name, adapter }));\n }\n\n const { textToSend } = exchangeValue(adapter, newText, value?.val ?? '');\n\n text2Send += textToSend;\n text2Send += getNewline(newline);\n\n adapter.log.debug(`Text to send: ${JSON.stringify(text2Send)}`);\n });\n Promise.all(promises)\n .then(async () => {\n await sendToTelegram({\n userToSend,\n textToSend: text2Send,\n telegramParams,\n });\n })\n .catch(e => {\n errorLogger('Error Promise', e, adapter);\n });\n } catch (error: any) {\n errorLogger('Error idBySelector', error, adapter);\n }\n};\n\nfunction getCommonName({ name, adapter }: { name?: ioBroker.StringOrTranslated; adapter: TelegramMenu }): string {\n const language = adapter.language ?? 'en';\n if (!name) {\n return '';\n }\n if (typeof name === 'string') {\n return name;\n }\n if (language) {\n return name[language] ?? '';\n }\n return '';\n}\n\nfunction removeLastPartOfId(id: string): string {\n const parts = id.split('.');\n parts.pop();\n return parts.join('.');\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAuB;AAEvB,2BAA8B;AAC9B,oBAA2B;AAC3B,sBAA+B;AAC/B,qBAA4B;AAGrB,MAAM,eAAe,OAAO;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAOqB;AACjB,MAAI,YAAY;AAChB,MAAI;AACA,UAAM,YAAY,SAAS,QAAQ,qBAAO,kBAAkB,EAAE;AAC9D,QAAI,QAA8B,CAAC;AACnC,UAAM,SAAS,MAAM,QAAQ,cAAc;AAC3C,UAAM,iBAAiB,iCAAS,kBAAkB,kBAAkB,SAAS;AAC7E,QAAI,CAAC,gBAAgB;AACjB;AAAA,IACJ;AACA,YAAQ,eAAe,OAAO;AAC9B,QAAI,CAAC,OAAO;AACR;AAAA,IACJ;AAEA,UAAM,WAAW,MAAM,IAAI,OAAO,OAAe;AAtCzD;AAuCY,YAAM,QAAQ,MAAM,QAAQ,qBAAqB,EAAE;AAEnD,UAAI,UAAU;AAEd,UAAI,KAAK,SAAS,eAAe,GAAG;AAChC,cAAMA,UAAS,MAAM,QAAQ,sBAAsB,EAAE;AACrD,kBAAU,QAAQ,QAAQ,iBAAiB,cAAc,EAAE,MAAMA,WAAA,gBAAAA,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,MACpG;AACA,UAAI,KAAK,SAAS,eAAe,GAAG;AAChC,cAAMA,UAAS,MAAM,QAAQ,sBAAsB,mBAAmB,EAAE,CAAC;AACzE,kBAAU,QAAQ,QAAQ,iBAAiB,cAAc,EAAE,MAAMA,WAAA,gBAAAA,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,MACpG;AAEA,YAAM,EAAE,WAAW,QAAI,oCAAc,SAAS,UAAS,oCAAO,QAAP,YAAc,EAAE;AAEvE,mBAAa;AACb,uBAAa,0BAAW,OAAO;AAE/B,cAAQ,IAAI,MAAM,kBAAkB,KAAK,UAAU,SAAS,CAAC,EAAE;AAAA,IACnE,CAAC;AACD,YAAQ,IAAI,QAAQ,EACf,KAAK,YAAY;AACd,gBAAM,gCAAe;AAAA,QACjB;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,MACJ,CAAC;AAAA,IACL,CAAC,EACA,MAAM,OAAK;AACR,sCAAY,iBAAiB,GAAG,OAAO;AAAA,IAC3C,CAAC;AAAA,EACT,SAAS,OAAY;AACjB,oCAAY,sBAAsB,OAAO,OAAO;AAAA,EACpD;AACJ;AAEA,SAAS,cAAc,EAAE,MAAM,QAAQ,GAA0E;AA3EjH;AA4EI,QAAM,YAAW,aAAQ,aAAR,YAAoB;AACrC,MAAI,CAAC,MAAM;AACP,WAAO;AAAA,EACX;AACA,MAAI,OAAO,SAAS,UAAU;AAC1B,WAAO;AAAA,EACX;AACA,MAAI,UAAU;AACV,YAAO,UAAK,QAAQ,MAAb,YAAkB;AAAA,EAC7B;AACA,SAAO;AACX;AAEA,SAAS,mBAAmB,IAAoB;AAC5C,QAAM,QAAQ,GAAG,MAAM,GAAG;AAC1B,QAAM,IAAI;AACV,SAAO,MAAM,KAAK,GAAG;AACzB;",
4
+ "sourcesContent": ["import type { TelegramParams } from '../types/types';\nimport { config } from '../config/config';\nimport type TelegramMenu from '../main';\nimport { exchangeValue } from '../lib/exchangeValue';\nimport { getNewline } from '../lib/string';\nimport { sendToTelegram } from './telegram';\nimport { errorLogger } from './logging';\nimport type { BooleanString } from '@/types/app';\n\nexport const idBySelector = async ({\n instance,\n adapter,\n selector,\n text,\n userToSend,\n newline,\n telegramParams,\n}: {\n adapter: TelegramMenu;\n selector: string;\n text: string;\n userToSend: string;\n newline: BooleanString;\n telegramParams: TelegramParams;\n instance: string;\n}): Promise<void> => {\n let text2Send = '';\n try {\n const functions = selector.replace(config.functionSelektor, '');\n let enums: string[] | undefined = [];\n const result = await adapter.getEnumsAsync();\n const enumsFunctions = result?.['enum.functions'][`enum.functions.${functions}`];\n if (!enumsFunctions) {\n return;\n }\n enums = enumsFunctions.common.members;\n if (!enums) {\n return;\n }\n\n const promises = enums.map(async (id: string) => {\n const value = await adapter.getForeignStateAsync(id);\n\n let newText = text;\n\n if (text.includes('{common.name}')) {\n const result = await adapter.getForeignObjectAsync(id);\n newText = newText.replace('{common.name}', getCommonName({ name: result?.common.name, adapter }));\n }\n if (text.includes('{folder.name}')) {\n const result = await adapter.getForeignObjectAsync(removeLastPartOfId(id));\n newText = newText.replace('{folder.name}', getCommonName({ name: result?.common.name, adapter }));\n }\n\n const { textToSend } = exchangeValue(adapter, newText, value?.val ?? '');\n\n text2Send += textToSend;\n text2Send += getNewline(newline);\n\n adapter.log.debug(`Text to send: ${JSON.stringify(text2Send)}`);\n });\n Promise.all(promises)\n .then(async () => {\n await sendToTelegram({\n instance,\n userToSend,\n textToSend: text2Send,\n telegramParams,\n });\n })\n .catch(e => {\n errorLogger('Error Promise', e, adapter);\n });\n } catch (error: any) {\n errorLogger('Error idBySelector', error, adapter);\n }\n};\n\nfunction getCommonName({ name, adapter }: { name?: ioBroker.StringOrTranslated; adapter: TelegramMenu }): string {\n const language = adapter.language ?? 'en';\n if (!name) {\n return '';\n }\n if (typeof name === 'string') {\n return name;\n }\n if (language) {\n return name[language] ?? '';\n }\n return '';\n}\n\nfunction removeLastPartOfId(id: string): string {\n const parts = id.split('.');\n parts.pop();\n return parts.join('.');\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAuB;AAEvB,2BAA8B;AAC9B,oBAA2B;AAC3B,sBAA+B;AAC/B,qBAA4B;AAGrB,MAAM,eAAe,OAAO;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAQqB;AACjB,MAAI,YAAY;AAChB,MAAI;AACA,UAAM,YAAY,SAAS,QAAQ,qBAAO,kBAAkB,EAAE;AAC9D,QAAI,QAA8B,CAAC;AACnC,UAAM,SAAS,MAAM,QAAQ,cAAc;AAC3C,UAAM,iBAAiB,iCAAS,kBAAkB,kBAAkB,SAAS;AAC7E,QAAI,CAAC,gBAAgB;AACjB;AAAA,IACJ;AACA,YAAQ,eAAe,OAAO;AAC9B,QAAI,CAAC,OAAO;AACR;AAAA,IACJ;AAEA,UAAM,WAAW,MAAM,IAAI,OAAO,OAAe;AAxCzD;AAyCY,YAAM,QAAQ,MAAM,QAAQ,qBAAqB,EAAE;AAEnD,UAAI,UAAU;AAEd,UAAI,KAAK,SAAS,eAAe,GAAG;AAChC,cAAMA,UAAS,MAAM,QAAQ,sBAAsB,EAAE;AACrD,kBAAU,QAAQ,QAAQ,iBAAiB,cAAc,EAAE,MAAMA,WAAA,gBAAAA,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,MACpG;AACA,UAAI,KAAK,SAAS,eAAe,GAAG;AAChC,cAAMA,UAAS,MAAM,QAAQ,sBAAsB,mBAAmB,EAAE,CAAC;AACzE,kBAAU,QAAQ,QAAQ,iBAAiB,cAAc,EAAE,MAAMA,WAAA,gBAAAA,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,MACpG;AAEA,YAAM,EAAE,WAAW,QAAI,oCAAc,SAAS,UAAS,oCAAO,QAAP,YAAc,EAAE;AAEvE,mBAAa;AACb,uBAAa,0BAAW,OAAO;AAE/B,cAAQ,IAAI,MAAM,kBAAkB,KAAK,UAAU,SAAS,CAAC,EAAE;AAAA,IACnE,CAAC;AACD,YAAQ,IAAI,QAAQ,EACf,KAAK,YAAY;AACd,gBAAM,gCAAe;AAAA,QACjB;AAAA,QACA;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,MACJ,CAAC;AAAA,IACL,CAAC,EACA,MAAM,OAAK;AACR,sCAAY,iBAAiB,GAAG,OAAO;AAAA,IAC3C,CAAC;AAAA,EACT,SAAS,OAAY;AACjB,oCAAY,sBAAsB,OAAO,OAAO;AAAA,EACpD;AACJ;AAEA,SAAS,cAAc,EAAE,MAAM,QAAQ,GAA0E;AA9EjH;AA+EI,QAAM,YAAW,aAAQ,aAAR,YAAoB;AACrC,MAAI,CAAC,MAAM;AACP,WAAO;AAAA,EACX;AACA,MAAI,OAAO,SAAS,UAAU;AAC1B,WAAO;AAAA,EACX;AACA,MAAI,UAAU;AACV,YAAO,UAAK,QAAQ,MAAb,YAAkB;AAAA,EAC7B;AACA,SAAO;AACX;AAEA,SAAS,mBAAmB,IAAoB;AAC5C,QAAM,QAAQ,GAAG,MAAM,GAAG;AAC1B,QAAM,IAAI;AACV,SAAO,MAAM,KAAK,GAAG;AACzB;",
6
6
  "names": ["result"]
7
7
  }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var instance_exports = {};
20
+ __export(instance_exports, {
21
+ isInstanceActive: () => isInstanceActive
22
+ });
23
+ module.exports = __toCommonJS(instance_exports);
24
+ const isInstanceActive = (telegramInstanceList, instance) => {
25
+ var _a, _b;
26
+ return (_b = (_a = telegramInstanceList.find((i) => i.name === instance)) == null ? void 0 : _a.active) != null ? _b : false;
27
+ };
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ isInstanceActive
31
+ });
32
+ //# sourceMappingURL=instance.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/app/instance.ts"],
4
+ "sourcesContent": ["import type { InstanceList } from '../types/types';\n\nexport const isInstanceActive = (telegramInstanceList: InstanceList[], instance: string): boolean =>\n telegramInstanceList.find(i => i.name === instance)?.active ?? false;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,mBAAmB,CAAC,sBAAsC,aAA2B;AAFlG;AAGI,0CAAqB,KAAK,OAAK,EAAE,SAAS,QAAQ,MAAlD,mBAAqD,WAArD,YAA+D;AAAA;",
6
+ "names": []
7
+ }
@@ -68,7 +68,7 @@ const createKeyboardFromJson = (val, text, id, user) => {
68
68
  }
69
69
  if (idShoppingList) {
70
70
  const value = element.buttondelete;
71
- const valueDeleteLinkArray = (0, import_string.decomposeText)(value, "('", "')").substring.replace("('", "").replace(",true')", "").split(".");
71
+ const valueDeleteLinkArray = (0, import_string.decomposeText)(value != null ? value : "", "('", "')").substring.replace("('", "").replace(",true')", "").split(".");
72
72
  const instanceAlexa = valueDeleteLinkArray[1];
73
73
  const valueDeleteId = valueDeleteLinkArray[5];
74
74
  const instanceShoppingListID = `${id.split(".")[1]}.${id.split(".")[2]}`;