iobroker.telegram-menu 2.2.4 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/README.md +12 -0
  2. package/admin/build/index.js +49 -49
  3. package/admin/build/index.js.map +3 -3
  4. package/admin/css/button.css +3 -0
  5. package/admin/css/row-editor.css +1 -1
  6. package/admin/css/style.css +46 -25
  7. package/admin/css/textarea.css +7 -11
  8. package/admin/i18n/de/translations.json +124 -123
  9. package/admin/i18n/en/translations.json +3 -2
  10. package/admin/i18n/es/translations.json +3 -2
  11. package/admin/i18n/fr/translations.json +3 -2
  12. package/admin/i18n/it/translations.json +3 -2
  13. package/admin/i18n/nl/translations.json +3 -2
  14. package/admin/i18n/pl/translations.json +3 -2
  15. package/admin/i18n/pt/translations.json +3 -2
  16. package/admin/i18n/ru/translations.json +3 -2
  17. package/admin/i18n/uk/translations.json +3 -2
  18. package/admin/i18n/zh-cn/translations.json +3 -2
  19. package/admin/words.js +3 -1
  20. package/build/admin/src/config/helper.js +178 -0
  21. package/build/admin/src/config/helper.js.map +1 -0
  22. package/build/admin/src/lib/Utils.js +64 -0
  23. package/build/admin/src/lib/Utils.js.map +1 -0
  24. package/build/admin/src/types/event.js +3 -0
  25. package/build/admin/src/types/event.js.map +1 -0
  26. package/build/app/action.js +270 -0
  27. package/build/app/action.js.map +7 -0
  28. package/build/app/adapterManager.js +36 -0
  29. package/build/app/adapterManager.js.map +7 -0
  30. package/build/app/adapterStartMenuSend.js +59 -0
  31. package/build/app/adapterStartMenuSend.js.map +7 -0
  32. package/build/app/backMenu.js +110 -0
  33. package/build/app/backMenu.js.map +7 -0
  34. package/build/app/botAction.js +47 -0
  35. package/build/app/botAction.js.map +7 -0
  36. package/build/app/configVariables.js +56 -0
  37. package/build/app/configVariables.js.map +7 -0
  38. package/build/app/connection.js +42 -0
  39. package/build/app/connection.js.map +7 -0
  40. package/build/app/createState.js +42 -0
  41. package/build/app/createState.js.map +7 -0
  42. package/build/app/dynamicSwitch.js +69 -0
  43. package/build/app/dynamicSwitch.js.map +7 -0
  44. package/build/app/dynamicSwitchMenu.js +69 -0
  45. package/build/app/dynamicSwitchMenu.js.map +7 -0
  46. package/build/app/dynamicValue.js +80 -0
  47. package/build/app/dynamicValue.js.map +7 -0
  48. package/build/app/echarts.js +60 -0
  49. package/build/app/echarts.js.map +7 -0
  50. package/build/app/getstate.js +148 -0
  51. package/build/app/getstate.js.map +7 -0
  52. package/build/app/global.js +2 -0
  53. package/build/app/global.js.map +7 -0
  54. package/build/app/httpRequest.js +84 -0
  55. package/build/app/httpRequest.js.map +7 -0
  56. package/build/app/jsonTable.js +158 -0
  57. package/build/app/jsonTable.js.map +7 -0
  58. package/build/app/logging.js +46 -0
  59. package/build/app/logging.js.map +7 -0
  60. package/build/app/messageIds.js +116 -0
  61. package/build/app/messageIds.js.map +7 -0
  62. package/build/app/processData.js +198 -0
  63. package/build/app/processData.js.map +7 -0
  64. package/build/app/sendNav.js +49 -0
  65. package/build/app/sendNav.js.map +7 -0
  66. package/build/app/sendpic.js +95 -0
  67. package/build/app/sendpic.js.map +7 -0
  68. package/build/app/sentry.js +43 -0
  69. package/build/app/sentry.js.map +7 -0
  70. package/build/app/setStateIdsToListenTo.js +42 -0
  71. package/build/app/setStateIdsToListenTo.js.map +7 -0
  72. package/build/app/setstate.js +145 -0
  73. package/build/app/setstate.js.map +7 -0
  74. package/build/app/shoppingList.js +97 -0
  75. package/build/app/shoppingList.js.map +7 -0
  76. package/build/app/subMenu.js +281 -0
  77. package/build/app/subMenu.js.map +7 -0
  78. package/build/app/subscribeStates.js +41 -0
  79. package/build/app/subscribeStates.js.map +7 -0
  80. package/build/app/telegram.js +131 -0
  81. package/build/app/telegram.js.map +7 -0
  82. package/build/app/validateMenus.js +64 -0
  83. package/build/app/validateMenus.js.map +7 -0
  84. package/build/build/src/app/action.js +447 -0
  85. package/build/build/src/app/adapterStartMenuSend.js +37 -0
  86. package/build/build/src/app/backMenu.js +70 -0
  87. package/build/build/src/app/botAction.js +25 -0
  88. package/build/build/src/app/connection.js +19 -0
  89. package/build/build/src/app/createState.js +19 -0
  90. package/build/build/src/app/dynamicSwitch.js +51 -0
  91. package/build/build/src/app/dynamicValue.js +64 -0
  92. package/build/build/src/app/echarts.js +45 -0
  93. package/build/build/src/app/getstate.js +157 -0
  94. package/build/build/src/app/global.js +59 -0
  95. package/build/build/src/app/httpRequest.js +64 -0
  96. package/build/build/src/app/jsonTable.js +147 -0
  97. package/build/build/src/app/logging.js +13 -0
  98. package/build/build/src/app/messageIds.js +88 -0
  99. package/build/build/src/app/processData.js +208 -0
  100. package/build/build/src/app/sendNav.js +30 -0
  101. package/build/build/src/app/sendpic.js +69 -0
  102. package/build/build/src/app/setstate.js +126 -0
  103. package/build/build/src/app/shoppingList.js +72 -0
  104. package/build/build/src/app/subMenu.js +361 -0
  105. package/build/build/src/app/subscribeStates.js +25 -0
  106. package/build/build/src/app/telegram.js +101 -0
  107. package/build/build/src/lib/string.js +28 -0
  108. package/build/build/src/lib/time.js +23 -0
  109. package/build/build/src/lib/utilities.js +263 -0
  110. package/build/build/src/lib/utils.js +13 -0
  111. package/build/build/src/main.js +402 -0
  112. package/build/config/config.js +134 -0
  113. package/build/config/config.js.map +7 -0
  114. package/build/io-package.json +87 -87
  115. package/build/lib/action.js +1 -3
  116. package/build/lib/action.js.map +2 -2
  117. package/build/lib/adapterStartMenuSend.js.map +1 -1
  118. package/build/lib/appUtils.js +158 -0
  119. package/build/lib/appUtils.js.map +7 -0
  120. package/build/lib/appUtilsString.js +37 -0
  121. package/build/lib/appUtilsString.js.map +7 -0
  122. package/build/lib/backMenu.js.map +2 -2
  123. package/build/lib/botAction.js.map +1 -1
  124. package/build/lib/dynamicSwitch.js.map +1 -1
  125. package/build/lib/dynamicValue.js.map +1 -1
  126. package/build/lib/echarts.js.map +1 -1
  127. package/build/lib/getstate.js.map +1 -1
  128. package/build/lib/global.js.map +1 -1
  129. package/build/lib/httpRequest.js.map +1 -1
  130. package/build/lib/json.js +54 -0
  131. package/build/lib/json.js.map +7 -0
  132. package/build/lib/jsonTable.js.map +1 -1
  133. package/build/lib/math.js +41 -0
  134. package/build/lib/math.js.map +7 -0
  135. package/build/lib/messageIds.js.map +1 -1
  136. package/build/lib/object.js +35 -0
  137. package/build/lib/object.js.map +7 -0
  138. package/build/lib/processData.js +4 -18
  139. package/build/lib/processData.js.map +3 -3
  140. package/build/lib/sendNav.js.map +1 -1
  141. package/build/lib/sendpic.js +23 -22
  142. package/build/lib/sendpic.js.map +2 -2
  143. package/build/lib/setstate.js.map +1 -1
  144. package/build/lib/shoppingList.js.map +1 -1
  145. package/build/lib/splitValues.js +63 -0
  146. package/build/lib/splitValues.js.map +7 -0
  147. package/build/lib/string.js +125 -3
  148. package/build/lib/string.js.map +2 -2
  149. package/build/lib/subMenu.js +1 -2
  150. package/build/lib/subMenu.js.map +2 -2
  151. package/build/lib/subscribeStates.js.map +1 -1
  152. package/build/lib/telegram.js.map +1 -1
  153. package/build/lib/time.js +93 -0
  154. package/build/lib/time.js.map +7 -0
  155. package/build/lib/utilities.js +84 -281
  156. package/build/lib/utilities.js.map +3 -3
  157. package/build/lib/utils.js +66 -0
  158. package/build/lib/utils.js.map +7 -0
  159. package/build/main.js +151 -233
  160. package/build/main.js.map +3 -3
  161. package/build/src/app/action.js +239 -0
  162. package/build/src/app/action.js.map +1 -0
  163. package/build/src/app/adapterManager.js +12 -0
  164. package/build/src/app/adapterManager.js.map +1 -0
  165. package/build/src/app/adapterStartMenuSend.js +36 -0
  166. package/build/src/app/adapterStartMenuSend.js.map +1 -0
  167. package/build/src/app/backMenu.js +81 -0
  168. package/build/src/app/backMenu.js.map +1 -0
  169. package/build/src/app/botAction.js +25 -0
  170. package/build/src/app/botAction.js.map +1 -0
  171. package/build/src/app/configVariables.js +32 -0
  172. package/build/src/app/configVariables.js.map +1 -0
  173. package/build/src/app/connection.js +20 -0
  174. package/build/src/app/connection.js.map +1 -0
  175. package/build/src/app/createState.js +19 -0
  176. package/build/src/app/createState.js.map +1 -0
  177. package/build/src/app/dynamicSwitch.js +52 -0
  178. package/build/src/app/dynamicSwitch.js.map +1 -0
  179. package/build/src/app/dynamicSwitchMenu.js +52 -0
  180. package/build/src/app/dynamicSwitchMenu.js.map +1 -0
  181. package/build/src/app/dynamicValue.js +52 -0
  182. package/build/src/app/dynamicValue.js.map +1 -0
  183. package/build/src/app/echarts.js +33 -0
  184. package/build/src/app/echarts.js.map +1 -0
  185. package/build/src/app/getstate.js +122 -0
  186. package/build/src/app/getstate.js.map +1 -0
  187. package/build/src/app/global.js +8 -0
  188. package/build/src/app/global.js.map +1 -0
  189. package/build/src/app/httpRequest.js +55 -0
  190. package/build/src/app/httpRequest.js.map +1 -0
  191. package/build/src/app/jsonTable.js +147 -0
  192. package/build/src/app/jsonTable.js.map +1 -0
  193. package/build/src/app/logging.js +22 -0
  194. package/build/src/app/logging.js.map +1 -0
  195. package/build/src/app/messageIds.js +89 -0
  196. package/build/src/app/messageIds.js.map +1 -0
  197. package/build/src/app/processData.js +153 -0
  198. package/build/src/app/processData.js.map +1 -0
  199. package/build/src/app/sendNav.js +26 -0
  200. package/build/src/app/sendNav.js.map +1 -0
  201. package/build/src/app/sendpic.js +66 -0
  202. package/build/src/app/sendpic.js.map +1 -0
  203. package/build/src/app/sentry.js +18 -0
  204. package/build/src/app/sentry.js.map +1 -0
  205. package/build/src/app/setStateIdsToListenTo.js +17 -0
  206. package/build/src/app/setStateIdsToListenTo.js.map +1 -0
  207. package/build/src/app/setstate.js +114 -0
  208. package/build/src/app/setstate.js.map +1 -0
  209. package/build/src/app/shoppingList.js +74 -0
  210. package/build/src/app/shoppingList.js.map +1 -0
  211. package/build/src/app/subMenu.js +237 -0
  212. package/build/src/app/subMenu.js.map +1 -0
  213. package/build/src/app/subscribeStates.js +17 -0
  214. package/build/src/app/subscribeStates.js.map +1 -0
  215. package/build/src/app/telegram.js +83 -0
  216. package/build/src/app/telegram.js.map +1 -0
  217. package/build/src/app/validateMenus.js +30 -0
  218. package/build/src/app/validateMenus.js.map +1 -0
  219. package/build/src/config/config.js +100 -0
  220. package/build/src/config/config.js.map +1 -0
  221. package/build/src/lib/appUtils.js +126 -0
  222. package/build/src/lib/appUtils.js.map +1 -0
  223. package/build/src/lib/appUtilsString.js +13 -0
  224. package/build/src/lib/appUtilsString.js.map +1 -0
  225. package/build/src/lib/json.js +37 -0
  226. package/build/src/lib/json.js.map +1 -0
  227. package/build/src/lib/math.js +17 -0
  228. package/build/src/lib/math.js.map +1 -0
  229. package/build/src/lib/object.js +10 -0
  230. package/build/src/lib/object.js.map +1 -0
  231. package/build/src/lib/splitValues.js +35 -0
  232. package/build/src/lib/splitValues.js.map +1 -0
  233. package/build/src/lib/string.js +121 -0
  234. package/build/src/lib/string.js.map +1 -0
  235. package/build/src/lib/time.js +57 -0
  236. package/build/src/lib/time.js.map +1 -0
  237. package/build/src/lib/utilities.js +111 -0
  238. package/build/src/lib/utilities.js.map +1 -0
  239. package/build/src/lib/utils.js +37 -0
  240. package/build/src/lib/utils.js.map +1 -0
  241. package/build/src/main.js +332 -0
  242. package/build/src/main.js.map +1 -0
  243. package/build/src/test/setup.js +12 -0
  244. package/build/src/test/setup.js.map +1 -0
  245. package/build/src/types/types.js +3 -0
  246. package/build/src/types/types.js.map +1 -0
  247. package/build/test/integration.js +0 -1
  248. package/build/test/integration.js.map +1 -1
  249. package/build/test/mocha.setup.js +0 -1
  250. package/build/test/mocha.setup.js.map +1 -1
  251. package/build/test/package.js +0 -1
  252. package/build/test/package.js.map +1 -1
  253. package/build/test/setup.js +12 -0
  254. package/build/test/setup.js.map +1 -0
  255. package/build/test/test/appUtils.test.js +507 -0
  256. package/build/test/test/appUtils.test.js.map +1 -0
  257. package/build/test/test/appUtilsString.test.js +16 -0
  258. package/build/test/test/appUtilsString.test.js.map +1 -0
  259. package/build/test/test/math.test.js +33 -0
  260. package/build/test/test/math.test.js.map +1 -0
  261. package/build/test/test/object.test.js +54 -0
  262. package/build/test/test/object.test.js.map +1 -0
  263. package/build/test/test/string.test.js +361 -0
  264. package/build/test/test/string.test.js.map +1 -0
  265. package/build/test/test/time.test.js +201 -0
  266. package/build/test/test/time.test.js.map +1 -0
  267. package/build/test/test/utils.test.js +115 -0
  268. package/build/test/test/utils.test.js.map +1 -0
  269. package/build/types/types.js +15 -0
  270. package/build/types/types.js.map +3 -3
  271. package/io-package.json +19 -14
  272. package/package.json +14 -10
  273. package/build/main.test.js +0 -24
  274. package/build/main.test.js.map +0 -1
@@ -0,0 +1,134 @@
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 config_exports = {};
20
+ __export(config_exports, {
21
+ arrayOfEntries: () => arrayOfEntries,
22
+ backMenuLength: () => backMenuLength,
23
+ config: () => config,
24
+ defaultLocale: () => defaultLocale,
25
+ defaultTelegramInstance: () => defaultTelegramInstance,
26
+ timezone: () => timezone
27
+ });
28
+ module.exports = __toCommonJS(config_exports);
29
+ const defaultLocale = "de-DE";
30
+ const timezone = "Europe/Berlin";
31
+ const defaultTelegramInstance = "telegram.0";
32
+ const backMenuLength = 20;
33
+ const config = {
34
+ time: "{time}",
35
+ change: {
36
+ start: "change{",
37
+ end: "}",
38
+ command: "change"
39
+ },
40
+ rowSplitter: "&&",
41
+ math: {
42
+ start: "{math:",
43
+ end: "}"
44
+ },
45
+ round: {
46
+ start: "{round:",
47
+ end: "}"
48
+ },
49
+ timestamp: {
50
+ start: "{time.",
51
+ end: "}",
52
+ lc: "{time.lc",
53
+ ts: "{time.ts"
54
+ },
55
+ status: {
56
+ start: "{status:",
57
+ end: "}",
58
+ oldWithId: "'id':"
59
+ },
60
+ set: {
61
+ start: "{set:",
62
+ end: "}"
63
+ },
64
+ json: {
65
+ start: "{json",
66
+ end: "}",
67
+ textTable: "TextTable"
68
+ },
69
+ binding: {
70
+ start: "binding:{",
71
+ end: "}",
72
+ splitChar: ";"
73
+ },
74
+ functionSelektor: "functions=",
75
+ modifiedValue: "{value}",
76
+ dynamicValue: {
77
+ start: "{id:",
78
+ end: "}"
79
+ },
80
+ setDynamicValue: "{setDynamicValue"
81
+ };
82
+ const arrayOfEntries = [
83
+ {
84
+ objName: "echarts",
85
+ name: "echarts",
86
+ loop: "preset",
87
+ elements: [
88
+ { name: "preset" },
89
+ { name: "echartInstance" },
90
+ { name: "background" },
91
+ { name: "theme" },
92
+ { name: "filename" }
93
+ ]
94
+ },
95
+ {
96
+ objName: "loc",
97
+ name: "location",
98
+ loop: "latitude",
99
+ elements: [{ name: "latitude" }, { name: "longitude" }, { name: "parse_mode", index: 0 }]
100
+ },
101
+ {
102
+ objName: "pic",
103
+ name: "sendPic",
104
+ loop: "IDs",
105
+ elements: [{ name: "id", value: "IDs" }, { name: "fileName" }, { name: "delay", value: "picSendDelay" }]
106
+ },
107
+ {
108
+ objName: "get",
109
+ name: "getData",
110
+ loop: "IDs",
111
+ elements: [
112
+ { name: "id", value: "IDs" },
113
+ { name: "text", type: "text" },
114
+ { name: "newline", value: "newline_checkbox" },
115
+ { name: "parse_mode", index: 0 }
116
+ ]
117
+ },
118
+ {
119
+ objName: "httpRequest",
120
+ name: "httpRequest",
121
+ loop: "url",
122
+ elements: [{ name: "url" }, { name: "user" }, { name: "password" }, { name: "filename" }]
123
+ }
124
+ ];
125
+ // Annotate the CommonJS export names for ESM import in node:
126
+ 0 && (module.exports = {
127
+ arrayOfEntries,
128
+ backMenuLength,
129
+ config,
130
+ defaultLocale,
131
+ defaultTelegramInstance,
132
+ timezone
133
+ });
134
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/config/config.ts"],
4
+ "sourcesContent": ["import type { GenerateActionsArrayOfEntries } from '../types/types';\n\nexport const defaultLocale = 'de-DE';\nexport const timezone = 'Europe/Berlin';\nexport const defaultTelegramInstance = 'telegram.0';\nexport const backMenuLength = 20;\n\nexport const config = {\n time: '{time}',\n change: {\n start: 'change{',\n end: '}',\n command: 'change',\n },\n rowSplitter: '&&',\n math: {\n start: '{math:',\n end: '}',\n },\n round: {\n start: '{round:',\n end: '}',\n },\n timestamp: {\n start: '{time.',\n end: '}',\n lc: '{time.lc',\n ts: '{time.ts',\n },\n status: {\n start: '{status:',\n end: '}',\n oldWithId: \"'id':\",\n },\n set: {\n start: '{set:',\n end: '}',\n },\n json: {\n start: '{json',\n end: '}',\n textTable: 'TextTable',\n },\n binding: {\n start: 'binding:{',\n end: '}',\n splitChar: ';',\n },\n functionSelektor: 'functions=',\n modifiedValue: '{value}',\n dynamicValue: {\n start: '{id:',\n end: '}',\n },\n setDynamicValue: '{setDynamicValue',\n};\n\nexport 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', index: 0 }],\n },\n {\n objName: 'pic',\n name: 'sendPic',\n loop: 'IDs',\n elements: [{ name: 'id', value: 'IDs' }, { name: 'fileName' }, { name: 'delay', value: 'picSendDelay' }],\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', index: 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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,gBAAgB;AACtB,MAAM,WAAW;AACjB,MAAM,0BAA0B;AAChC,MAAM,iBAAiB;AAEvB,MAAM,SAAS;AAAA,EAClB,MAAM;AAAA,EACN,QAAQ;AAAA,IACJ,OAAO;AAAA,IACP,KAAK;AAAA,IACL,SAAS;AAAA,EACb;AAAA,EACA,aAAa;AAAA,EACb,MAAM;AAAA,IACF,OAAO;AAAA,IACP,KAAK;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACH,OAAO;AAAA,IACP,KAAK;AAAA,EACT;AAAA,EACA,WAAW;AAAA,IACP,OAAO;AAAA,IACP,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,IAAI;AAAA,EACR;AAAA,EACA,QAAQ;AAAA,IACJ,OAAO;AAAA,IACP,KAAK;AAAA,IACL,WAAW;AAAA,EACf;AAAA,EACA,KAAK;AAAA,IACD,OAAO;AAAA,IACP,KAAK;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACF,OAAO;AAAA,IACP,KAAK;AAAA,IACL,WAAW;AAAA,EACf;AAAA,EACA,SAAS;AAAA,IACL,OAAO;AAAA,IACP,KAAK;AAAA,IACL,WAAW;AAAA,EACf;AAAA,EACA,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,cAAc;AAAA,IACV,OAAO;AAAA,IACP,KAAK;AAAA,EACT;AAAA,EACA,iBAAiB;AACrB;AAEO,MAAM,iBAAkD;AAAA,EAC3D;AAAA,IACI,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,MACN,EAAE,MAAM,SAAS;AAAA,MACjB,EAAE,MAAM,iBAAiB;AAAA,MACzB,EAAE,MAAM,aAAa;AAAA,MACrB,EAAE,MAAM,QAAQ;AAAA,MAChB,EAAE,MAAM,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EACA;AAAA,IACI,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,CAAC,EAAE,MAAM,WAAW,GAAG,EAAE,MAAM,YAAY,GAAG,EAAE,MAAM,cAAc,OAAO,EAAE,CAAC;AAAA,EAC5F;AAAA,EACA;AAAA,IACI,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,CAAC,EAAE,MAAM,MAAM,OAAO,MAAM,GAAG,EAAE,MAAM,WAAW,GAAG,EAAE,MAAM,SAAS,OAAO,eAAe,CAAC;AAAA,EAC3G;AAAA,EACA;AAAA,IACI,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,MACN,EAAE,MAAM,MAAM,OAAO,MAAM;AAAA,MAC3B,EAAE,MAAM,QAAQ,MAAM,OAAO;AAAA,MAC7B,EAAE,MAAM,WAAW,OAAO,mBAAmB;AAAA,MAC7C,EAAE,MAAM,cAAc,OAAO,EAAE;AAAA,IACnC;AAAA,EACJ;AAAA,EACA;AAAA,IACI,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,EAAE,MAAM,OAAO,GAAG,EAAE,MAAM,WAAW,GAAG,EAAE,MAAM,WAAW,CAAC;AAAA,EAC5F;AACJ;",
6
+ "names": []
7
+ }
@@ -1,98 +1,98 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "telegram-menu",
4
- "version": "2.0.0",
4
+ "version": "2.2.3",
5
5
  "news": {
6
- "2.0.0": {
7
- "en": "Js-controller >=5.0.19 is required\nFIX: Colors in triggerOverview\nFIX: #154 #152 Import config from file\nDelete messages adjusted",
8
- "de": "Js-Controller >=5.0.19 ist erforderlich\nFIX: Farben im Trigger Überblick\nFIX: #154 #152 Import config aus Datei\nLöschen von Nachrichten angepasst",
9
- "ru": "Js-контроллер >=5.0.19 требуется\nFIX: Цвета на триггере Обзор\n#154 #152 Импорт конфигурации из файла\nИсключить сообщения",
10
- "pt": "Js-controller >=5.0.19 é necessário\nFIX: Cores no gatilho Visão geral\nFIX: #154 #152 Importar config do arquivo\nExcluir mensagens ajustadas",
11
- "nl": "Js-controller > 5.0.19 is vereist\nFIX: Kleuren in trigger Overzicht\nFIX: #154 #152 Config importeren uit bestand\nBerichten verwijderen aangepast",
12
- "fr": "Js-contrôleur >=5.0.19 est nécessaire\nFIX: Couleurs dans le déclencheur Aperçu général\nFIXE: #154 #152 Importer la configuration à partir du fichier\nSupprimer les messages ajustés",
13
- "it": "Js-controller >=5.0.19 è richiesto\nFIX: Colori in trigger Panoramica\n#154 #152 Importa la configurazione dal file\nEliminare i messaggi modificati",
14
- "es": "Se requiere Js-controller\nFIX: Colores en el gatillo Sinopsis\nFIX: #154 #152 Importar configuración del archivo\nEliminar mensajes ajustados",
15
- "pl": "Wymagany jest kontroler js- 19\nFIX: Kolory w spustu Przegląd\nFIX: # 154 # 152 Importuj plik konfiguracyjny\nUsuń poprawione wiadomości",
16
- "uk": "Js-controller >=5.0.19 потрібно\nFIX: Кольори в тригері Огляд\nFIX: #154 #152 Налаштування імпорту з файлу\nВидалити повідомлення регульовані",
17
- "zh-cn": "需要Js控制器 >=5.0.19\nFIX: 触发中的颜色 概览\nFIX: #154 #152 (英语). 从文件导入配置\n删除调整后的信件"
6
+ "2.2.3": {
7
+ "en": "FIX: #279 Backslash is in the message when using newline",
8
+ "de": "FIX: #279 Backslash ist in der Nachricht bei der Verwendung von newline",
9
+ "ru": "FIX: #279 Backslash находится в сообщении при использовании новой линии",
10
+ "pt": "FIX: #279 Backslash está na mensagem ao usar newline",
11
+ "nl": "FIX: #279 Backslash zit in het bericht bij het gebruik van nieuwe regel",
12
+ "fr": "FIX: #279 Backslash est dans le message lorsque vous utilisez newline",
13
+ "it": "FIX: #279 Backslash è nel messaggio quando si utilizza la nuova linea",
14
+ "es": "FIX: #279 Backslash está en el mensaje al usar newline",
15
+ "pl": "FIX: # 279 Backslash jest w wiadomości przy użyciu nowej linii",
16
+ "uk": "FIX: #279 Backslash знаходиться в повідомленні при використанні newline",
17
+ "zh-cn": "FIX: # 279 使用新线时反斜线在信件中"
18
18
  },
19
- "1.7.4": {
20
- "en": "FEAT: #160 Expand setDynamicValue",
21
- "de": "FEAT: #160 Expand setDynamic Wert",
22
- "ru": "#160 Expand setDynamic Стоимость",
23
- "pt": "FEAT: #160 Expand setDynamic Valor",
24
- "nl": "FEAT: #160 Vergroot setDynamic Waarde",
25
- "fr": "VIE: #160 Expand setDynamic Valeur",
26
- "it": "FEAT: #160 Expand setDynamic Valore",
27
- "es": "FEAT: #160 Expand setDynamic Valor",
28
- "pl": "FEAT: # 160 Expand setDynamic Wartość",
29
- "uk": "FEAT: #160 Комплект динаміки Ціна",
30
- "zh-cn": "FEAT: # 160 扩展设置 Dynamic 数值"
19
+ "2.2.2": {
20
+ "en": "FIX: Style and update dependencies",
21
+ "de": "FIX: Stil- und Updateabhängigkeiten",
22
+ "ru": "FIX: Стиль и зависимости от обновлений",
23
+ "pt": "FIX: Estilo e dependências de atualização",
24
+ "nl": "FIX: Stijl en update afhankelijkheden",
25
+ "fr": "FIX: Dépendances de style et de mise à jour",
26
+ "it": "FIX: Stile e dipendenze di aggiornamento",
27
+ "es": "FIX: dependencias de estilo y actualización",
28
+ "pl": "FIX: Styl i uaktualnianie zależności",
29
+ "uk": "FIX: Стиль і оновлення залежності",
30
+ "zh-cn": "FIX:样式和更新依赖性"
31
31
  },
32
- "1.7.3": {
33
- "en": "FIX: Multi-user fixed\nFIX: #159 Functions fixed",
34
- "de": "FIX: Multi-User fixiert\nFIX: #159 Funktionen fixiert",
35
- "ru": "FIX: Многопользовательская фиксированная\nFIX: #159",
36
- "pt": "FIX: Multiusuário fixo\nFIX: #159 Funções fixas",
37
- "nl": "FIX: Multi-user vast\nFIX: #159 Functies vast",
38
- "fr": "FIX: Multi-utilisateur fixe\nFIXE: #159 Fonctions fixes",
39
- "it": "FIX: Multi-utente fisso\nFIX: #159 Funzioni fisse",
40
- "es": "FIX: fijo multiusuario\nFIX: #159 Funciones fijas",
41
- "pl": "FIX: Multi- użytkownik stały\nFIX: # 159 Funkcje stałe",
42
- "uk": "FIX: Multi-user фіксований\nFIX: #159 Функції фіксовані",
43
- "zh-cn": "FIX: 多用户固定\nFIX: # 159 函数固定"
32
+ "2.2.1": {
33
+ "en": "FIX: Infinite loop on open events\nFIX: #248 Error converting time",
34
+ "de": "FIX: Unendliche Schleife auf offenen Veranstaltungen\nFIX: #248 Zeit ändern",
35
+ "ru": "FIX: Бесконечный цикл на открытых мероприятиях\nFIX: #248 Ошибка преобразования времени",
36
+ "pt": "FIX: loop infinito em eventos abertos\nFIX: #248 Tempo de conversão de erro",
37
+ "nl": "FIX: Oneindige lus op open gebeurtenissen\nFIX: #248 Fout bij het omzetten tijd",
38
+ "fr": "FIX: Boucle infinie sur les événements ouverts\nFIX: #248 Temps de conversion des erreurs",
39
+ "it": "FIX: Ciclo infinito sugli eventi aperti\nFIX: #248 Tempo di conversione di errore",
40
+ "es": "FIX: bucle infinito en eventos abiertos\nFIX: #248 Tiempo de conversión del error",
41
+ "pl": "FIX: Nieskończona pętla na otwartych zdarzeniach\nFIX: # 248 Czas konwersji błędów",
42
+ "uk": "FIX: Нескінченна петля на відкритих заходах\nFIX: #248 Час перетворення помилки",
43
+ "zh-cn": "FIX:关于公开事件的无限循环\nFIX: # 248 转换时间出错"
44
44
  },
45
- "1.7.2": {
46
- "en": "FIX: #158 Telegram-menu connection\nFIX: #155 DynSwitch",
47
- "de": "FIX: #158 Telegram-menu-Verbindung\nFIX: #155 DynSwitch",
48
- "ru": "FIX: #158\n#155 DynSwitch",
49
- "pt": "FIX: #158 Conexão telegrama-menu\nFIX: #155 DynSwitch",
50
- "nl": "FIX: #158 Telegram-menuverbinding\nFIX: #155 DynSwitch",
51
- "fr": "FIXE: #158 Connexion au télégramme-menu\nFIXE : 1 55 DynSwitch",
52
- "it": "FIX: #158 Connessione Telegram-menu\nFIX: #155 DynSwitch",
53
- "es": "FIX: #158 Telegram-menu connection\nFIX: #155 DynSwitch",
54
- "pl": "FIX: # 158 Połączenie menu telegramowego\nFIX: # 155 DynSwitch",
55
- "uk": "FIX: #158 Телеграма-меню підключення\nFIX: #155 DynSwitch",
56
- "zh-cn": "FIX: #158 Telegram-菜单连接\nFIX: #155 DynSwitch 打开"
45
+ "2.2.0": {
46
+ "en": "FEAT: #237 Navigate by nav-button-click to action\nFIX: Cannot get value false in return text\nFIX: Delete row in Actions\nFIX: HttpRequest\nFEAT: Navigation styling and selectable menus",
47
+ "de": "FEAT: #237 Navigieren Sie mit nav-button-klick auf Aktion\nFIX: Kann nicht Wert falsch im Rückgabetext erhalten\nFIX: Zeile in Aktion löschen\nFIX: HttpRequest\nFEAT: Navigations-Styling und wählbare Menüs",
48
+ "ru": "FEAT: #237 Навигай на навигай-кнопкой мыши к действию\nFIX: не может получить значение ложное в ответном тексте\nFIX: Исключить строку в действии\nFIX: HttpRequest\nFEAT: Навигационный стиль и подбираемые меню",
49
+ "pt": "FEAT: #237 Navegue por nav-button-clique para ação\nFIX: Não pode obter valor falso em texto de retorno\nFIX: Excluir linha em Ações\nFIX: HttpRequest\nFEAT: Estilo de navegação e menus selecionáveis",
50
+ "nl": "FEAT: #237 Navigeren met nav-knop-klik op actie\nFIX: kan waarde niet foutief krijgen in de terugzendingstekst\nFIX: rij in acties verwijderen\nFIX: HttpRequest\nFEAT: Navigatie styling en selecteerbare menu's",
51
+ "fr": "FEAT: #237 Naviguez par nav-bouton-cliquez vers l'action\nFIX: Impossible d'obtenir la valeur false dans le texte de retour\nFIX: Supprimer la ligne dans Actions\nDemande Http\nFEAT: Style de navigation et menus sélectionnables",
52
+ "it": "FEAT: #237 Navigare da nav-button-click all'azione\nFIX: Non può ottenere valore falso nel testo di ritorno\nFIX: Elimina la riga in Azioni\nFIX: HttpRequest\nFEAT: menu di navigazione e selezionabili",
53
+ "es": "FEAT: #237 Navigate by nav-button-click to action\nFIX: No se puede obtener valor falso en el texto de retorno\nFIX: Eliminar fila en Acciones\nFIX: HtpRequest\nFEAT: Estilismo de navegación y menús seleccionables",
54
+ "pl": "FEAT: # 237\nFIX: Nie można uzyskać wartości false w zwrotnym tekście\nFIX: Usuń wiersz w działaniach\nFIX: HttpRequest\nFEAT: Stylizacja nawigacyjna i menu do wyboru",
55
+ "uk": "FEAT: #237 Нейгат від nav-button-click до дії\nFIX: Неможливо отримати значення помилково в поверненні тексту\nFIX: Видалити ряд в дії\nFIX: HttpRequest\nFEAT: Налаштування навігації та вибіркові меню",
56
+ "zh-cn": "FEAT: # 237 导航通过导航按钮点击动作\nFIX: 无法在返回文本中获取错误值\nFIX: 删除动作中的行\nFIX: Http 请求\nFEAT:导航样式和可选菜单"
57
57
  },
58
- "1.7.1": {
59
- "en": "Fix: Delete Messages\nFix: Add new row in action\nFix: Error setState \"value.includes is not a function\"\n#144 Add new feature in setState: Now it is possible to set a static Value with a dynamic Value from id",
60
- "de": "Fix: Nachrichten löschen\nFix: Neue Zeile in Aktion hinzufügen\nFix: Fehler setState \"Wert. enthält keine Funktion\"\n#44 Neue Funktion in setState hinzufügen: Jetzt ist es möglich, einen statischen Wert mit einem dynamischen Wert von id einzustellen",
61
- "ru": "Исключить сообщения\nFix: Добавить новый ряд в действие\nFix: Ошибка устанавливает состояние \"значение. включает не функцию»\n#144 Добавить новую функцию в setState: Теперь можно установить статическое значение с динамическим значением от id",
62
- "pt": "Corrigir: Excluir mensagens\nFix: Adicionar nova linha em ação\nCorrigir: erro setState \"valor. inclui não é uma função\"\n144 Adicionar novo recurso no setState: Agora é possível definir um valor estático com um valor dinâmico do id",
63
- "nl": "Fix: Berichten verwijderen\nFix: nieuwe rij toevoegen in actie\nFix: Error setState \"waarde. bevat geen functie\"\n#144 Nieuwe functie toevoegen in setState: Nu is het mogelijk om een statische waarde in te stellen met een dynamische waarde van id",
64
- "fr": "Correction: Supprimer les messages\nCorrection : Ajouter une nouvelle ligne en action\nCorrection : erreur setState \"value. comprend n'est pas une fonction\"\n#144 Ajouter une nouvelle fonctionnalité dans setState: Maintenant, il est possible de définir une valeur statique avec une valeur dynamique à partir de l'id",
65
- "it": "Correzione: Cancella messaggi\nFix: Aggiungi una nuova riga in azione\nRisolvere: Impostazione errore \"valore. include non è una funzione\"\n#144 # Aggiungi nuova funzionalità in setState: Ora è possibile impostare un valore statico con un valore dinamico da id",
66
- "es": "Corrección: Eliminar mensajes\nFijación: Agregue nueva fila en acción\nCorrección: Juego de errores Valor estatal. incluye no es una función\"\n#144 Añadir nueva característica en setState: Ahora es posible establecer un valor estático con un valor dinámico de id",
67
- "pl": "Fix: Usuń wiadomości\nFix: Dodaj nowy wiersz w akcji\nFix: Wartość błędu setState \". zawiera nie jest funkcją\"\n# 144 Dodaj nową funkcję w setState: Teraz jest możliwe ustawienie wartości statycznej z dynamiczną wartością z id",
68
- "uk": "Виправлення: Видалити повідомлення\nВиправлення: Додати новий ряд в дії\nВиправлення: Помилка setState \"value. включає не функцію\n#144 Додати нову функцію в setState: Тепер можна встановити статичну вартість з динамічним значенням від id",
69
- "zh-cn": "修正: 删除信件\n修正: 在动作中添加新行\nFix: 错误设置状态\"值 。 包含不是一个函数\"\n144号 在设置状态中添加新特性: 现在可以从 id 中设置一个具有动态值的静态值"
58
+ "2.1.10": {
59
+ "en": "FIX: Return text for menus was not send",
60
+ "de": "FIX: Rückgabetext für Menüs wurde nicht gesendet",
61
+ "ru": "FIX: Возвращаемый текст для меню не был отправлен",
62
+ "pt": "FIX: O texto de retorno para menus não foi enviado",
63
+ "nl": "FIX: Retourtekst voor menu's is niet verstuurd",
64
+ "fr": "FIX: Retour de texte pour les menus n'a pas été envoyé",
65
+ "it": "FIX: Il testo di ritorno per i menu non è stato inviato",
66
+ "es": "FIX: El texto devuelto para los menús no fue enviado",
67
+ "pl": "FIX: Tekst zwrotny dla menu nie został wysłany",
68
+ "uk": "FIX: Повернути текст для меню не відправлено",
69
+ "zh-cn": "FIX: 菜单的返回文本没有发送"
70
70
  },
71
- "1.7.0": {
72
- "en": "Switched to typescript",
73
- "de": "Umgestellt in die Schrift",
74
- "ru": "Переключение на типscript",
75
- "pt": "Mudado para o typescript",
76
- "nl": "Overgeschakeld naar typescript",
77
- "fr": "Passé au dactylographié",
78
- "it": "Passato alla scrittura",
79
- "es": "Interruptor a tiposcript",
80
- "pl": "Przełączono na maszynopis",
81
- "uk": "Перемкнено до типу",
82
- "zh-cn": "切换到打字符"
71
+ "2.1.9": {
72
+ "en": "FIX: #224 Submenu trigger",
73
+ "de": "FIX: #224 Submenu Trigger",
74
+ "ru": "FIX: #224",
75
+ "pt": "FIX: #224 Submenu gatilho",
76
+ "nl": "FIX: #224 Submenu-starter",
77
+ "fr": "FIXE: Déclencheur du sous-menu #224",
78
+ "it": "FIX: #224 Submenu trigger",
79
+ "es": "FIX: #224 El gatillo Submenu",
80
+ "pl": "FIX: # 224 Uruchom podmenu",
81
+ "uk": "FIX: #224 Запобігання підменю",
82
+ "zh-cn": "FIX: # 224 子菜单触发器"
83
83
  },
84
- "1.6.3": {
85
- "en": "Bug in copy card fixed\n#104 HTTP Request Beta\n#111 status Value in dynamicSwitch\n#112 change value\n**_Change!!!_** menu:deleteAll removes automatic Request Ids which are older than 48h from list. The list is completely deleted once during the update\nFixed menu:number with negativ Values, see the documentation",
86
- "de": "Fehler in der Kopierkarte behoben\n#104 HTTP Frage stellen\n#111 Status Wert in dynamicSwitch\n#112 änderungswert\n**_Change!!!_** Menü:löschen Alle entfernt automatische Request Ids, die älter als 48h sind aus der Liste. Die Liste wird während des Updates vollständig gelöscht\nFixed Menu:Nummer mit Negativ Werte, siehe Dokumentation",
87
- "ru": "Цыпленок с копировальной картой\n#104 HTTP Запрос Beta\n#111 Статус Значение в DynamicSwitch\n#112 изменить значение\n**_Чанге!!!_** меню: удаления Все удаляет автоматические запросы, которые старше 48 часов из списка. Список полностью удален один раз во время обновления\nИсправленное меню: номер с негативом Ценности, см. документацию",
88
- "pt": "Bug no cartão de cópia corrigido\n#104 HTTP Pedido Beta\nstatus #111 Valor em dinâmicoSwitch\nvalor de mudança #112\n**_Change!!!_** cardápio:delete Todos remove Ids de pedido automáticos que são mais antigos do que 48h da lista. A lista é completamente excluída uma vez durante a atualização\nMenu fixo: número com negativ Valores, veja a documentação",
89
- "nl": "Bug in kopieerkaart gerepareerd\n#104 HTTP Beta aanvragen\n#111 status Waarde in dynamicSwitch\n#112 verandering waarde\n**_Wijzigen!!_** menu:verwijderen Alle verwijdert automatische Request Ids die ouder zijn dan 48 uur uit de lijst. De lijst wordt tijdens de update volledig verwijderd\nVast menu:nummer met negativ Waarden, zie de documentatie",
90
- "fr": "Bogue dans la carte de copie corrigée\n#104 HTTP Demande Beta\nÉtat 111 Valeur dans dynamicSwitch\nvaleur de variation n°112\n**_Change!!!_** menu:delete Tous suppriment automatiquement les Ids Request qui sont plus de 48h de la liste. La liste est complètement supprimée une fois lors de la mise à jour\nMenu fixe:nombre avec negativ Valeurs, voir la documentation",
91
- "it": "Bug nella scheda di copia fissa\n#104 HTTP Richiesta Beta\n#111 stato Valore in dinamicaSwitch\n#112 valore di cambiamento\n**_Change!!!_** menu: Tutti rimuove automaticamente Ids richiesta che sono più vecchi di 48h dalla lista. L'elenco viene completamente cancellato una volta durante l'aggiornamento\nMenu fisso: numero con negativ Valori, vedere la documentazione",
92
- "es": "Error en la tarjeta de copia fija\n#104 HTTP Solicitud Beta\n#111 status Valor en DynamicSwitch\n#112 cambio de valor\n**_Cambiar!!!_** menu:delete Todo elimina los Ids de Solicitud automáticos que son mayores de 48h de la lista. La lista se elimina por completo una vez durante la actualización\nMenú fijo: número con negativ Valores, ver la documentación",
93
- "pl": "Błąd w kopii karty stałe\n# 104 HTTP Wniosek Beta\n# 111 status Wartość w dynamicznym przełączniku\n# 112 zmiana wartości\nMenu: usuń Wszystkie usuwa automatyczne identyfikatory zapytania, które są starsze niż 48h z listy. Lista jest całkowicie usuwana raz podczas aktualizacji\nNaprawiono menu: numer z negativ Wartości, patrz dokumentacja",
94
- "uk": "Помилки в скопійованій картці\n#104 HTTP Замовити бета\n#111 статус Значення в динамціSwitch\n#112 значення зміни\n**************************************************************************************************************************************************************************************************************************************************************** Всі видаліть автоматичний запит Ids, які старше 48h з списку. Список повністю вилучений після оновлення\nФіксоване меню:номер з негативом Значення, див. документацію",
95
- "zh-cn": "复制卡中的错误已修复\n#104 HTTP (韩语) 请求beta\n#111状态 动态开关中的值\n#112 变化值\n菜单:删除 所有从列表中删除年龄大于48小时的自动请求ID。 在更新过程中, 名单被完全删除一次\n固定菜单:数用 Negativ 值,参见文档"
84
+ "2.1.7": {
85
+ "en": "FIX: #220 Delete button doesn´t work\nFEAT: Styling",
86
+ "de": "FIX: #220 Löschen Taste funktioniert nicht\nFEAT: Styling",
87
+ "ru": "FIX: #220 Удаление кнопки ́t работа\nFEAT: Styling",
88
+ "pt": "CORREÇÃO: #220 Apagar botão não funciona\nFEAT: Styling",
89
+ "nl": "FIX: #220 Delete button doesn śet werk\nFEAT: Styling",
90
+ "fr": "FIX: #220 Le bouton Supprimer ne fonctionne pas\nVIANDE: Styling",
91
+ "it": "FIX: #220 Pulsante Cancella non funziona\nCARAT: Styling",
92
+ "es": "FIX: #220 Borrar botón no funciona\nFEAT: Styling",
93
+ "pl": "FIX: # 220 Usuń przycisk nie działa\nFEAT: Styling",
94
+ "uk": "FIX: #220 Видалити кнопка не працює\nFEAT: Стилування",
95
+ "zh-cn": "FIX: # 220 删除按钮不起作用\n斯图林"
96
96
  }
97
97
  },
98
98
  "titleLang": {
@@ -155,7 +155,7 @@
155
155
  ],
156
156
  "globalDependencies": [
157
157
  {
158
- "admin": ">=5.0.0",
158
+ "admin": ">=7.4.10",
159
159
  "telegram": ">=1.15.0"
160
160
  }
161
161
  ],
@@ -291,7 +291,7 @@
291
291
  "users": [],
292
292
  "startsides": [],
293
293
  "tokenGrafana": "",
294
- "directory": "",
294
+ "directory": "/opt/iobroker/media",
295
295
  "userActiveCheckbox": {},
296
296
  "usersInGroup": {},
297
297
  "textNoEntry": "",
@@ -353,9 +353,7 @@ function generateActions(action, userObject) {
353
353
  }
354
354
  });
355
355
  if (item2.name && typeof item2.name === "string") {
356
- userObject[element.trigger][item2 == null ? void 0 : item2.name].push(
357
- newObj
358
- );
356
+ userObject[element.trigger][item2 == null ? void 0 : item2.name].push(newObj);
359
357
  }
360
358
  });
361
359
  });
@@ -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 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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",
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 Part,\n DataObject,\n MenuData,\n UserInGroup,\n MenusWithUsers,\n} from '../types/types';\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 string][item?.name as keyof Part].push(newObj);\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): string[] => {\n const menus: string[] = [];\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
  }
@@ -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: 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"],
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 '../types/types';\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
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
  }