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,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const utils_1 = require("../../src/lib/utils");
5
+ const testing_1 = require("@iobroker/testing");
6
+ const { adapter, database } = testing_1.utils.unit.createMocks({});
7
+ describe('Utils', () => {
8
+ const mockData = [
9
+ { name: 'Alice', chatID: '123' },
10
+ { name: 'Bob', chatID: '456' },
11
+ { name: 'Charlie', chatID: '789' },
12
+ ];
13
+ it('Should return the correct chatID, if user exist', () => {
14
+ const result = (0, utils_1.getChatID)(mockData, 'Alice');
15
+ (0, chai_1.expect)(result).to.equal('123');
16
+ });
17
+ it('Should return undefined, id no user exist', () => {
18
+ const result = (0, utils_1.getChatID)(mockData, 'David');
19
+ (0, chai_1.expect)(result).to.be.undefined;
20
+ });
21
+ it('Should return undefined, if the array is empty', () => {
22
+ const result = (0, utils_1.getChatID)([], 'Alice');
23
+ (0, chai_1.expect)(result).to.be.undefined;
24
+ });
25
+ });
26
+ describe('isDefined', () => {
27
+ it('should return true for defined values', () => {
28
+ (0, chai_1.expect)((0, utils_1.isDefined)(123)).to.be.true;
29
+ (0, chai_1.expect)((0, utils_1.isDefined)('test')).to.be.true;
30
+ (0, chai_1.expect)((0, utils_1.isDefined)(true)).to.be.true;
31
+ (0, chai_1.expect)((0, utils_1.isDefined)({})).to.be.true;
32
+ (0, chai_1.expect)((0, utils_1.isDefined)([])).to.be.true;
33
+ });
34
+ it('should return false for undefined or null values', () => {
35
+ (0, chai_1.expect)((0, utils_1.isDefined)(undefined)).to.be.false;
36
+ (0, chai_1.expect)((0, utils_1.isDefined)(null)).to.be.false;
37
+ });
38
+ });
39
+ describe('deepCopy', () => {
40
+ afterEach(() => {
41
+ adapter.resetMockHistory();
42
+ database.clear();
43
+ });
44
+ it('should create a deep copy of an object', () => {
45
+ const original = { a: 1, b: { c: 2 } };
46
+ const copy = (0, utils_1.deepCopy)(original, adapter);
47
+ (0, chai_1.expect)(copy).to.deep.equal(original);
48
+ (0, chai_1.expect)(copy).to.not.equal(original); // Ensure it's not the same reference
49
+ });
50
+ it('should return undefined for undefined or null input', () => {
51
+ (0, chai_1.expect)((0, utils_1.deepCopy)(undefined, adapter)).to.be.undefined;
52
+ (0, chai_1.expect)((0, utils_1.deepCopy)(null, adapter)).to.be.undefined;
53
+ });
54
+ it('should handle arrays correctly', () => {
55
+ const original = [1, 2, { a: 3 }];
56
+ const copy = (0, utils_1.deepCopy)(original, adapter);
57
+ (0, chai_1.expect)(copy).to.deep.equal(original);
58
+ (0, chai_1.expect)(copy).to.not.equal(original); // Ensure it's not the same reference
59
+ });
60
+ it('should return undefined for circular references', () => {
61
+ const circular = {};
62
+ circular.self = circular;
63
+ const copy = (0, utils_1.deepCopy)(circular, adapter);
64
+ (0, chai_1.expect)(copy).to.be.undefined; // JSON.stringify throws an error for circular references
65
+ });
66
+ });
67
+ describe('checkDirectoryIsOk', () => {
68
+ it('should return false and log an error if the directory is undefined', () => {
69
+ const result = (0, utils_1.validateDirectory)(adapter, undefined);
70
+ (0, chai_1.expect)(result).to.be.false;
71
+ (0, chai_1.expect)(adapter.log.error.called).to.be.true;
72
+ (0, chai_1.expect)(adapter.log.error.firstCall.args[0]).to.equal('No directory to save the picture. Please add a directory in the settings with full read and write permissions.');
73
+ });
74
+ it('should return false and log an error if the directory is an empty string', () => {
75
+ const result = (0, utils_1.validateDirectory)(adapter, '');
76
+ (0, chai_1.expect)(result).to.be.false;
77
+ });
78
+ it('should return true if the directory is valid', () => {
79
+ const result = (0, utils_1.validateDirectory)(adapter, '/valid/directory');
80
+ (0, chai_1.expect)(result).to.be.true;
81
+ });
82
+ });
83
+ describe('isTruthy', () => {
84
+ it('should return true for truthy values', () => {
85
+ (0, chai_1.expect)((0, utils_1.isTruthy)(1)).to.be.true;
86
+ (0, chai_1.expect)((0, utils_1.isTruthy)('1')).to.be.true;
87
+ (0, chai_1.expect)((0, utils_1.isTruthy)(true)).to.be.true;
88
+ (0, chai_1.expect)((0, utils_1.isTruthy)('true')).to.be.true;
89
+ });
90
+ it('should return false for falsy values', () => {
91
+ (0, chai_1.expect)((0, utils_1.isTruthy)(0)).to.be.false;
92
+ (0, chai_1.expect)((0, utils_1.isTruthy)('0')).to.be.false;
93
+ (0, chai_1.expect)((0, utils_1.isTruthy)(false)).to.be.false;
94
+ (0, chai_1.expect)((0, utils_1.isTruthy)('false')).to.be.false;
95
+ (0, chai_1.expect)((0, utils_1.isTruthy)(undefined)).to.be.false;
96
+ (0, chai_1.expect)((0, utils_1.isTruthy)(null)).to.be.false;
97
+ });
98
+ });
99
+ describe('isFalsy', () => {
100
+ it('should return true for falsy values', () => {
101
+ (0, chai_1.expect)((0, utils_1.isFalsy)(0)).to.be.true;
102
+ (0, chai_1.expect)((0, utils_1.isFalsy)('0')).to.be.true;
103
+ (0, chai_1.expect)((0, utils_1.isFalsy)(false)).to.be.true;
104
+ (0, chai_1.expect)((0, utils_1.isFalsy)('false')).to.be.true;
105
+ (0, chai_1.expect)((0, utils_1.isFalsy)(undefined)).to.be.true;
106
+ (0, chai_1.expect)((0, utils_1.isFalsy)(null)).to.be.true;
107
+ });
108
+ it('should return false for truthy values', () => {
109
+ (0, chai_1.expect)((0, utils_1.isFalsy)(1)).to.be.false;
110
+ (0, chai_1.expect)((0, utils_1.isFalsy)('1')).to.be.false;
111
+ (0, chai_1.expect)((0, utils_1.isFalsy)(true)).to.be.false;
112
+ (0, chai_1.expect)((0, utils_1.isFalsy)('true')).to.be.false;
113
+ });
114
+ });
115
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../test/test/utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,17 @@
1
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
2
17
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
3
+ "sources": ["../../src/types/types.ts"],
4
+ "sourcesContent": ["import type { MockAdapter } from '@iobroker/testing';\nimport type TelegramMenu from '../main';\n\nexport type ListOfMenus = string[];\n\nexport type IsUserActiveCheckbox = Record<string, boolean>;\nexport type MenusWithUsers = Record<string, string[]>;\n\nexport type Action = Record<string, Actions>;\n\nexport type Navigation = string[][];\n\nexport type ActionTypes = Get | Set | Pic | HttpRequest | Echart | Events;\n\nexport interface UserListWithChatId {\n chatID: string;\n name: string;\n}\n\nexport interface Checkboxes {\n oneTiKey: boolean;\n resKey: boolean;\n checkboxNoValueFound: boolean;\n sendMenuAfterRestart: boolean;\n}\n\nexport interface Actions {\n get: Get[];\n set: Set[];\n pic: Pic[];\n httpRequest: HttpRequest[];\n echarts: Echart[];\n events: Events[];\n}\n\nexport interface HttpRequest {\n url: string;\n user: string;\n password: string;\n filename: string;\n trigger: string;\n delay: string;\n}\n\nexport interface Set {\n ack: BooleanString[];\n confirm: BooleanString[];\n parse_mode: boolean[];\n switch_checkbox: BooleanString[];\n IDs: string[];\n returnText: string[];\n trigger: string[];\n values: string[];\n}\n\nexport interface Get {\n newline_checkbox: BooleanString[];\n parse_mode: boolean[];\n IDs: string[];\n text: string[];\n trigger: string[];\n}\n\nexport interface Events {\n ack: BooleanString[];\n ID: string[];\n menu: string[];\n condition: string[];\n trigger: string[];\n}\n\nexport interface Pic {\n IDs: string[];\n filename: string[];\n trigger: string[];\n picSendDelay: string[];\n}\n\nexport interface Echart {\n background: string[];\n echartsInstance: string[];\n filename: string;\n preset: string;\n theme: string[];\n trigger: string[];\n}\n\nexport type StartSides = Record<string, string>;\n\nexport type NewObjectStructure = Record<string, Part>;\n\nexport type UsersInGroup = { [key: string]: string[] };\n\nexport type MenuData = Record<string, NewObjectStructure>;\n\nexport interface DataObject {\n action: Record<string, Actions | undefined>;\n nav: Record<string, NavigationRow[]>;\n}\n\nexport interface UserObjectActions {\n [key: string]: {\n nav?: string[][];\n parse_mode?: boolean;\n text?: string;\n switch?: Switch[];\n echarts?: { background: string; echartsInstance: string; filename: string; preset: string; theme: string }[];\n };\n}\n\nexport interface Part {\n text?: string;\n nav?: Navigation;\n parse_mode?: boolean;\n getData?: GetData[];\n switch?: Switch[];\n sendPic?: SendPic[];\n location?: Location[];\n echarts?: Echart[];\n httpRequest?: HttpRequest[];\n url?: string;\n user?: string;\n password?: string;\n filename?: string;\n}\n\nexport interface SendPic {\n delay: number;\n id: string;\n fileName: string;\n}\n\nexport interface GetData {\n id: string;\n text: string;\n parse_mode: boolean;\n newline: BooleanString;\n}\n\nexport type BooleanString = 'false' | 'true';\nexport type ParseModeType = 'HTML' | 'Markdown';\n\nexport interface Location {\n latitude: string;\n longitude: string;\n}\n\nexport interface SetDynamicValueObj {\n [key: string]: SetDynamicValue;\n}\n\nexport interface SetDynamicValue {\n id: string;\n ack: boolean;\n returnText: string;\n userToSend: string;\n parse_mode: boolean;\n confirm: string;\n telegramParams: TelegramParams;\n valueType: string;\n}\n\nexport type Newline = BooleanString;\n\nexport interface BindingObject {\n values: Record<string, string>;\n}\n\nexport interface NavigationRow {\n value: string;\n call: string;\n text: string;\n parse_mode: string;\n}\n\nexport interface splittedNavigation {\n nav: string[][];\n call: string;\n text: string;\n parse_mode: boolean;\n}\n\nexport interface Switch {\n id: string;\n value: string;\n toggle: boolean;\n confirm: BooleanString;\n returnText: string;\n parse_mode: boolean;\n ack: boolean;\n}\n\nexport interface GenerateActionsArrayOfEntries {\n objName: string;\n name: string;\n loop: string;\n elements: GenerateActionsArrayOfElements[];\n}\n\nexport interface GenerateActionsArrayOfElements {\n name: string;\n value?: string;\n index?: number;\n type?: string;\n}\n\nexport interface GenerateActionsNewObject {\n preset?: string;\n echartsInstance?: string;\n background?: string;\n theme?: string;\n url?: string;\n user?: string;\n password?: string;\n id?: string;\n filename?: string;\n delay?: string;\n text?: string;\n newline?: string;\n parse_mode?: boolean;\n}\n\nexport type SplittedData = string[];\n\nexport interface SetStateIds {\n id: string;\n confirm: BooleanString | boolean;\n returnText: string;\n userToSend: string;\n parse_mode?: boolean;\n}\n\nexport type GroupWithUser = string;\n\nexport interface Message {\n time: number;\n}\n\nexport type WhatShouldDelete = 'all' | 'last';\n\nexport type Keyboard = { inline_keyboard: KeyboardItems[][] } | string[][] | undefined;\n\nexport interface KeyboardItems {\n text: string;\n callback_data: string;\n}\n\nexport type LastText = Record<string, string>;\n\nexport type ValArray = Record<string, string>;\n\nexport interface KeyboardItem {\n text: string;\n callback_data: string;\n}\n\nexport type BackMenu = Record<string, BackMenuList | undefined>;\n\ntype BackMenuList = { list: string[]; last: string };\n\nexport interface CheckEveryMenuForDataType {\n menuData: MenuData; // checked !!!!\n calledValue: string;\n menus: string[];\n isUserActiveCheckbox: IsUserActiveCheckbox;\n token: string;\n directoryPicture: string;\n timeoutKey: string;\n userToSend: string;\n telegramParams: TelegramParams;\n}\n\nexport interface ProcessDataType {\n menuData: MenuData;\n calledValue: string;\n groupWithUser: GroupWithUser;\n allMenusWithData: MenuData;\n menus: string[];\n isUserActiveCheckbox: IsUserActiveCheckbox;\n token: string;\n directoryPicture: string;\n timeoutKey: string;\n groupData: NewObjectStructure;\n userToSend: string;\n telegramParams: TelegramParams;\n}\n\nexport interface BackMenuType {\n allMenusWithData: MenuData;\n menus: string[];\n userToSend: string;\n telegramParams: TelegramParams;\n}\n\nexport type AllMenusWithData = Record<string, NewObjectStructure>;\n\nexport interface TelegramParams {\n telegramInstance: string;\n resize_keyboard: boolean;\n one_time_keyboard: boolean;\n userListWithChatID: UserListWithChatId[];\n}\n\nexport interface SetFirstMenuValue {\n part: Part;\n userToSend: string;\n telegramParams: TelegramParams;\n}\n\nexport interface SetSecondMenuValue {\n part: Part;\n userToSend: string;\n telegramParams: TelegramParams;\n}\n\nexport interface CreateMenu {\n cbData: string;\n menuToHandle: string;\n text?: string;\n}\n\nexport interface ExchangeValueReturn {\n newValue: string | number | boolean;\n textToSend: string;\n error: boolean;\n}\n\nexport type PrimitiveType = string | number | boolean;\n\nexport type Adapter = MockAdapter | TelegramMenu;\n\nexport interface Timeouts {\n key: string;\n timeout: ioBroker.Timeout;\n}\n\nexport interface StringReplacerObj {\n val: string;\n newValue: string;\n}\n\nexport interface DecomposeTextReturnType {\n startindex: number;\n endindex: number;\n substring: string;\n textExcludeSubstring: string;\n substringExcludeSearch: string;\n}\n\nexport interface EvaluateReturnType {\n val: any;\n error: boolean;\n}\n\nexport interface Telegram {\n textToSend?: string;\n keyboard?: Keyboard;\n parse_mode?: boolean;\n userToSend: string;\n telegramParams: TelegramParams;\n}\n\nexport interface ExtractTimeValues {\n milliseconds: number;\n seconds: number;\n minutes: number;\n hours: number;\n day: number;\n month: number;\n year: number;\n}\n\nexport interface GetTimeWithPad {\n ms: string;\n s: string;\n m: string;\n h: string;\n d: string;\n mo: string;\n y: string;\n}\n\nexport type Messages = Record<string, MessageInfos[]>;\n\nexport interface MessageInfos {\n id: ioBroker.StateValue;\n time?: number;\n request?: ioBroker.StateValue | null | undefined;\n}\n\nexport interface CallSubMenu {\n jsonStringNav: string;\n userToSend: string;\n telegramParams: TelegramParams;\n part: Part;\n allMenusWithData: AllMenusWithData;\n menus: string[];\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "telegram-menu",
4
- "version": "2.2.4",
4
+ "version": "2.3.0",
5
5
  "news": {
6
+ "2.3.0": {
7
+ "en": "FIX: #303 GetState output in incorrect order\nFIX: #296 Frontend fixes\nFIX: #295 Delete button not working\nFIX: #291 Menu button not working\nFEAT: Nodejs >= 20.0.0\nFEAT: Add sentry\nFEAT: Add mocha tests",
8
+ "de": "FIX: #303 GetState Ausgabe in falscher Reihenfolge\nFIX: #296 Frontend Fixes\nFIX: #295 Löschen Taste nicht funktioniert\nFIX: #291 Menü-Taste nicht funktionieren\nFEAT: Nodejs >= 20.0.0\nFEAT: Verschicken hinzufügen\nFEAT: Mocha-Tests hinzufügen",
9
+ "ru": "FIX: #303 Получить выход в неправильном порядке\nFIX: #296 Фронтальные исправления\nFIX: #295 Удаление кнопки не работает\nFix: #291 Кнопка меню не работает\nFEAT: Nodejs >= 20.0.0\nИсполнитель: Add sentry\nОригинальное название: Add Mocha Tests",
10
+ "pt": "FIX: #303 GetState output em ordem incorreta\nFIX: #296 Correções de Frontend\nFIX: #295 Excluir botão não funciona\nFIX: #291 Botão de menu não funciona\nFEAT: Nodejs >= 20.0.0\nFEAT: Adicionar sentinela\nFEAT: Adicionar testes de mocha",
11
+ "nl": "FIX: #303 GetState output in onjuiste volgorde\nFIX: #296 Frontend fixes\nFIX: #295 Verwijder knop werkt niet\nFIX: #291 Menuknop werkt niet\nFEAT: Nodejs <= 20.0\nFEAT: Bewaker toevoegen\nFEAT: Mokka testen toevoegen",
12
+ "fr": "FIX: #303 Sortie GetState dans un ordre incorrect\nFIXE: #296 Corrections de la façade\nFIX: #295 Supprimer bouton ne fonctionne pas\nFIXE: 291 bouton de menu ne fonctionne pas\nVIANDE: Nodejs >= 20.0.0\nVIANDE: Ajouter sentinelle\nVIANDE: Ajouter les tests de moka",
13
+ "it": "FIX: #303 GetState output in ordine errato\nFIX: #296 Anteriori\nFIX: #295 Eliminare pulsante non funziona\nFIX: #291 Menu pulsante non funziona\nATTENZIONE: Nodejs >= 20.0.0\nFEAT: Aggiungere la sentinella\nFEAT: Aggiungere prove di mocha",
14
+ "es": "FIX: #303 Obtener la salida del estado en el orden incorrecto\nFIX: #296 Correciones de Frontend\nFIX: #295 Eliminar botón no funciona\nFIX: #291 Botón de menú que no funciona\nFEAT: Nodejs\nFEAT: Add sentry\nFEAT: Añadir pruebas de mocha",
15
+ "pl": "FIX: # 303 Wyjście GetState w niewłaściwej kolejności\nFIX: # 296\nFIX: # 295 Usuń niedziałający przycisk\nFIX: # 291 Przycisk menu nie działa\nFEAT: Nodeje > = 20.0.0\nFEAT: Dodaj wartownik\nFEAT: Dodaj testy mocha",
16
+ "uk": "FIX: #303 Отримувати вихід в некоректному порядку\nFIX: #296 Передня фіксація\nFIX: #295 Видалити кнопка не працює\nFIX: #291 Меню не працює\nFEAT: Nodejs >= 20.0.0\nFEAT: Додати відправлення\nFEAT: Додати тести",
17
+ "zh-cn": "FIX: # 303 GetState 输出顺序不正确\nFIX: # 296 前端修正\nFIX: # 295 删除不起作用的按钮\nFIX: #291 (英语). 菜单按钮不工作\nFEAT: 节点 >= 20.0.0\nFEAT: 添加哨兵\nFEAT: 添加摩卡测试"
18
+ },
6
19
  "2.2.4": {
7
20
  "en": "FIX: #279 Backslash is in the message when using newline",
8
21
  "de": "FIX: #279 Backslash ist in der Nachricht bei der Verwendung von newline",
@@ -80,19 +93,6 @@
80
93
  "pl": "FIX: Tekst zwrotny dla menu nie został wysłany",
81
94
  "uk": "FIX: Повернути текст для меню не відправлено",
82
95
  "zh-cn": "FIX: 菜单的返回文本没有发送"
83
- },
84
- "2.1.9": {
85
- "en": "FIX: #224 Submenu trigger",
86
- "de": "FIX: #224 Submenu Trigger",
87
- "ru": "FIX: #224",
88
- "pt": "FIX: #224 Submenu gatilho",
89
- "nl": "FIX: #224 Submenu-starter",
90
- "fr": "FIXE: Déclencheur du sous-menu #224",
91
- "it": "FIX: #224 Submenu trigger",
92
- "es": "FIX: #224 El gatillo Submenu",
93
- "pl": "FIX: # 224 Uruchom podmenu",
94
- "uk": "FIX: #224 Запобігання підменю",
95
- "zh-cn": "FIX: # 224 子菜单触发器"
96
96
  }
97
97
  },
98
98
  "titleLang": {
@@ -148,6 +148,11 @@
148
148
  "adminUI": {
149
149
  "config": "materialize"
150
150
  },
151
+ "plugins": {
152
+ "sentry": {
153
+ "dsn": "https://b2043fdf62d0f5cb4c8c7f2a840e1798@o4508003658498048.ingest.de.sentry.io/4509218932916304"
154
+ }
155
+ },
151
156
  "dependencies": [
152
157
  {
153
158
  "js-controller": ">=5.0.19"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.telegram-menu",
3
- "version": "2.2.4",
3
+ "version": "2.3.0",
4
4
  "description": "Easily create Telegram Menus",
5
5
  "author": {
6
6
  "name": "MiRo1310",
@@ -18,31 +18,34 @@
18
18
  "url": "https://github.com/MiRo1310/ioBroker.telegram-menu.git"
19
19
  },
20
20
  "engines": {
21
- "node": ">= 18"
21
+ "node": ">= 20"
22
22
  },
23
23
  "dependencies": {
24
24
  "@iobroker/adapter-core": "^3.2.3",
25
- "axios": "^1.8.4"
25
+ "axios": "^1.9.0",
26
+ "nyc": "^17.1.0"
26
27
  },
27
28
  "devDependencies": {
28
29
  "@alcalzone/release-script": "^3.8.0",
29
30
  "@alcalzone/release-script-plugin-iobroker": "^3.7.2",
30
31
  "@alcalzone/release-script-plugin-license": "^3.7.0",
31
32
  "@alcalzone/release-script-plugin-manual-review": "^3.7.0",
32
- "@iobroker/adapter-dev": "^1.3.0",
33
+ "@iobroker/adapter-dev": "^1.4.0",
33
34
  "@iobroker/eslint-config": "^2.0.1",
34
35
  "@iobroker/testing": "^5.0.4",
35
36
  "@tsconfig/node20": "^20.1.5",
36
37
  "@types/chai": "^4.3.14",
38
+ "@types/chai-as-promised": "^7.1.8",
37
39
  "@types/mocha": "^10.0.10",
38
- "@types/node": "^22.13.17",
40
+ "@types/node": "^22.15.3",
41
+ "@types/sinon-chai": "^3.2.12",
39
42
  "chai": "^4.5.0",
40
43
  "chai-as-promised": "^7.1.1",
41
- "mocha": "^11.0.1",
44
+ "mocha": "^11.2.2",
45
+ "rimraf": "^6.0.1",
42
46
  "sinon": "^19.0.4",
43
47
  "sinon-chai": "^3.7.0",
44
- "typescript": "~5.8.2",
45
- "rimraf": "^3.0.2"
48
+ "typescript": "~5.8.3"
46
49
  },
47
50
  "main": "build/main.js",
48
51
  "files": [
@@ -66,8 +69,9 @@
66
69
  "test:js": "mocha --config test/mocharc.custom.json \"{!(node_modules|test)/**/*.test.js,*.test.js,test/**/test!(PackageFiles|Startup).js}\"",
67
70
  "test:package": "mocha test/package --exit",
68
71
  "test:integration": "mocha test/integration --exit",
69
- "test": "npm run test:js && npm run test:package",
70
- "check": "tsc --noEmit -p tsconfig.check.json",
72
+ "test": "npm run test:ts && npm run test:package",
73
+ "test:ts": "tsc --project tsconfig.build.json && npm run test:js",
74
+ "test:cov": "nyc --reporter=html npm run test:ts",
71
75
  "lint": "eslint -c eslint.config.mjs . && eslint -c admin/eslint.config.mjs admin/src/",
72
76
  "lint:fix": "eslint -c eslint.config.mjs . --fix && eslint -c admin/eslint.config.mjs admin/src/ --fix",
73
77
  "lint:backend": "eslint -c eslint.config.mjs .",
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * This is a dummy TypeScript test file using chai and mocha
5
- *
6
- * It's automatically excluded from npm and its build output is excluded from both git and npm.
7
- * It is advised to test all your modules with accompanying *.test.js-files
8
- */
9
- // tslint:disable:no-unused-expression
10
- const { expect } = require("chai");
11
- // import { functionToTest } from "./moduleToTest";
12
- describe("module to test => function to test", () => {
13
- // initializing logic
14
- const expected = 5;
15
- it(`should return ${expected}`, () => {
16
- const result = 5;
17
- // assign result a value from functionToTest
18
- expect(result).to.equal(expected);
19
- // or using the should() syntax
20
- result.should.equal(expected);
21
- });
22
- // ... more tests => it
23
- });
24
- //# sourceMappingURL=main.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.test.js","sourceRoot":"","sources":["../../src/main.test.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;GAKG;AAEH,sCAAsC;AAEtC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACnC,mDAAmD;AAEnD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IACnD,qBAAqB;IACrB,MAAM,QAAQ,GAAG,CAAC,CAAC;IAEnB,EAAE,CAAC,iBAAiB,QAAQ,EAAE,EAAE,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,4CAA4C;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,+BAA+B;QAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,uBAAuB;AACxB,CAAC,CAAC,CAAC"}